Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text:0000000140001C10 sub_140001C10 proc near ; CODE XREF: wWinMain+96↓p
- .text:0000000140001C10 ; DATA XREF: .pdata:0000000140016108↓o
- .text:0000000140001C10
- .text:0000000140001C10 var_1A0 = qword ptr -1A0h
- .text:0000000140001C10 var_198 = qword ptr -198h
- .text:0000000140001C10 nSize = dword ptr -190h
- .text:0000000140001C10 var_188 = qword ptr -188h
- .text:0000000140001C10 lpMem = qword ptr -180h
- .text:0000000140001C10 var_178 = qword ptr -178h
- .text:0000000140001C10 var_170 = qword ptr -170h
- .text:0000000140001C10 Format = byte ptr -168h
- .text:0000000140001C10 var_160 = qword ptr -160h
- .text:0000000140001C10 var_158 = word ptr -158h
- .text:0000000140001C10 Buffer = byte ptr -150h
- .text:0000000140001C10 var_14F = byte ptr -14Fh
- .text:0000000140001C10 var_40 = qword ptr -40h
- .text:0000000140001C10 arg_18 = qword ptr 28h
- .text:0000000140001C10
- .text:0000000140001C10 ; __unwind { // __GSHandlerCheck
- .text:0000000140001C10 mov [rsp-8+arg_18], rbx
- .text:0000000140001C15 push rbp
- .text:0000000140001C16 push rsi
- .text:0000000140001C17 push rdi
- .text:0000000140001C18 push r12
- .text:0000000140001C1A push r13
- .text:0000000140001C1C push r14
- .text:0000000140001C1E push r15
- .text:0000000140001C20 lea rbp, [rsp-90h]
- .text:0000000140001C28 sub rsp, 190h
- .text:0000000140001C2F mov rax, cs:qword_140012008
- .text:0000000140001C36 xor rax, rsp
- .text:0000000140001C39 mov [rbp+0C0h+var_40], rax
- .text:0000000140001C40 xor esi, esi
- .text:0000000140001C42 mov r12, rcx
- .text:0000000140001C45 mov [rsp+1C0h+var_178], r8
- .text:0000000140001C4A mov [rsp+1C0h+var_170], rdx
- .text:0000000140001C4F mov ebx, esi
- .text:0000000140001C51 lea rcx, [rsp+1C0h+var_14F] ; void *
- .text:0000000140001C56 xor edx, edx ; Val
- .text:0000000140001C58 mov r8d, 103h ; Size
- .text:0000000140001C5E mov [rsp+1C0h+lpMem], rsi
- .text:0000000140001C63 mov [rsp+1C0h+var_188], rbx
- .text:0000000140001C68 mov [rsp+1C0h+Buffer], bl
- .text:0000000140001C6C mov r13d, esi
- .text:0000000140001C6F mov r15d, esi
- .text:0000000140001C72 call memset
- .text:0000000140001C77 mov rax, cs:qword_14000FE60
- .text:0000000140001C7E mov qword ptr [rsp+1C0h+Format], rax
- .text:0000000140001C83 mov rax, cs:qword_14000FE68
- .text:0000000140001C8A lea rcx, [rsp+1C0h+lpMem]
- .text:0000000140001C8F mov [rsp+1C0h+var_160], rax
- .text:0000000140001C94 movzx eax, cs:word_14000FE70
- .text:0000000140001C9B mov [rsp+1C0h+nSize], esi
- .text:0000000140001C9F mov [rsp+1C0h+var_158], ax
- .text:0000000140001CA4 call sub_140003300
- .text:0000000140001CA9 mov r14, [rsp+1C0h+lpMem]
- .text:0000000140001CAE mov edi, eax
- .text:0000000140001CB0 test eax, eax
- .text:0000000140001CB2 js loc_140001F15
- .text:0000000140001CB8 or rcx, 0FFFFFFFFFFFFFFFFh
- .text:0000000140001CBC xor eax, eax
- .text:0000000140001CBE mov rdi, r14
- .text:0000000140001CC1 repne scasb
- .text:0000000140001CC3 mov edx, esi
- .text:0000000140001CC5 not rcx
- .text:0000000140001CC8 dec rcx
- .text:0000000140001CCB mov rbx, rcx
- .text:0000000140001CCE mov [rsp+1C0h+nSize], ecx
- .text:0000000140001CD2 test ecx, ecx
- .text:0000000140001CD4 jz short loc_140001CF9
- .text:0000000140001CD6 mov rcx, r14
- .text:0000000140001CD9 nop dword ptr [rax+00000000h]
- .text:0000000140001CE0
- .text:0000000140001CE0 loc_140001CE0: ; CODE XREF: sub_140001C10+E7↓j
- .text:0000000140001CE0 movzx eax, byte ptr [r12+514h]
- .text:0000000140001CE9 inc edx
- .text:0000000140001CEB inc rcx
- .text:0000000140001CEE xor [rcx-1], al
- .text:0000000140001CF1 mov ebx, [rsp+1C0h+nSize]
- .text:0000000140001CF5 cmp edx, ebx
- .text:0000000140001CF7 jb short loc_140001CE0
- .text:0000000140001CF9
- .text:0000000140001CF9 loc_140001CF9: ; CODE XREF: sub_140001C10+C4↑j
- .text:0000000140001CF9 lea edi, [rbx+rbx+1]
- .text:0000000140001CFD call cs:GetProcessHeap
- .text:0000000140001D03 mov r8d, edi ; dwBytes
- .text:0000000140001D06 mov rcx, rax ; hHeap
- .text:0000000140001D09 mov edx, 8 ; dwFlags
- .text:0000000140001D0E call cs:HeapAlloc
- .text:0000000140001D14 mov r13, rax
- .text:0000000140001D17 test ebx, ebx
- .text:0000000140001D19 jz short loc_140001D4F
- .text:0000000140001D1B mov rdi, r14
- .text:0000000140001D1E mov rsi, rax
- .text:0000000140001D21 mov ebx, ebx
- .text:0000000140001D23 db 66h, 66h, 66h, 66h
- .text:0000000140001D23 nop word ptr [rax+rax+00000000h]
- .text:0000000140001D30
- .text:0000000140001D30 loc_140001D30: ; CODE XREF: sub_140001C10+13D↓j
- .text:0000000140001D30 movsx r8d, byte ptr [rdi]
- .text:0000000140001D34 lea rdx, a02x ; "%02x"
- .text:0000000140001D3B mov rcx, rsi ; Buffer
- .text:0000000140001D3E call sprintf
- .text:0000000140001D43 add rsi, 2
- .text:0000000140001D47 inc rdi
- .text:0000000140001D4A dec rbx
- .text:0000000140001D4D jnz short loc_140001D30
- .text:0000000140001D4F
- .text:0000000140001D4F loc_140001D4F: ; CODE XREF: sub_140001C10+109↑j
- .text:0000000140001D4F lea rcx, [rsp+1C0h+var_188]
- .text:0000000140001D54 call sub_140001770
- .text:0000000140001D59 mov edi, eax
- .text:0000000140001D5B test eax, eax
- .text:0000000140001D5D js loc_140001F10
- .text:0000000140001D63 lea rdx, [rsp+1C0h+nSize] ; nSize
- .text:0000000140001D68 lea rcx, [rsp+1C0h+Buffer] ; lpBuffer
- .text:0000000140001D6D mov [rsp+1C0h+nSize], 104h
- .text:0000000140001D75 call cs:GetComputerNameA
- .text:0000000140001D7B test eax, eax
- .text:0000000140001D7D jnz short loc_140001DA2
- .text:0000000140001D7F call cs:GetLastError
- .text:0000000140001D85 mov rbx, [rsp+1C0h+var_188]
- .text:0000000140001D8A mov edi, eax
- .text:0000000140001D8C test eax, eax
- .text:0000000140001D8E jle loc_140001F15
- .text:0000000140001D94 movzx edi, ax
- .text:0000000140001D97 or edi, 80070000h
- .text:0000000140001D9D jmp loc_140001F15
- .text:0000000140001DA2 ; ---------------------------------------------------------------------------
- .text:0000000140001DA2
- .text:0000000140001DA2 loc_140001DA2: ; CODE XREF: sub_140001C10+16D↑j
- .text:0000000140001DA2 mov rbx, [rsp+1C0h+var_188]
- .text:0000000140001DA7 or rcx, 0FFFFFFFFFFFFFFFFh
- .text:0000000140001DAB xor eax, eax
- .text:0000000140001DAD mov rdi, r12
- .text:0000000140001DB0 repne scasb
- .text:0000000140001DB2 mov rdi, r13
- .text:0000000140001DB5 not rcx
- .text:0000000140001DB8 lea rdx, [rcx-1]
- .text:0000000140001DBC or rcx, 0FFFFFFFFFFFFFFFFh
- .text:0000000140001DC0 repne scasb
- .text:0000000140001DC2 mov rdi, rbx
- .text:0000000140001DC5 not rcx
- .text:0000000140001DC8 dec rcx
- .text:0000000140001DCB add edx, ecx
- .text:0000000140001DCD or rcx, 0FFFFFFFFFFFFFFFFh
- .text:0000000140001DD1 repne scasb
- .text:0000000140001DD3 lea rdi, [rsp+1C0h+Format]
- .text:0000000140001DD8 not rcx
- .text:0000000140001DDB dec rcx
- .text:0000000140001DDE add edx, ecx
- .text:0000000140001DE0 or rcx, 0FFFFFFFFFFFFFFFFh
- .text:0000000140001DE4 repne scasb
- .text:0000000140001DE6 lea rdi, [rsp+1C0h+Buffer]
- .text:0000000140001DEB not rcx
- .text:0000000140001DEE dec rcx
- .text:0000000140001DF1 add edx, ecx
- .text:0000000140001DF3 or rcx, 0FFFFFFFFFFFFFFFFh
- .text:0000000140001DF7 repne scasb
- .text:0000000140001DF9 not rcx
- .text:0000000140001DFC lea rdi, [rcx-1]
- .text:0000000140001E00 add edi, edx
- .text:0000000140001E02 call cs:GetProcessHeap
- .text:0000000140001E08 mov r8d, edi ; dwBytes
- .text:0000000140001E0B mov rcx, rax ; hHeap
- .text:0000000140001E0E mov edx, 8 ; dwFlags
- .text:0000000140001E13 call cs:HeapAlloc
- .text:0000000140001E19 mov r15, rax
- .text:0000000140001E1C test rax, rax
- .text:0000000140001E1F jnz short loc_140001E2B
- .text:0000000140001E21 mov edi, 8007000Eh
- .text:0000000140001E26 jmp loc_140001F15
- .text:0000000140001E2B ; ---------------------------------------------------------------------------
- .text:0000000140001E2B
- .text:0000000140001E2B loc_140001E2B: ; CODE XREF: sub_140001C10+20F↑j
- .text:0000000140001E2B lea rax, [rsp+1C0h+Buffer]
- .text:0000000140001E30 lea rdx, [rsp+1C0h+Format] ; Format
- .text:0000000140001E35 mov r9, rbx
- .text:0000000140001E38 mov r8, r12
- .text:0000000140001E3B mov rcx, r15 ; Buffer
- .text:0000000140001E3E mov [rsp+1C0h+var_198], r13
- .text:0000000140001E43 mov [rsp+1C0h+var_1A0], rax
- .text:0000000140001E48 call sprintf
- .text:0000000140001E4D call cs:GetProcessHeap
- .text:0000000140001E53 mov edi, 0Eh
- .text:0000000140001E58 mov rcx, rax ; hHeap
- .text:0000000140001E5B lea edx, [rdi-6] ; dwFlags
- .text:0000000140001E5E mov r8d, edi ; dwBytes
- .text:0000000140001E61 call cs:HeapAlloc
- .text:0000000140001E67 mov rsi, rax
- .text:0000000140001E6A test rax, rax
- .text:0000000140001E6D jnz short loc_140001E79
- .text:0000000140001E6F mov edi, 8007000Eh
- .text:0000000140001E74 jmp loc_140001F15
- .text:0000000140001E79 ; ---------------------------------------------------------------------------
- .text:0000000140001E79
- .text:0000000140001E79 loc_140001E79: ; CODE XREF: sub_140001C10+25D↑j
- .text:0000000140001E79 mov rax, cs:qword_1400133E8
- .text:0000000140001E80 mov [rsi], rax
- .text:0000000140001E83 mov eax, cs:dword_1400133F0
- .text:0000000140001E89 mov [rsi+8], eax
- .text:0000000140001E8C movzx eax, cs:word_1400133F4
- .text:0000000140001E93 mov [rsi+0Ch], ax
- .text:0000000140001E97 mov rax, rsi
- .text:0000000140001E9A nop word ptr [rax+rax+00h]
- .text:0000000140001EA0
- .text:0000000140001EA0 loc_140001EA0: ; CODE XREF: sub_140001C10+299↓j
- .text:0000000140001EA0 xor byte ptr [rax], 41h
- .text:0000000140001EA3 inc rax
- .text:0000000140001EA6 dec rdi
- .text:0000000140001EA9 jnz short loc_140001EA0
- .text:0000000140001EAB mov rcx, rsi ; lpszServerName
- .text:0000000140001EAE call sub_140002F50
- .text:0000000140001EB3 mov rdi, rax
- .text:0000000140001EB6 test rax, rax
- .text:0000000140001EB9 jnz short loc_140001EC1
- .text:0000000140001EBB call cs:GetLastError
- .text:0000000140001EC1
- .text:0000000140001EC1 loc_140001EC1: ; CODE XREF: sub_140001C10+2A9↑j
- .text:0000000140001EC1 mov rdx, r15
- .text:0000000140001EC4 mov rcx, rdi
- .text:0000000140001EC7 call sub_140003030
- .text:0000000140001ECC test rax, rax
- .text:0000000140001ECF jnz short loc_140001EE8
- .text:0000000140001ED1 call cs:GetLastError
- .text:0000000140001ED7 mov edi, eax
- .text:0000000140001ED9 test eax, eax
- .text:0000000140001EDB jle short loc_140001EFA
- .text:0000000140001EDD movzx edi, ax
- .text:0000000140001EE0 or edi, 80070000h
- .text:0000000140001EE6 jmp short loc_140001EFA
- .text:0000000140001EE8 ; ---------------------------------------------------------------------------
- .text:0000000140001EE8
- .text:0000000140001EE8 loc_140001EE8: ; CODE XREF: sub_140001C10+2BF↑j
- .text:0000000140001EE8 mov rcx, [rsp+1C0h+var_178]
- .text:0000000140001EED mov [rcx], rax
- .text:0000000140001EF0 mov rax, [rsp+1C0h+var_170]
- .text:0000000140001EF5 mov [rax], rdi
- .text:0000000140001EF8 xor edi, edi
- .text:0000000140001EFA
- .text:0000000140001EFA loc_140001EFA: ; CODE XREF: sub_140001C10+2CB↑j
- .text:0000000140001EFA ; sub_140001C10+2D6↑j
- .text:0000000140001EFA call cs:GetProcessHeap
- .text:0000000140001F00 mov r8, rsi ; lpMem
- .text:0000000140001F03 xor edx, edx ; dwFlags
- .text:0000000140001F05 mov rcx, rax ; hHeap
- .text:0000000140001F08 call cs:HeapFree
- .text:0000000140001F0E jmp short loc_140001F15
- .text:0000000140001F10 ; ---------------------------------------------------------------------------
- .text:0000000140001F10
- .text:0000000140001F10 loc_140001F10: ; CODE XREF: sub_140001C10+14D↑j
- .text:0000000140001F10 mov rbx, [rsp+1C0h+var_188]
- .text:0000000140001F15
- .text:0000000140001F15 loc_140001F15: ; CODE XREF: sub_140001C10+A2↑j
- .text:0000000140001F15 ; sub_140001C10+17E↑j ...
- .text:0000000140001F15 test r14, r14
- .text:0000000140001F18 jz short loc_140001F2E
- .text:0000000140001F1A call cs:GetProcessHeap
- .text:0000000140001F20 mov r8, r14 ; lpMem
- .text:0000000140001F23 xor edx, edx ; dwFlags
- .text:0000000140001F25 mov rcx, rax ; hHeap
- .text:0000000140001F28 call cs:HeapFree
- .text:0000000140001F2E
- .text:0000000140001F2E loc_140001F2E: ; CODE XREF: sub_140001C10+308↑j
- .text:0000000140001F2E test r13, r13
- .text:0000000140001F31 jz short loc_140001F47
- .text:0000000140001F33 call cs:GetProcessHeap
- .text:0000000140001F39 mov r8, r13 ; lpMem
- .text:0000000140001F3C xor edx, edx ; dwFlags
- .text:0000000140001F3E mov rcx, rax ; hHeap
- .text:0000000140001F41 call cs:HeapFree
- .text:0000000140001F47
- .text:0000000140001F47 loc_140001F47: ; CODE XREF: sub_140001C10+321↑j
- .text:0000000140001F47 test r15, r15
- .text:0000000140001F4A jz short loc_140001F60
- .text:0000000140001F4C call cs:GetProcessHeap
- .text:0000000140001F52 mov r8, r15 ; lpMem
- .text:0000000140001F55 xor edx, edx ; dwFlags
- .text:0000000140001F57 mov rcx, rax ; hHeap
- .text:0000000140001F5A call cs:HeapFree
- .text:0000000140001F60
- .text:0000000140001F60 loc_140001F60: ; CODE XREF: sub_140001C10+33A↑j
- .text:0000000140001F60 test rbx, rbx
- .text:0000000140001F63 jz short loc_140001F79
- .text:0000000140001F65 call cs:GetProcessHeap
- .text:0000000140001F6B mov r8, rbx ; lpMem
- .text:0000000140001F6E xor edx, edx ; dwFlags
- .text:0000000140001F70 mov rcx, rax ; hHeap
- .text:0000000140001F73 call cs:HeapFree
- .text:0000000140001F79
- .text:0000000140001F79 loc_140001F79: ; CODE XREF: sub_140001C10+353↑j
- .text:0000000140001F79 mov eax, edi
- .text:0000000140001F7B mov rcx, [rbp+0C0h+var_40]
- .text:0000000140001F82 xor rcx, rsp ; StackCookie
- .text:0000000140001F85 call __security_check_cookie
- .text:0000000140001F8A mov rbx, [rsp+1C0h+arg_18]
- .text:0000000140001F92 add rsp, 190h
- .text:0000000140001F99 pop r15
- .text:0000000140001F9B pop r14
- .text:0000000140001F9D pop r13
- .text:0000000140001F9F pop r12
- .text:0000000140001FA1 pop rdi
- .text:0000000140001FA2 pop rsi
- .text:0000000140001FA3 pop rbp
- .text:0000000140001FA4 retn
- .text:0000000140001FA4 ; } // starts at 140001C10
- .text:0000000140001FA4 sub_140001C10 endp
Advertisement
Add Comment
Please, Sign In to add comment