Function at 0x40a83c
Capabilities:
Acquire debug privileges
Check for time delay via gettickcount
Connect pipe
Create a process with modified i/o handles and window
Create directory
Create pipe
Create process on windows
Encode data using base64
Execute shell command and capture output
Get common file path
Parse credit card information
Persist via run registry key
Query environment variable
Read file on windows
Resume thread
Self delete
Terminate process
Write and execute a file
Write file on windows
Write pipe

Disassembly:
push ebp
lea ebp, [esp - 0x5c]
sub esp, 0x5fc
mov eax, dword [ebp + 0x6c]
push ebx
xor ebx, ebx
cmp eax, ebx
push esi
push edi
push 0x20
mov dword [ebp + 0x4c], ecx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0x128], ebx
mov byte [ebp + 0x12], bl
mov byte [ebp - 0x25], bl
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x134], ebx
pop edi
je 0x40aad4
lea eax, [ebp + 0x6c]
push eax
call fcn.0043e7bd
pop ecx
mov ecx, dword [ebp + 0x6c]
cmp ecx, ebx
je 0x40aad4
cmp word [ecx], 0x2f
jne 0x40aad4
mov dx, word [ecx + 2]
or dx, di
cmp dx, 0x69
push 0x73
pop esi
jne 0x40a97b
mov ax, word [ecx + 4]
or ax, di
cmp ax, 0x6e
jne 0x40a97b
mov ax, word [ecx + 6]
or ax, di
cmp ax, si
jne 0x40a97b
mov ax, word [ecx + 8]
or ax, di
cmp ax, 0x74
jne 0x40a97b
mov ax, word [ecx + 0xa]
or ax, di
cmp ax, 0x61
jne 0x40a97b
mov ax, word [ecx + 0xc]
or ax, di
cmp ax, 0x6c
jne 0x40a97b
mov ax, word [ecx + 0xe]
or ax, di
cmp ax, 0x6c
jne 0x40a97b
mov ax, word [ecx + 0x10]
or ax, di
cmp ax, si
jne 0x40a97b
mov ax, word [ecx + 0x12]
or ax, di
cmp ax, 0x65
jne 0x40a97b
mov ax, word [ecx + 0x14]
or ax, di
cmp ax, 0x72
jne 0x40a97b
mov ax, word [ecx + 0x16]
or ax, di
cmp ax, 0x76
jne 0x40a97b
mov ax, word [ecx + 0x18]
or ax, di
cmp ax, dx
jne 0x40a97b
mov ax, word [ecx + 0x1a]
or ax, di
cmp ax, 0x63
jne 0x40a97b
mov ax, word [ecx + 0x1c]
or ax, di
cmp ax, 0x65
jne 0x40a97b
mov ax, word [ecx + 0x1e]
call fcn.0043e785
test al, al
jne 0x40aaa8
cmp dx, si
jne 0x40a9df
mov ax, word [ecx + 4]
or ax, di
cmp ax, 0x65
jne 0x40a9df
mov ax, word [ecx + 6]
or ax, di
cmp ax, 0x72
jne 0x40a9df
mov ax, word [ecx + 8]
or ax, di
cmp ax, 0x76
jne 0x40a9df
mov ax, word [ecx + 0xa]
or ax, di
cmp ax, 0x69
jne 0x40a9df
mov ax, word [ecx + 0xc]
or ax, di
cmp ax, 0x63
jne 0x40a9df
mov ax, word [ecx + 0xe]
or ax, di
cmp ax, 0x65
jne 0x40a9df
mov ax, word [ecx + 0x10]
call fcn.0043e785
test al, al
jne 0x40aaa8
cmp dx, 0x72
jne 0x40aad4
mov dx, word [ecx + 4]
push 0x65
or dx, di
pop eax
cmp dx, ax
jne 0x40aad4
mov dx, word [ecx + 6]
or dx, di
cmp dx, 0x6d
jne 0x40aad4
mov dx, word [ecx + 8]
or dx, di
cmp dx, 0x6f
jne 0x40aad4
mov dx, word [ecx + 0xa]
or dx, di
cmp dx, 0x76
jne 0x40aad4
mov dx, word [ecx + 0xc]
or dx, di
cmp dx, ax
jne 0x40aad4
mov dx, word [ecx + 0xe]
or dx, di
cmp dx, si
jne 0x40aad4
mov dx, word [ecx + 0x10]
or dx, di
cmp dx, ax
jne 0x40aad4
mov dx, word [ecx + 0x12]
or dx, di
cmp dx, 0x72
jne 0x40aad4
mov dx, word [ecx + 0x14]
or dx, di
cmp dx, 0x76
jne 0x40aad4
mov dx, word [ecx + 0x16]
or dx, di
cmp dx, 0x69
jne 0x40aad4
mov dx, word [ecx + 0x18]
or dx, di
cmp dx, 0x63
jne 0x40aad4
mov dx, word [ecx + 0x1a]
or dx, di
cmp dx, ax
jne 0x40aad4
mov ax, word [ecx + 0x1c]
call fcn.0043e785
test al, al
je 0x40aad4
mov edi, 0x4dcc8c
push str.PECMD_EXEC
mov ecx, edi
call fcn.0044e8eb
push dword [ebp + 0x6c]
mov ecx, edi
call fcn.00444fd8
mov eax, dword [ebp + 0x4c]
mov word [eax + 0x88], 2
jmp 0x40f487
mov eax, dword [ebp + 0x70]
and eax, 1
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x70]
shr eax, 1
and eax, 1
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x70]
shr eax, 2
and al, 1
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x100], ebx
mov byte [ebp + 0x1b], bl
mov byte [ebp + 0x13], bl
mov byte [ebp + 0x73], al
mov byte [ebp + 0x30], bl
call fcn.00444f6c
cmp dword [ebp + 0x64], ebx
je 0x40ab33
push dword [ebp + 0x64]
lea ecx, [ebp - 0x15c]
call fcn.0044e8eb
mov eax, dword [ebp - 0x15c]
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push eax
call fcn.0043e7bd
pop ecx
lea ecx, [ebp - 0x154]
call fcn.00444f6c
mov eax, dword [ebp + 0x6c]
cmp eax, ebx
je 0x40ab5a
push eax
lea ecx, [ebp - 0x154]
call fcn.0044e8eb
mov eax, dword [ebp - 0x154]
mov dword [ebp + 0x6c], eax
cmp dword [ebp + 0x74], ebx
jne 0x40ab68
lea ecx, [ebp - 0x144]
mov dword [ebp + 0x74], ecx
mov ecx, dword [ebp + 0x64]
cmp ecx, ebx
push 0x5e
pop esi
mov dword [ebp + 0x38], ecx
mov dword [ebp - 0x1c0], esi
jne 0x40abab
cmp eax, ebx
mov dword [ebp + 0x64], eax
je 0x40abab
push 5
push eax
push str._shel
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40abab
lea eax, [ebp - 0x1c0]
mov dword [ebp + 0x6c], eax
xor eax, eax
inc eax
mov dword [ebp + 0x20], eax
mov dword [ebp - 0x4c], eax
mov byte [ebp + 0x73], al
lea ecx, [ebp - 0x140]
mov dword [ebp + 0x34], ebx
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], ebx
mov byte [ebp + 0x32], bl
mov byte [ebp - 0x39], 1
mov byte [ebp - 0x51], bl
mov byte [ebp + 0x1f], bl
mov byte [ebp - 0x6b], bl
mov byte [ebp - 0x6a], bl
mov byte [ebp - 0x2e], bl
mov byte [ebp + 0x47], bl
mov byte [ebp - 0x71], bl
mov byte [ebp - 0x31], bl
mov byte [ebp - 0x61], bl
call fcn.00444f6c
mov al, byte [0x4dcbe0]
neg al
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x194], ebx
mov dword [ebp - 0x190], ebx
mov byte [ebp - 0x69], bl
mov byte [ebp + 0x33], bl
mov byte [ebp - 0x26], bl
sbb eax, eax
and eax, 0x10000
mov byte [ebp - 0x2d], bl
mov byte [ebp - 0x41], 1
mov byte [ebp - 0x59], bl
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x24], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
call fcn.00444f6c
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x94], ebx
mov byte [ebp + 0x46], bl
call fcn.00444f6c
lea ecx, [ebp - 0xbc]
call fcn.00444f6c
lea ecx, [ebp - 0xb8]
call fcn.00444f6c
or dword [ebp - 0x9c], 0xffffffff
lea ecx, [ebp - 0x198]
mov byte [ebp - 9], bl
mov byte [ebp - 0x2f], bl
mov byte [ebp + 0x2f], bl
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x108], ebx
call fcn.00444f6c
xor eax, eax
push 0x10
pop ecx
mov dword [ebp - 0x270], 0x44
mov dword [ebp - 0x26c], ebx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
push 0x12
mov dword [ebp - 0x18c], ebx
pop ecx
lea edi, [ebp - 0x228]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x188]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x17c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 0x6c]
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x1cc], ebx
mov dword [ebp - 0x1c8], ebx
mov dword [ebp - 0x1c4], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x78], ebx
cmp eax, ebx
jne 0x40aced
mov byte [ebp + 0x2f], 1
jmp 0x40ad47
cmp word [eax], 0x23
jne 0x40ad03
cmp eax, dword [ebp + 0x64]
jne 0x40acfc
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
jmp 0x40ad10
test byte [0x4e0003], 3
je 0x40ad10
mov byte [ebp + 0x2f], 3
cmp eax, ebx
je 0x40ad47
cmp word [eax], si
jne 0x40ad2b
cmp eax, dword [ebp + 0x64]
jne 0x40ad22
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x73], 1
cmp eax, ebx
je 0x40ad47
cmp word [eax], 0x24
jne 0x40ad47
cmp eax, dword [ebp + 0x64]
jne 0x40ad3e
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x47], 1
cmp eax, ebx
mov dword [ebp + 0x40], ebx
je 0x40ad69
cmp word [eax], 0x7c
jne 0x40ad69
cmp eax, dword [ebp + 0x64]
jne 0x40ad5d
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x40], 1
mov eax, dword [ebp - 0x8c]
cmp eax, ebx
je 0x40ae54
cmp word [eax], 0x2a
jne 0x40ae54
add dword [ebp + 0x64], 2
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, bx
mov dword [ebp + 0x34], 0x10
je 0x40ae4a
xor esi, esi
push 2
inc esi
pop edi
cmp ax, 0x7c
jne 0x40adaf
mov dword [ebp + 0x40], esi
jmp 0x40ae38
cmp ax, 0x30
jb 0x40ae0c
cmp ax, 0x39
ja 0x40ae0c
or dword [ebp + 0x34], esi
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.00448226
cmp dword [ebp - 0x138], ebx
pop ecx
pop ecx
jg 0x40adee
jl 0x40ade2
cmp dword [ebp - 0x13c], ebx
ja 0x40adee
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x138], ebx
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x24
jne 0x40ae00
or byte [ebp + 0x35], 1
jmp 0x40ae38
cmp ax, 0x5e
jne 0x40ae3b
or byte [ebp + 0x35], 2
jmp 0x40ae38
mov ecx, eax
or ecx, 0x20
cmp cx, 0x6e
jne 0x40ae1f
add dword [ebp + 0x64], edi
or dword [ebp + 0x34], edi
jmp 0x40ae3b
cmp ax, 0x2d
jne 0x40ae2e
add dword [ebp + 0x64], edi
or dword [ebp + 0x34], 4
jmp 0x40ae3b
cmp ax, 0x23
jne 0x40ae4a
mov byte [ebp + 0x12], 1
add dword [ebp + 0x64], edi
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, bx
jne 0x40ada1
lea eax, [ebp + 0x64]
push eax
call fcn.00405b76
pop ecx
lea eax, [ebp + 0x64]
push eax
call fcn.0043e7bd
cmp word [ebp + 0x34], bx
pop ecx
jne 0x40aeff
lea eax, [ebp + 0x64]
push eax
call fcn.0043e7bd
cmp dword [ebp - 0xcc], ebx
mov eax, dword [ebp + 0x64]
pop ecx
mov dword [ebp + 0x48], eax
je 0x40ae8a
cmp word [ebp + 0x34], bx
jne 0x40afdd
push 2
pop esi
cmp word [eax], 0x2d
mov edi, eax
jne 0x40aea1
add eax, 2
cmp word [eax], 0x2d
jne 0x40aea1
mov dword [ebp + 0x48], eax
push 1
lea eax, [ebp + 0x48]
push eax
push 0x4c2fe4
call fcn.00446fac
add esp, 0xc
test al, al
jne 0x40afdd
mov eax, dword [ebp + 0x48]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40aed2
cmp ax, 0x2f
jne 0x40afdd
add dword [ebp + 0x48], esi
push 5
lea eax, [ebp + 0x48]
push eax
push str.catch
call fcn.00447021
add esp, 0xc
test al, al
je 0x40af7d
mov al, byte [ebp + 0x34]
or dword [ebp + 0x34], 0x10
cmp al, bl
jne 0x40b1b0
mov esi, dword [ebp + 0x64]
xor ecx, ecx
xor eax, eax
mov ax, word [esi]
inc ecx
cmp ax, bx
mov dword [ebp + 0x20], ecx
mov edi, esi
je 0x40b253
push 2
pop edx
cmp ax, 0x3d
je 0x40af2b
add edi, edx
mov ax, word [edi]
cmp ax, bx
jne 0x40af1b
cmp edi, esi
je 0x40b253
cmp word [edi], 0x3d
jne 0x40b253
sub edi, edx
cmp word [edi], 0x2b
jne 0x40af4c
mov al, byte [edi]
mov byte [ebp - 0x69], al
sub edi, edx
cmp edi, esi
mov ecx, edi
jbe 0x40af64
mov ax, word [ecx]
call fcn.0043e785
test al, al
je 0x40af64
sub ecx, edx
cmp ecx, esi
ja 0x40af52
mov ax, word [ecx]
call fcn.0043e785
test al, al
jne 0x40b24b
mov edx, ecx
inc ecx
inc ecx
jmp 0x40b1dd
push 4
push dword [ebp + 0x48]
push 0x4c2fd4
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b120
add dword [ebp + 0x48], 8
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x4c]
call fcn.004087c5
add esp, 0x14
mov dword [ebp - 0xcc], eax
jmp 0x40afce
mov word [edi], 0x20
add edi, esi
cmp edi, dword [ebp + 0x48]
jb 0x40afc7
cmp word [ebp + 0x34], bx
je 0x40b1b0
lea eax, [ebp + 0x64]
push eax
call fcn.0043e7bd
mov eax, dword [ebp - 0xcc]
cmp eax, ebx
pop ecx
je 0x40affc
cmp word [eax], bx
jne 0x40affc
mov dword [ebp - 0xcc], ebx
cmp dword [ebp + 0x40], ebx
jne 0x40b009
cmp dword [ebp + 0x78], ebx
mov byte [ebp + 0x57], bl
je 0x40b00d
mov byte [ebp + 0x57], 1
or dword [ebp - 0x114], 0xffffffff
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x130], ebx
call fcn.00444f6c
lea ecx, [ebp - 0x16c]
call fcn.00444f6c
cmp byte [ebp + 0x57], bl
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x10c], ebx
mov byte [ebp + 0x31], bl
mov dword [ebp - 0x68], ebx
jne 0x40b088
cmp dword [ebp + 0x38], ebx
jne 0x40b088
mov ecx, dword [ebp + 0x4c]
push 1
push ebx
lea eax, [ebp - 0x10c]
push eax
push dword [ebp + 0x64]
call fcn.004567e7
mov eax, dword [ebp - 0x10c]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x2d
mov dword [ebp - 0x8c], eax
jne 0x40b0a3
add eax, 2
cmp word [eax], 0x2d
jne 0x40b0a3
mov dword [ebp + 0x64], eax
xor esi, esi
inc esi
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c2fe4
call fcn.00446fac
add esp, 0xc
test al, al
jne 0x40c07e
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40b0d6
cmp ax, 0x2f
jne 0x40c07e
push 2
pop edi
add dword [ebp + 0x64], edi
push 5
lea eax, [ebp + 0x64]
push eax
push str.catch
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b25a
mov dword [ebp + 0x34], 0x10
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c2fd0
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b2a4
mov dword [ebp - 4], esi
jmp 0x40b088
push 3
push dword [ebp + 0x48]
push 0x4c2fcc
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b14a
add dword [ebp + 0x48], 6
jmp 0x40b13f
add dword [ebp + 0x48], esi
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x2a
je 0x40b13c
jmp 0x40b18e
push 4
push dword [ebp + 0x48]
push str.exe:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b174
add dword [ebp + 0x48], 8
jmp 0x40b169
add dword [ebp + 0x48], esi
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x2a
je 0x40b166
jmp 0x40b18e
push 5
push dword [ebp + 0x48]
push str.logs:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b1b0
add dword [ebp + 0x48], 0xa
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x22
jne 0x40b1b0
add dword [ebp + 0x48], esi
jmp 0x40b1a5
add dword [ebp + 0x48], esi
cmp ax, 0x22
je 0x40b1b0
mov eax, dword [ebp + 0x48]
mov ax, word [eax]
cmp ax, bx
jne 0x40b19c
lea eax, [ebp + 0x48]
push eax
call fcn.00409344
mov eax, dword [ebp + 0x48]
pop ecx
jmp 0x40ae8d
lea eax, [edx - 2]
mov dword [ebp - 0x8c], eax
mov ax, word [eax]
call fcn.0043e785
test al, al
jne 0x40b1e1
mov edx, dword [ebp - 0x8c]
cmp edx, esi
ja 0x40b1c2
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x60]
call fcn.00445090
mov esi, dword [ebp + 0x4c]
push ebx
lea eax, [ebp - 0x60]
push eax
mov ecx, esi
call fcn.00402ef7
cmp byte [esi + 0x92], bl
jne 0x40b20c
test byte [esi + 9], 0xf
je 0x40b222
push ebx
lea eax, [ebp - 0x60]
push eax
mov ecx, esi
call fcn.00402ef7
jmp 0x40b222
cmp ax, 0x3d
je 0x40b230
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40b21a
cmp ax, 0x3d
jne 0x40b24b
lea eax, [ebp - 0x14c]
add edi, 2
push eax
mov dword [ebp - 0x14c], edi
call fcn.0043e7bd
pop ecx
jmp 0x40ae68
xor ebx, ebx
inc ebx
jmp 0x40f427
mov ebx, ecx
jmp 0x40f427
push 6
push dword [ebp + 0x64]
push str.clone:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b0fe
add dword [ebp + 0x64], 0xc
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40b293
mov word [eax], bx
add dword [ebp + 0x64], edi
cmp word [esi], bx
je 0x40b377
mov dword [ebp - 0x70], esi
jmp 0x40b377
push 4
lea eax, [ebp + 0x64]
push eax
push str.shel
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b2ce
or byte [ebp + 0x73], 2
and byte [ebp + 0x2f], 0xfe
mov dword [ebp - 0x4c], esi
mov dword [ebp + 0x20], esi
jmp 0x40b088
push 5
push dword [ebp + 0x64]
push str.shel:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b33c
add dword [ebp + 0x64], 0xa
mov eax, dword [ebp + 0x64]
or byte [ebp + 0x73], 2
and byte [ebp + 0x2f], 0xfe
mov dword [ebp - 0x98], eax
push 5
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0x4c], esi
mov dword [ebp + 0x20], esi
mov dword [ebp + 0x40], ebx
call fcn.0041a4ff
add esp, 0xc
cmp dword [ebp + 0x40], ebx
mov dword [ebp + 0x64], eax
jle 0x40b088
push dword [ebp + 0x40]
lea ecx, [ebp - 0x134]
push dword [ebp - 0x98]
call fcn.00445090
jmp 0x40b088
push 9
push dword [ebp + 0x64]
push str.runrmenu:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b385
add dword [ebp + 0x64], 0x12
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x64]
pop ecx
lea ecx, [ebp - 0x140]
sub eax, edi
sar eax, 1
push eax
push edi
call fcn.00445090
lea eax, [ebp + 0x64]
push eax
call fcn.0043e7bd
jmp 0x40c075
push 8
push dword [ebp + 0x64]
push str.poprmenu
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b435
add dword [ebp + 0x64], 0x10
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x64]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40b3be
add dword [ebp + 0x64], edi
lea eax, [ebp + 0x64]
push eax
call fcn.0043e7bd
pop ecx
lea eax, [ebp - 0x194]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, bx
mov byte [ebp - 0x71], 1
je 0x40b3f3
cmp ax, 0x30
jb 0x40b3f0
cmp ax, 0x39
jbe 0x40b3f3
add dword [ebp - 0x18], edi
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00451e7f
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, bx
pop ecx
pop ecx
je 0x40b41f
cmp ax, 0x30
jb 0x40b41c
cmp ax, 0x39
jbe 0x40b41f
add dword [ebp - 0x18], edi
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00451e7f
pop ecx
jmp 0x40c075
push 4
push dword [ebp + 0x64]
push str.pid:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b4af
add dword [ebp + 0x64], 8
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
mov dword [ebp - 0x8c], edi
call fcn.00405b76
mov ax, word [edi]
cmp ax, 0x28
pop ecx
je 0x40b495
cmp ax, 0x30
jne 0x40b47f
mov ax, word [edi + 2]
or ax, 0x20
cmp ax, 0x78
je 0x40b495
mov eax, dword [ebp + 0x64]
cmp edi, eax
je 0x40b377
lea ecx, [ebp - 0x130]
jmp 0x40b36c
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.004412d1
pop ecx
pop ecx
jmp 0x40b377
push 5
push dword [ebp + 0x64]
push str.hpid:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b4ec
add dword [ebp + 0x64], 0xa
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b377
lea ecx, [ebp - 0x164]
jmp 0x40bef7
push 5
push dword [ebp + 0x64]
push str.ppid:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b563
add dword [ebp + 0x64], 0xa
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp + 0x64]
push eax
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
call fcn.004483b1
cmp dword [ebp - 0xac], ebx
pop ecx
pop ecx
jg 0x40b555
jl 0x40b536
cmp dword [ebp - 0xb0], ebx
jae 0x40b555
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
call fcn.004088f9
pop ecx
pop ecx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x78], eax
jmp 0x40b088
push 4
push dword [ebp + 0x64]
push str.exe:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b678
mov eax, dword [ebp + 0x64]
add eax, 8
mov dword [ebp + 0x64], eax
mov cx, word [eax]
xor edx, edx
cmp cx, 0x23
mov edi, eax
mov dword [ebp], ebx
jne 0x40b599
mov dword [ebp - 0x68], esi
cmp cx, 0x22
jne 0x40b610
lea esi, [eax + 2]
mov edi, eax
mov ecx, esi
jmp 0x40b5ce
cmp ax, 0x22
jne 0x40b5cc
inc edx
test dl, 1
je 0x40b5cc
xor eax, eax
mov ax, word [ecx + 2]
cmp ax, bx
je 0x40b5d9
call fcn.0043e785
test al, al
jne 0x40b5d9
or dword [ebp - 0x68], 2
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40b5a8
push 0x22
pop edx
cmp word [ecx], dx
jne 0x40b61d
or dword [ebp], 0xffffffff
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
cmp word [ecx - 4], dx
mov edi, esi
mov byte [ebp + 0x31], 2
je 0x40b604
mov ax, word [edi]
cmp ax, dx
jne 0x40b61d
cmp word [edi + 2], dx
jne 0x40b609
mov byte [ebp + 0x31], bl
jmp 0x40b61d
cmp ax, dx
jne 0x40b61d
jmp 0x40b604
lea eax, [ebp + 0x64]
push eax
call fcn.00405b76
pop ecx
mov ecx, dword [ebp + 0x64]
sub ecx, edi
sar ecx, 1
add dword [ebp], ecx
cmp dword [ebp], ebx
jle 0x40b377
add edi, 0xfffffff6
push edi
lea ecx, [ebp - 0xe8]
call fcn.0044e8eb
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp]
add eax, 0xa
mov word [eax + ecx*2], bx
cmp word [eax], 0x2a
mov dword [ebp + 0x28], eax
jne 0x40b377
cmp word [eax + 2], bx
jne 0x40b377
lea eax, [ebp - 0xe8]
push eax
call fcn.0040481f
pop ecx
mov dword [ebp + 0x28], eax
jmp 0x40b377
push 3
push dword [ebp + 0x64]
push 0x4c2fcc
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b7a5
mov eax, dword [ebp + 0x64]
xor edi, edi
add eax, 6
jmp 0x40b69f
inc edi
inc eax
inc eax
mov dword [ebp + 0x64], eax
cmp word [eax], 0x2a
je 0x40b69c
cmp edi, 2
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x48], ebx
jge 0x40b74b
movzx eax, word [eax]
cmp ax, bx
je 0x40b704
call fcn.0043e785
test al, al
jne 0x40b704
push esi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0041a4ff
add esp, 0xc
cmp dword [ebp - 0x48], ebx
mov dword [ebp + 0x64], eax
jle 0x40b704
push dword [ebp - 0x48]
lea ecx, [ebp - 0x88]
push dword [ebp - 0x84]
call fcn.00445090
mov eax, dword [ebp - 0x88]
mov dword [ebp + 0x50], eax
cmp edi, esi
jne 0x40b791
cmp dword [ebp - 0x48], ebx
jle 0x40b799
mov eax, dword [ebp - 0x88]
push esi
lea ecx, [ebp - 0x88]
push ecx
push eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x88], ebx
call fcn.00499d7e
add esp, 0xc
lea ecx, [ebp - 0x150]
mov dword [ebp + 0x50], eax
call fcn.0043e825
jmp 0x40b377
push 0x105
lea ecx, [ebp - 0x88]
call fcn.00444fb1
push 0x104
push dword [ebp - 0x88]
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push ebx
push dword [ebp - 0x88]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
je 0x40b783
mov word [eax], bx
mov eax, dword [ebp - 0x88]
mov dword [ebp + 0x50], eax
jmp 0x40b377
cmp edi, ebx
jle 0x40b377
mov dword [ebp + 0x50], 0x4c2f70
jmp 0x40b377
push 5
push dword [ebp + 0x64]
push str.logs:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40b81e
mov eax, dword [ebp + 0x64]
add eax, 0xa
xor ecx, ecx
mov dword [ebp + 0x64], eax
mov dword [ebp + 0x40], eax
cmp word [eax], 0x3f
sete cl
mov edi, ecx
cmp edi, ebx
je 0x40b7dc
add eax, 2
mov dword [ebp + 0x40], eax
mov esi, dword [ebp + 0x40]
push 1
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 8], ebx
call fcn.0041a4ff
add esp, 0xc
cmp dword [ebp + 8], ebx
mov dword [ebp + 0x64], eax
jle 0x40b377
cmp edi, ebx
je 0x40b810
cmp dword [0x4dcd00], ebx
je 0x40b377
push dword [ebp + 8]
lea ecx, [ebp - 0x158]
jmp 0x40befc
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c2f6c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b83d
mov byte [ebp - 0x61], 1
jmp 0x40b088
push 5
lea eax, [ebp + 0x64]
push eax
push str.nowin
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b85d
mov byte [ebp - 0x31], 1
jmp 0x40b088
push 4
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push str.hide
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b882
mov dword [ebp - 0x14], 0x10000000
jmp 0x40b088
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c2f54
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b8a6
inc dword [ebp - 0x100]
mov dword [ebp + 0x20], esi
jmp 0x40b088
push 5
lea eax, [ebp + 0x64]
push eax
push str.waiti
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b8c6
mov byte [ebp + 0x30], 1
jmp 0x40b088
push 3
pop esi
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c2f48
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b8e8
or byte [ebp + 0x32], 1
jmp 0x40b088
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c2f44
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b907
mov byte [ebp - 0x25], 1
jmp 0x40b088
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c2f40
call fcn.00446fac
add esp, 0xc
test al, al
jne 0x40b088
push edi
lea eax, [ebp + 0x64]
push eax
push str.err
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b940
or byte [ebp + 0x32], 3
jmp 0x40b088
push 5
lea eax, [ebp + 0x64]
push eax
push str.limit
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b960
mov byte [ebp - 0x6a], 1
jmp 0x40b088
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c2f2c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b97f
mov byte [ebp - 0x2e], 1
jmp 0x40b088
push edi
lea eax, [ebp + 0x64]
push eax
push str.hook
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b9a1
mov dword [ebp - 0x4c], 1
jmp 0x40b088
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c2f20
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b9c3
mov dword [ebp - 0x14], 6
jmp 0x40b088
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c2f1c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40b9e1
mov dword [ebp - 0x14], esi
jmp 0x40b088
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c2f14
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40ba03
mov dword [ebp - 0x14], 1
jmp 0x40b088
push edi
lea eax, [ebp + 0x64]
push eax
push str.runs
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40ba22
mov byte [ebp - 0x6b], 1
jmp 0x40b088
push 2
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c2f08
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40ba44
mov byte [ebp - 0x39], 1
jmp 0x40b088
push 4
lea eax, [ebp + 0x64]
push eax
push str.no64
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40ba63
mov byte [ebp - 0x39], bl
jmp 0x40b088
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c2efc
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40ba83
mov byte [ebp - 0x51], 1
jmp 0x40b088
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c2ef8
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40baa2
mov byte [ebp + 0x1f], 1
jmp 0x40b088
push 5
lea eax, [ebp + 0x64]
push eax
push str.incmd
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bac2
mov byte [ebp - 0x2d], 1
jmp 0x40b088
push 3
lea eax, [ebp + 0x64]
push eax
push str.svr_
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bae1
mov dword [ebp - 0x10], ebx
jmp 0x40b088
push 6
lea eax, [ebp + 0x64]
push eax
push str.svrsys
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bb04
mov dword [ebp - 0x10], 0x20000
jmp 0x40b088
push 7
pop esi
push esi
lea eax, [ebp + 0x64]
push eax
push str.svrsys_
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bb2d
mov al, byte [0x4dcbe0]
neg al
sbb eax, eax
and eax, 0x20000
jmp 0x40bb6e
push 6
lea eax, [ebp + 0x64]
push eax
push str.svrusr
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bb4d
or dword [ebp - 0x10], 1
jmp 0x40b088
push esi
lea eax, [ebp + 0x64]
push eax
push str.svrusr_
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bb76
xor eax, eax
cmp byte [0x4dcbe0], bl
setne al
mov dword [ebp - 0x10], eax
jmp 0x40b088
push esi
lea eax, [ebp + 0x64]
push eax
push str.hidecmd
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bb95
mov byte [ebp - 0x41], 1
jmp 0x40b088
push 8
lea eax, [ebp + 0x64]
push eax
push str.hidecmd_
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bbb4
mov byte [ebp - 0x41], bl
jmp 0x40b088
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c2eb0
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bbd7
mov dword [ebp + 0x24], 1
jmp 0x40b088
push 3
push dword [ebp + 0x64]
push 0x4c2eac
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40bbfa
add dword [ebp + 0x64], 6
mov dword [ebp + 0x24], pe_nt_image_headers32
jmp 0x40bc1a
push edi
push dword [ebp + 0x64]
push 0x4c2ea8
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40bc71
add dword [ebp + 0x64], 4
mov dword [ebp + 0x24], 8
xor ecx, ecx
jmp 0x40bc61
mov eax, ecx
call fcn.0043e785
test al, al
jne 0x40c06c
or ecx, 0x20
cmp cx, 0x61
jne 0x40bc3c
or dword [ebp + 0x24], 0x40
jmp 0x40bc5e
cmp cx, 0x65
jne 0x40bc48
or byte [ebp + 0x24], 0x80
jmp 0x40bc5e
cmp cx, 0x63
jne 0x40bc54
or byte [ebp + 0x25], 1
jmp 0x40bc5e
cmp cx, 0x64
jne 0x40bc5e
or byte [ebp + 0x25], 2
add dword [ebp + 0x64], edi
mov eax, dword [ebp + 0x64]
mov cx, word [eax]
cmp cx, bx
jne 0x40bc1e
jmp 0x40c06c
push 3
push dword [ebp + 0x64]
push 0x4c2ea4
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40bcc2
add dword [ebp + 0x64], 6
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x3a
mov byte [ebp + 0x47], 1
jne 0x40b377
add dword [ebp + 0x64], edi
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b377
lea ecx, [ebp - 0x110]
jmp 0x40bef7
push 5
push dword [ebp + 0x64]
push str.code:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40bd83
add dword [ebp + 0x64], 0xa
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x40], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push 0x4c2e94
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bd10
mov byte [ebp + 0x46], 1
mov dword [ebp - 0x94], 0xfde9
jmp 0x40c06c
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push str.ANSI
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bd36
mov byte [ebp + 0x46], 1
mov dword [ebp - 0x94], ebx
jmp 0x40c06c
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push 0x4c2e88
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bd60
mov byte [ebp + 0x46], 2
mov dword [ebp - 0x94], 0x4b0
jmp 0x40c06c
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004412d1
test eax, eax
pop ecx
pop ecx
jle 0x40c06c
mov byte [ebp + 0x46], 1
jmp 0x40c06c
push esi
lea eax, [ebp + 0x64]
push eax
push str.timeout:
call fcn.0044705f
add esp, 0xc
test al, al
je 0x40be30
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x3c], eax
mov cx, word [eax]
cmp cx, 0x23
mov byte [ebp - 0x30], bl
jne 0x40bdb5
mov byte [ebp - 0x30], 1
jmp 0x40bdbf
cmp cx, 0x2a
jne 0x40bdc5
mov byte [ebp - 0x30], 2
add eax, 2
mov dword [ebp + 0x3c], eax
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp + 0x3c]
push eax
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], ebx
call fcn.0048f0da
test eax, eax
pop ecx
pop ecx
jle 0x40c06c
mov eax, dword [ebp - 0x148]
cmp eax, ebx
jle 0x40c06c
or dword [ebp + 0x20], 0x10
mov dword [ebp - 0xec], eax
mov al, byte [ebp - 0x30]
mov byte [ebp + 0x12], al
mov eax, dword [ebp + 0x3c]
cmp word [eax], 0x3a
jne 0x40c06c
add dword [ebp + 0x3c], edi
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.004412d1
pop ecx
pop ecx
jmp 0x40c06c
push 5
push dword [ebp + 0x64]
push str.user:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40be91
add dword [ebp + 0x64], 0xa
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x64]
cmp edi, eax
pop ecx
je 0x40b377
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0xbc]
call fcn.00445090
cmp word [edi], 0x23
jne 0x40be89
cmp word [edi + 2], 0x23
jne 0x40be89
mov byte [ebp - 0x2f], 1
jmp 0x40b377
mov byte [ebp - 0x2f], bl
jmp 0x40b377
push esi
push dword [ebp + 0x64]
push str.passwd:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40bebc
mov eax, dword [ebp + 0x64]
cmp word [eax + 0xe], 0x23
jne 0x40beb7
cmp word [eax + 0x10], 0x23
je 0x40bed1
mov byte [ebp - 9], bl
jmp 0x40bed5
push esi
push dword [ebp + 0x64]
push str.passwd
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40bf02
mov byte [ebp - 9], 1
add dword [ebp + 0x64], 0xe
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b377
lea ecx, [ebp - 0xb8]
sub eax, esi
sar eax, 1
push eax
push esi
jmp 0x40b372
push 8
lea eax, [ebp + 0x64]
push eax
push str.REALTIME
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bf25
mov dword [ebp - 0x24], 0x100
jmp 0x40b088
push 4
lea eax, [ebp + 0x64]
push eax
push str.HIGH
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bf48
mov dword [ebp - 0x24], 0x80
jmp 0x40b088
push 0xb
lea eax, [ebp + 0x64]
push eax
push str.ABOVENORMAL
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bf6b
mov dword [ebp - 0x24], 0x8000
jmp 0x40b088
push 6
lea eax, [ebp + 0x64]
push eax
push str.NORMAL
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bf8e
mov dword [ebp - 0x24], 0x20
jmp 0x40b088
push 0xb
lea eax, [ebp + 0x64]
push eax
push str.BELOWNORMAL
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40bfb1
mov dword [ebp - 0x24], 0x4000
jmp 0x40b088
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c2e2c
call fcn.00446fac
add esp, 0xc
test al, al
jne 0x40bfeb
mov edi, dword [ebp + 0x64]
push 0x4c2e20
push 4
pop esi
call fcn.00402d7c
cmp al, bl
pop ecx
lea eax, [ebp + 0x64]
je 0x40bff7
add dword [ebp + 0x64], 8
push eax
call fcn.0043e7bd
pop ecx
mov dword [ebp - 0x24], 0x40
jmp 0x40b088
push 3
push eax
push 0x4c2e1c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40c014
mov byte [ebp + 0x33], 1
jmp 0x40b088
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c2e18
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40c03d
mov byte [ebp - 0x26], 1
mov byte [ebp + 0x46], bl
mov dword [ebp - 0x94], ebx
jmp 0x40b088
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c2e14
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40c05d
mov byte [ebp - 0x59], 1
jmp 0x40b088
mov eax, dword [ebp - 0x8c]
cmp word [eax], 0x2d
mov dword [ebp + 0x64], eax
jne 0x40c07b
lea eax, [ebp + 0x64]
push eax
call fcn.00409344
pop ecx
jmp 0x40b088
xor esi, esi
inc esi
cmp dword [ebp + 0x24], ebx
je 0x40c0a8
cmp byte [ebp - 0x31], bl
je 0x40c08c
or dword [ebp + 0x24], 4
cmp dword [ebp + 0x24], ebx
je 0x40c0a8
cmp byte [ebp + 0x30], bl
je 0x40c09a
or dword [ebp + 0x24], 0x20
cmp dword [ebp + 0x24], ebx
je 0x40c0a8
cmp byte [ebp - 0x2d], bl
je 0x40c0a8
or byte [ebp + 0x25], 4
cmp dword [ebp - 0x78], ebx
je 0x40c0da
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x78]
lea ecx, [ebp - 0x1cc]
mov dword [eax], 0x48
call fcn.004048d1
mov eax, dword [ebp - 0x1c8]
neg eax
sbb eax, eax
and eax, 0x80000
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x94], 0x4b0
jne 0x40c0ea
mov byte [ebp + 0x46], 2
mov eax, dword [ebp - 0x14c]
cmp eax, ebx
je 0x40c11c
cmp byte [ebp + 0x57], bl
mov dword [ebp + 0x64], eax
jne 0x40c11c
cmp dword [ebp + 0x38], ebx
jne 0x40c11c
push esi
push ebx
lea ecx, [ebp - 0x10c]
push ecx
mov ecx, dword [ebp + 0x4c]
push eax
call fcn.004567e7
mov eax, dword [ebp - 0x10c]
mov dword [ebp + 0x64], eax
mov edi, dword [ebp + 0x28]
cmp edi, ebx
mov dword [ebp - 0x1bc], ebx
mov dword [ebp - 0x1b8], ebx
mov dword [ebp - 0x1b4], ebx
mov dword [ebp - 0x7c], ebx
je 0x40c143
cmp word [edi], bx
je 0x40c143
cmp word [ebp - 0x68], bx
je 0x40c146
mov byte [ebp + 0x33], bl
cmp edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x124], 0x4c2350
je 0x40c22d
cmp word [edi], 0x2a
jne 0x40c175
inc edi
inc edi
inc dword [ebp - 0x20]
cmp word [edi], 0x2a
je 0x40c167
mov dword [ebp + 0x28], edi
cmp word [edi], 0x3f
jne 0x40c1a1
inc edi
inc edi
mov dword [ebp + 0x28], edi
mov dword [ebp - 0x124], edi
jmp 0x40c193
inc edi
inc edi
cmp ax, 0x3a
mov dword [ebp + 0x28], edi
je 0x40c19d
mov ax, word [edi]
cmp ax, bx
jne 0x40c188
jmp 0x40c1a1
mov word [edi - 2], bx
mov ax, word [edi]
push 0x20
pop ecx
or ax, cx
cmp ax, 0x63
jne 0x40c1d9
mov dx, word [edi + 2]
or dx, cx
cmp dx, 0x61
jne 0x40c1d9
mov dx, word [edi + 4]
or dx, cx
cmp dx, 0x62
jne 0x40c1d9
cmp word [edi + 6], 0x3a
jne 0x40c1d9
mov dword [ebp - 0x2c], esi
add edi, 8
jmp 0x40c1fd
cmp ax, 0x65
jne 0x40c200
mov ax, word [edi + 2]
or ax, cx
cmp ax, 0x78
jne 0x40c200
cmp word [edi + 4], 0x3a
jne 0x40c200
mov dword [ebp - 0x2c], 0x100
add edi, 6
mov dword [ebp + 0x28], edi
cmp edi, ebx
je 0x40c22d
mov ax, word [edi]
or ax, cx
cmp ax, 0x75
jne 0x40c22d
mov ax, word [edi + 2]
or ax, cx
cmp ax, 0x64
jne 0x40c22d
cmp word [edi + 4], 0x3a
jne 0x40c22d
add edi, 6
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x28], edi
cmp byte [ebp + 0x33], bl
je 0x40c272
cmp edi, ebx
je 0x40c272
cmp word [ebp - 0x2c], bx
jne 0x40c272
cmp word [ebp + 0xc], bx
jne 0x40c272
xor edx, edx
cmp byte [ebp + 0x31], bl
mov ecx, edi
setne dl
xor eax, eax
mov ax, word [edi]
jmp 0x40c26d
cmp ax, 0x22
jne 0x40c268
inc edx
cmp edx, 2
jl 0x40c268
cmp word [ecx + 2], bx
je 0x40c268
mov byte [ebp + 0x33], bl
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40c253
cmp word [ebp - 0x20], bx
jne 0x40c284
cmp word [ebp - 0x2c], bx
jne 0x40c284
cmp word [ebp + 0xc], bx
je 0x40c287
mov byte [ebp + 0x31], bl
cmp edi, ebx
je 0x40c2a3
push 0x2a
push edi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp - 0x7c], eax
je 0x40c2a3
mov word [eax], bx
inc eax
inc eax
mov dword [ebp - 0x7c], eax
cmp byte [ebp + 0x33], bl
je 0x40c2d0
xor eax, eax
cmp word [ebp + 0xc], bx
sete al
xor ecx, ecx
cmp word [ebp - 0x2c], bx
sete cl
test ecx, eax
je 0x40c2d0
lea eax, [ebp - 0x1bc]
push eax
push edi
call fcn.00414f75
pop ecx
pop ecx
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp + 0x74]
mov dword [eax], esi
xor eax, eax
cmp dword [ebp - 0x70], ebx
lea edi, [ebp - 0x1ac]
mov dword [ebp - 0x1b0], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x1e0], ebx
lea edi, [ebp - 0x1dc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 8], ebx
mov dword [ebp + 0x14], esi
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xc8], ebx
stosd dword es:[edi], eax
je 0x40c332
mov dword [ebp - 4], esi
cmp byte [ebp + 0x1f], bl
mov dword [ebp - 0x1a8], 0xc
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x1a0], esi
mov dword [ebp - 0x168], ebx
je 0x40c37b
mov ecx, dword [0x4db33c]
lea eax, [ebp - 0x270]
or byte [eax + 0x2d], 1
mov dword [eax + 0x3c], ecx
mov ecx, dword [0x4db340]
mov dword [eax + 0x40], ecx
mov ecx, dword [0x4db338]
mov dword [ebp - 4], esi
mov dword [eax + 0x38], ecx
cmp byte [ebp + 0x57], bl
je 0x40c898
mov ecx, dword [ebp + 0x64]
cmp word [ecx], 0x7c
mov dword [ebp], ebx
jne 0x40c3a9
inc ecx
inc ecx
xor eax, eax
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, 0x7c
je 0x40c390
call fcn.0043e785
test al, al
jne 0x40c390
mov dword [ebp + 0x40], ecx
mov eax, dword [ebp + 0x64]
xor edx, edx
mov dword [ebp + 0x58], edx
cmp word [eax], bx
je 0x40c454
cmp word [eax], 0x7c
jne 0x40c3d9
cmp word [eax + 2], 0x7c
je 0x40c3d1
mov edx, eax
mov dword [ebp + 0x58], edx
jmp 0x40c3d9
inc eax
inc eax
cmp word [eax], 0x7c
je 0x40c3d1
inc eax
inc eax
cmp word [eax], bx
jne 0x40c3bd
cmp edx, ebx
je 0x40c454
lea eax, [ebp + 0x58]
mov word [edx], bx
add dword [ebp + 0x58], 2
push eax
call fcn.0043e7bd
mov edx, dword [ebp + 0x58]
xor eax, eax
mov ax, word [edx]
cmp ax, bx
pop ecx
mov edi, edx
je 0x40c3ac
cmp ax, 0x7c
jne 0x40c433
lea esi, [edi + 2]
cmp word [esi], ax
jne 0x40c433
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
push eax
push esi
push edi
call fcn.0041457b
add esp, 0xc
cmp word [edi], 0x7c
jne 0x40c430
inc edi
inc edi
jmp 0x40c426
mov edx, dword [ebp + 0x58]
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40c404
cmp word [edx], bx
je 0x40c3ac
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
mov cl, 1
je 0x40c456
mov al, cl
jmp 0x40c462
xor cl, cl
xor al, al
cmp cl, bl
jne 0x40c462
mov edx, dword [ebp + 0x40]
mov dword [ebp + 0x58], edx
cmp al, bl
mov dword [ebp + 0x38], edx
je 0x40c547
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
push ebx
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0xc8]
push eax
xor edi, edi
lea eax, [ebp - 0xc0]
inc edi
push eax
mov dword [ebp - 0xf8], 0xc
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], edi
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x40c4b9
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push edi
call fcn.004161d8
mov edi, dword [sym.imp.KERNEL32.dll_DuplicateHandle]
push 3
push ebx
push ebx
lea eax, [ebp - 0xc0]
push eax
push esi
push dword [ebp - 0xc0]
push esi
call edi
cmp dword [ebp - 0xc8], ebx
mov word [ebp + 0x1e], bx
je 0x40c50d
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp - 0xc8]
lea eax, [ebp + 0x1e]
push ebx
push ebx
push eax
push ecx
push dword [ebp + 0x40]
call fcn.0040a83c
cmp dword [ebp - 0xc8], ebx
je 0x40c50d
push dword [ebp - 0xc8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 3
push 1
push ebx
lea eax, [ebp - 0xc0]
push eax
push esi
push dword [ebp - 0xc0]
mov dword [ebp - 0xc8], ebx
push esi
call edi
mov ecx, dword [ebp - 0xc0]
cmp ecx, ebx
je 0x40c547
lea eax, [ebp - 0x270]
or byte [eax + 0x2d], 1
mov dword [ebp - 4], 1
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x58], eax
xor edi, edi
inc edi
mov cx, word [eax]
cmp cx, bx
je 0x40c834
cmp cx, 0x3c
je 0x40c575
cmp cx, 0x3e
je 0x40c575
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c55c
mov cx, word [eax]
cmp cx, bx
je 0x40c834
cmp cx, 0x3c
jne 0x40c679
mov word [eax], bx
add dword [ebp + 0x58], 2
lea eax, [ebp + 0x58]
push eax
call fcn.0043e7bd
mov eax, dword [ebp + 0x58]
cmp word [eax], bx
pop ecx
je 0x40c679
mov dword [ebp + 0x3c], eax
jmp 0x40c5be
cmp cx, 0x3c
je 0x40c5c6
cmp cx, 0x3e
je 0x40c5c6
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c5ad
sub eax, dword [ebp + 0x3c]
lea ecx, [ebp - 0xa8]
sar eax, 1
push eax
push dword [ebp + 0x3c]
call fcn.0044e844
lea ecx, [ebp + 0x40]
call fcn.00444f6c
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x3c]
call fcn.004567e7
mov eax, dword [ebp + 0x40]
push eax
mov dword [ebp + 0x3c], eax
call fcn.0041101b
lea eax, [ebp + 0x3c]
push eax
call fcn.0043e7bd
cmp dword [ebp - 0x50], ebx
pop ecx
pop ecx
je 0x40c618
push dword [ebp - 0x50]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
push ebx
push 3
lea eax, [ebp - 0x1a8]
push eax
push 7
mov esi, 0xc0000000
push esi
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], ebx
call fcn.00405c00
cmp dword [ebp - 0x50], ebx
jne 0x40c663
push ebx
push 0x2000000
push 3
lea eax, [ebp - 0x1a8]
push eax
push 7
push esi
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x50]
call fcn.00405c00
cmp dword [ebp - 0x50], ebx
jne 0x40c663
mov dword [ebp - 0x50], ebx
lea ecx, [ebp + 0x40]
call fcn.0043e825
lea ecx, [ebp - 0xa8]
call fcn.0043e825
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x3e
jne 0x40c550
mov word [eax], bx
mov eax, dword [ebp + 0x58]
xor esi, esi
cmp word [eax - 2], 0x32
mov byte [ebp + 0x57], 1
jne 0x40c69e
mov byte [ebp + 0x57], 2
mov word [eax - 2], bx
add dword [ebp + 0x58], 2
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x3e
jne 0x40c6b1
add dword [ebp + 0x58], 2
mov esi, edi
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x26
jne 0x40c6c2
add dword [ebp + 0x58], 2
mov byte [ebp + 0x57], 3
lea eax, [ebp + 0x58]
push eax
call fcn.0043e7bd
mov eax, dword [ebp + 0x58]
cmp word [eax], bx
pop ecx
je 0x40c550
mov dword [ebp + 4], eax
jmp 0x40c6ee
cmp cx, 0x3c
je 0x40c6f6
cmp cx, 0x3e
je 0x40c6f6
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c6dd
sub eax, dword [ebp + 4]
lea ecx, [ebp - 0x98]
sar eax, 1
push eax
push dword [ebp + 4]
call fcn.0044e844
lea ecx, [ebp - 0x40]
call fcn.00444f6c
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp - 0x40]
push eax
push dword [ebp + 4]
call fcn.004567e7
mov eax, dword [ebp - 0x40]
push eax
mov dword [ebp + 4], eax
call fcn.0041101b
lea eax, [ebp + 4]
push eax
call fcn.0043e7bd
test byte [ebp + 0x57], 1
pop ecx
pop ecx
je 0x40c751
cmp dword [ebp - 0x18], ebx
je 0x40c74e
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18], ebx
test byte [ebp + 0x57], 2
je 0x40c774
cmp dword [ebp - 0xe0], ebx
je 0x40c76b
push dword [ebp - 0xe0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xe0], ebx
mov dword [ebp], ebx
push ebx
push ebx
push 4
lea eax, [ebp - 0x1a8]
push eax
push 7
push 0x40000000
push dword [ebp + 4]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], ebx
call fcn.00405c00
mov edi, eax
cmp edi, ebx
jne 0x40c809
push ebx
push 0x2000000
push 4
lea eax, [ebp - 0x1a8]
push eax
push 7
push 0x40000000
push dword [ebp + 4]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], ebx
call fcn.00405c00
mov edi, eax
cmp edi, ebx
jne 0x40c809
push ebx
push 0x2000000
push 3
lea eax, [ebp - 0x1a8]
push eax
push 7
push 0x40000000
push dword [ebp + 4]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], ebx
call fcn.00405c00
mov edi, eax
cmp edi, ebx
jne 0x40c809
lea ecx, [ebp - 0x40]
call fcn.0043e825
lea ecx, [ebp - 0x98]
call fcn.0043e825
mov eax, dword [ebp + 0x58]
jmp 0x40c54d
cmp esi, ebx
je 0x40c818
push 2
push ebx
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp byte [ebp + 0x57], 1
jne 0x40c823
mov dword [ebp - 0x18], edi
jmp 0x40c7ee
cmp byte [ebp + 0x57], 3
mov dword [ebp], edi
je 0x40c81e
mov dword [ebp - 0xe0], edi
jmp 0x40c7ee
mov ecx, dword [ebp - 0x50]
cmp ecx, ebx
mov edx, 0x100
je 0x40c84f
lea eax, [ebp - 0x270]
or dword [eax + 0x2c], edx
mov dword [ebp - 4], edi
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x40c865
lea eax, [ebp - 0x270]
or dword [eax + 0x2c], edx
mov dword [ebp - 4], edi
mov dword [eax + 0x3c], ecx
mov ecx, dword [ebp]
cmp ecx, ebx
je 0x40c87b
lea eax, [ebp - 0x270]
or dword [eax + 0x2c], edx
mov dword [ebp - 4], edi
mov dword [eax + 0x40], ecx
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp - 0x168]
push eax
push dword [ebp + 0x38]
call fcn.004567e7
mov eax, dword [ebp - 0x168]
mov dword [ebp + 0x64], eax
push 6
pop edi
mov esi, 0x10000000
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x21
je 0x40c8da
cmp ax, 0x2a
je 0x40c8da
cmp ax, 0x40
jne 0x40c8e3
push str.WinSta0WinLogon
lea ecx, [ebp - 0x11c]
call fcn.0044e8eb
mov ecx, dword [ebp - 0x11c]
inc byte [ebp + 0x1b]
lea eax, [ebp - 0x270]
mov dword [eax + 8], ecx
mov dword [ebp - 0x14], esi
add dword [ebp + 0x64], 2
jmp 0x40c8a0
cmp ax, 0x3d
jne 0x40c8f5
or dword [ebp + 0x20], 1
inc dword [ebp - 0x100]
jmp 0x40c8dd
cmp ax, 0x24
jne 0x40c901
mov byte [ebp + 0x47], 1
jmp 0x40c8dd
cmp ax, 0x26
jne 0x40c910
mov dword [ebp - 0x14], 3
jmp 0x40c8dd
cmp ax, 0x5e
jne 0x40c91b
mov dword [ebp - 0x14], edi
jmp 0x40c8dd
cmp ax, 0x5f
je 0x40c916
cmp dword [ebp - 0x14], esi
je 0x40c94a
cmp byte [ebp + 0x2f], bl
je 0x40c94a
push str.WinSta0Default
lea ecx, [ebp - 0x11c]
call fcn.0044e8eb
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0x270]
mov dword [eax + 8], ecx
lea edi, [ebp - 0x270]
cmp dword [edi + 8], ebx
je 0x40c968
test byte [ebp + 0x1b], 1
je 0x40c968
call fcn.0040a71d
cmp eax, 1
jge 0x40c968
mov dword [edi + 8], ebx
mov eax, dword [ebp + 0x78]
cmp eax, ebx
je 0x40c983
or byte [edi + 0x2d], 1
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp - 4], 1
mov dword [edi + 0x3c], eax
cmp dword [ebp + 0x24], ebx
je 0x40c991
cmp dword [ebp + 0x20], ebx
je 0x40c991
or dword [ebp + 0x24], 0x10
cmp byte [ebp + 0x47], bl
je 0x40c9b1
mov eax, dword [ebp - 0x110]
cmp word [eax], bx
jne 0x40c9b1
push str.open
lea ecx, [ebp - 0x110]
call fcn.0044e88f
cmp byte [ebp - 0x6b], bl
je 0x40ca02
push 0x5c
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edi, eax
cmp edi, ebx
je 0x40c9cb
inc edi
inc edi
jmp 0x40c9ce
mov edi, dword [ebp + 0x64]
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
push eax
push dword [ebp + 0x64]
xor eax, eax
cmp dword [ebp + 0x20], ebx
push 1
setne al
push edi
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
add eax, 0x80000001
push eax
call fcn.0043fa7d
add esp, 0x18
mov ebx, eax
jmp 0x40f357
lea eax, [ebp + 0x64]
push eax
call fcn.0043e7bd
cmp dword [ebp - 0x70], ebx
pop ecx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x12c], ebx
je 0x40cabb
lea ecx, [ebp - 0x40]
mov byte [ebp + 0x47], bl
call fcn.00444f6c
mov ecx, dword [ebp + 0x4c]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x70]
call fcn.00415299
cmp eax, ebx
je 0x40caa9
mov ecx, dword [eax]
cmp word [ecx], bx
je 0x40caa9
push eax
lea ecx, [ebp - 0x40]
call fcn.0044e8bd
push dword [ebp + 0x64]
lea ecx, [ebp - 0x12c]
call fcn.0044e8eb
push dword [ebp - 0x158]
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x40]
call fcn.00408573
mov edi, eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp + 0x28], eax
mov eax, dword [ebp - 0x12c]
add esp, 0x14
lea ecx, [ebp - 0x40]
mov dword [ebp + 0x64], eax
call fcn.0043e825
cmp edi, ebx
je 0x40cabb
mov ebx, edi
jmp 0x40f341
lea ecx, [ebp - 0x40]
call fcn.0043e825
mov ebx, 0x80070057
jmp 0x40f341
mov eax, dword [ebp - 0x140]
cmp word [eax], bx
je 0x40cb1d
push dword [ebp + 0x64]
call fcn.004132c6
pop ecx
push 0xffffffffffffffff
push str.__k:0
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x64], eax
call fcn.0044e85d
push dword [ebp + 0x64]
lea ecx, [ebp + 0x74]
call fcn.00444fd8
push 0x4c2d58
lea ecx, [ebp + 0x74]
call fcn.00444fd8
push dword [ebp - 0x140]
lea ecx, [ebp + 0x74]
call fcn.00444fd8
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp + 0x74]
call fcn.0046ca39
mov ebx, eax
lea ecx, [ebp + 0x74]
jmp 0x40f33c
cmp byte [ebp - 0x71], bl
je 0x40ccea
lea ecx, [ebp + 0x78]
call fcn.00444f6c
push dword [ebp + 0x64]
mov dword [ebp + 0x40], ebx
call fcn.004132c6
pop ecx
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x64], eax
call fcn.00444f6c
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x70]
push eax
push dword [ebp + 0x64]
mov dword [ebp + 8], ebx
call fcn.00499d7e
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, ebx
jne 0x40cb72
lea ecx, [ebp + 0x70]
call fcn.0043e825
lea ecx, [ebp + 0x78]
jmp 0x40caac
mov word [eax - 2], bx
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push dword [ebp + 0x70]
lea ecx, [ebp - 0x48]
mov dword [ebp + 0x74], eax
call fcn.0044e827
push dword [ebp + 8]
mov edi, dword [ebp - 0x48]
lea ecx, [ebp + 0x7c]
call fcn.0044e827
push dword [ebp + 0x74]
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x7c]
push edi
call fcn.00406c97
add esp, 0x14
cmp dword [ebp + 0x40], ebx
mov edi, 0x100
jle 0x40cc09
mov eax, dword [ebp + 0x4c]
cmp dword [eax + 0x28], ebx
jne 0x40cbca
push ebx
push eax
call fcn.00412b52
pop ecx
pop ecx
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax + 0x28]
xor esi, esi
cmp eax, ebx
je 0x40cbd9
mov esi, dword [eax + 0x18]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push ebx
push esi
push ebx
push dword [ebp - 0x190]
push dword [ebp - 0x194]
push 0x128
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_TrackPopupMenu]
push ebx
push ebx
push ebx
push esi
mov edi, eax
call dword [sym.imp.USER32.dll_PostMessageW]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_DestroyMenu]
lea eax, [edi - 0x100]
cmp eax, ebx
jl 0x40ccca
cmp eax, dword [ebp + 0x40]
jge 0x40ccca
cmp eax, ebx
mov ecx, dword [ebp + 0x78]
mov dword [ebp + 0x74], ecx
jle 0x40cc6e
mov esi, eax
lea eax, [ebp + 0x74]
call fcn.00405b9a
mov eax, dword [ebp + 0x74]
movzx eax, word [eax]
push eax
call fcn.00402d65
add esp, 4
test al, al
je 0x40cc54
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
movzx eax, word [eax]
push eax
call fcn.00402d65
add esp, 4
test al, al
je 0x40cc6b
add dword [ebp + 0x74], 2
dec esi
jne 0x40cc35
mov esi, dword [ebp + 0x74]
lea eax, [ebp + 0x74]
call fcn.00405b9a
mov eax, dword [ebp + 0x74]
mov word [eax], bx
cmp word [esi], bx
je 0x40ccca
push 0xffffffffffffffff
push str.__k:0
lea ecx, [ebp + 0x68]
call fcn.0044e85d
push dword [ebp + 0x64]
lea ecx, [ebp + 0x68]
call fcn.00444fd8
push 0x4c2d58
lea ecx, [ebp + 0x68]
call fcn.00444fd8
push esi
lea ecx, [ebp + 0x68]
call fcn.00444fd8
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp + 0x68]
call fcn.0046ca39
lea ecx, [ebp + 0x68]
mov ebx, eax
call fcn.0043e825
lea ecx, [ebp + 0x7c]
call fcn.0043e825
lea ecx, [ebp - 0x48]
call fcn.0043e825
lea ecx, [ebp + 0x70]
call fcn.0043e825
lea ecx, [ebp + 0x78]
jmp 0x40f33c
push dword [ebp + 0x64]
lea ecx, [ebp - 0x120]
call fcn.0044e827
cmp byte [ebp - 0x2d], bl
je 0x40cdba
push str.PECMDpecmd_cmd
lea ecx, [ebp - 0x120]
call fcn.0044e8eb
push 1
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.0041a4ff
add esp, 0xc
push eax
lea ecx, [ebp - 0x120]
mov dword [ebp + 0x64], eax
call fcn.00444fd8
lea eax, [ebp - 0xe8]
push eax
call fcn.0040481f
pop ecx
mov dword [ebp + 0x28], eax
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10000000
mov eax, dword [ebp - 0x120]
mov dword [ebp + 0x64], eax
je 0x40cd58
cmp byte [ebp - 0x59], bl
je 0x40cd62
lea eax, [ebp - 0x270]
or byte [eax + 0x2c], 0x80
xor edi, edi
cmp ecx, ebx
je 0x40cd76
lea eax, [ebp - 0x270]
or dword [eax + 0x2c], 1
mov word [eax + 0x30], cx
mov al, byte [ebp + 0x1b]
and al, 3
inc edi
cmp al, 3
je 0x40cd85
cmp byte [ebp - 0x31], bl
je 0x40cd8f
lea eax, [ebp - 0x270]
or byte [eax + 0x2f], 8
cmp dword [ebp - 0x114], ebx
jg 0x40e52e
lea eax, [ebp - 0x270]
cmp dword [eax + 8], ebx
je 0x40d074
cmp byte [ebp + 0x1b], bl
jle 0x40d074
mov eax, edi
jmp 0x40d076
cmp byte [ebp - 0x41], bl
je 0x40cd3f
cmp dword [ebp - 0x14], esi
je 0x40cd3f
mov eax, dword [ebp - 0x120]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
mov dword [ebp + 4], ebx
call fcn.0041a4ff
mov esi, eax
mov eax, dword [ebp + 0x64]
mov dword [ebp + 4], eax
push 3
lea eax, [ebp + 4]
push eax
push 0x4c2d54
call fcn.00446fac
add esp, 0x18
test al, al
jne 0x40cec4
push 7
lea eax, [ebp + 4]
push eax
push str.cmd.exe
call fcn.00446fac
add esp, 0xc
test al, al
jne 0x40cec4
cmp dword [0x4dccc4], ebx
jne 0x40ce6e
push ebx
push 0x24
lea eax, [ebp - 0x5a0]
push eax
push ebx
mov word [ebp - 0x5a0], bx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x5a0]
mov edi, 0x4dccc4
push eax
mov ecx, edi
call fcn.0044e8eb
push str.System32cmd.exe
mov ecx, edi
call fcn.00444fd8
push dword [0x4dccc4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x4dcc74], ax
movsx eax, word [0x4dcc74]
push eax
push dword [ebp + 4]
mov dword [ebp + 0x38], ebx
push dword [0x4dccc4]
call fcn.0043e70a
add esp, 0xc
test al, al
je 0x40cf39
movsx eax, word [0x4dcc74]
mov ecx, dword [ebp + 4]
lea ecx, [ecx + eax*2]
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x22
je 0x40ceb7
call fcn.0043e785
test al, al
je 0x40cf39
lea eax, [ebp + 4]
push eax
mov dword [ebp + 4], ecx
call fcn.00409344
pop ecx
push 2
lea eax, [ebp + 4]
push eax
push 0x4c2d24
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40cf39
mov eax, dword [ebp + 4]
cmp word [eax], 0x22
jne 0x40cf1f
add eax, 2
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043e7bd
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x22
pop ecx
je 0x40cf14
push 4
lea eax, [ebp + 0x78]
push eax
push str.call
call fcn.00446fac
add esp, 0xc
test al, al
je 0x40cf1c
mov eax, dword [ebp + 0x78]
mov dword [ebp + 4], eax
jmp 0x40cf1f
mov eax, dword [ebp + 4]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.0041a4ff
add esp, 0xc
mov esi, eax
mov dword [ebp + 0x38], 1
mov eax, esi
sub eax, dword [ebp + 0x64]
and eax, 0xfffffffe
cmp eax, 8
jle 0x40cd3f
mov edi, dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
push 4
lea eax, [esi - 8]
push str..cmd
push eax
call edi
test eax, eax
je 0x40cf76
push 4
push str..bat
lea eax, [esi - 8]
push eax
call edi
test eax, eax
jne 0x40cd3f
mov ax, word [esi]
push 0x64
pop ecx
push ebx
push 0x80
push 3
mov word [ebp - 0xa8], ax
xor eax, eax
push ebx
lea edi, [ebp - 0x52c]
rep stosd dword es:[edi], eax
push 7
push 0xc0000000
mov word [esi], bx
push dword [ebp + 0x64]
stosb byte es:[edi], al
lea ecx, [ebp + 0x40]
lea edi, [ebp - 0x52c]
mov byte [ebp + 0x7b], bl
mov dword [ebp + 0x40], ebx
call fcn.00405c00
push ebx
lea eax, [ebp - 0xac]
push eax
push 0x190
mov eax, edi
push eax
push dword [ebp + 0x40]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0xb
mov eax, edi
push eax
push str.::hidecmd::
call dword [sym.imp.SHLWAPI.dll_StrCmpNIA]
test eax, eax
jne 0x40d017
mov al, byte [ebp - 0x52c]
mov dword [ebp - 0x14], 0x10000000
jmp 0x40cfff
cmp al, 0xd
je 0x40d006
cmp al, 0xa
je 0x40d006
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x40cff4
jmp 0x40d006
inc edi
movsx ax, byte [edi]
push eax
call fcn.00402d65
add esp, 4
test al, al
jne 0x40d005
cmp dword [ebp + 0x38], ebx
jne 0x40d047
cmp byte [edi], 0x3a
jne 0x40d02c
cmp byte [edi + 1], 0x3a
jne 0x40d02c
inc edi
inc edi
jmp 0x40d02c
inc edi
cmp byte [edi], 0x40
je 0x40d02b
push 7
push edi
push 0x4c2cf0
call dword [sym.imp.SHLWAPI.dll_StrCmpNIA]
test eax, eax
jne 0x40d047
mov byte [ebp + 0x7b], 1
lea ecx, [ebp + 0x40]
call fcn.00402cc5
cmp byte [ebp + 0x7b], bl
mov ax, word [ebp - 0xa8]
mov word [esi], ax
je 0x40cd3f
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x4c]
call fcn.004223de
mov ebx, eax
jmp 0x40f336
xor eax, eax
cmp eax, ebx
mov dword [ebp + 0x1c], ebx
mov dword [ebp - 0x80], ebx
je 0x40d08a
mov dword [ebp - 0x80], edi
mov dword [ebp + 0x1c], 4
cmp byte [ebp - 0x61], bl
je 0x40d093
or dword [ebp + 0x1c], 0x10
push eax
lea ecx, [ebp - 0xa8]
call fcn.00402dab
cmp byte [0x4dce8c], bl
mov esi, dword [ebp + 0x68]
mov dword [ebp + 0x38], 0x4dd0f0
jne 0x40d0cc
cmp esi, ebx
je 0x40d0ba
cmp byte [esi + 8], bl
jne 0x40d0cc
cmp byte [ebp - 0x51], bl
mov byte [ebp + 0x7b], bl
je 0x40d0d0
cmp esi, ebx
je 0x40d0d0
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x38], eax
mov byte [ebp + 0x7b], 1
push ebx
lea ecx, [ebp + 0x40]
call fcn.0044e827
cmp byte [ebp + 0x7b], bl
mov dword [ebp + 0x68], ebx
je 0x40d36d
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push ebx
lea ecx, [ebp - 0x30c]
call fcn.00415151
cmp esi, ebx
je 0x40d10f
push dword [ebp + 0x38]
lea ecx, [ebp - 0x30c]
push esi
call fcn.004410a9
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov edi, eax
push 0x106
lea ecx, [ebp]
mov dword [ebp - 0xc4], edi
call fcn.00444f8a
mov eax, dword [ebp]
mov dword [ebp + 0x68], eax
jmp 0x40d1ab
mov dword [ebp + 0x78], edi
jmp 0x40d13d
cmp ax, 0x3d
je 0x40d147
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40d137
mov esi, edi
sub esi, dword [ebp + 0x78]
sar esi, 1
cmp word [edi], bx
je 0x40d1a9
cmp word [edi + 2], bx
je 0x40d1a4
cmp esi, 0x104
jg 0x40d1a4
push esi
push dword [ebp + 0x78]
push dword [ebp + 0x68]
call fcn.00405b5e
mov eax, dword [ebp + 0x68]
add esp, 0xc
push ebx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x30c]
mov word [eax + esi*2], bx
call fcn.00410e94
test eax, eax
jne 0x40d1a4
push 0xffffffffffffffff
push esi
lea eax, [edi + 2]
push eax
push dword [ebp + 0x78]
lea ecx, [ebp - 0x30c]
call fcn.004151f5
jmp 0x40d1a4
inc edi
inc edi
cmp word [edi], bx
jne 0x40d1a2
inc edi
inc edi
cmp word [edi], bx
jne 0x40d132
push dword [ebp - 0xc4]
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, dword [ebp - 0x308]
xor esi, esi
cmp eax, ebx
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x78], ebx
jle 0x40d275
mov eax, dword [ebp + 0x78]
mov dword [ebp - 0x90], eax
inc eax
cmp eax, dword [ebp + 0x3c]
mov dword [ebp - 0xe4], eax
mov dword [ebp + 0x68], eax
jge 0x40d263
mov eax, dword [ebp + 0x78]
shl eax, 2
mov dword [ebp - 0xc4], eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp + 0x38]
mov ecx, dword [ecx + eax]
mov edi, dword [ebp + 0x68]
mov ecx, dword [ecx]
shl edi, 2
mov eax, dword [edi + eax]
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jge 0x40d22c
mov ecx, dword [ebp + 0x68]
mov dword [ebp - 0x90], ecx
mov dword [ebp + 0x38], edi
jmp 0x40d232
mov ecx, dword [ebp - 0x90]
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x3c]
jl 0x40d1f9
cmp ecx, dword [ebp + 0x78]
je 0x40d263
mov edx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0xc4]
add eax, edx
mov edi, dword [eax]
shl ecx, 2
mov edx, dword [ecx + edx]
mov dword [eax], edx
mov eax, dword [ebp - 0x30c]
mov dword [ecx + eax], edi
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp + 0x3c]
mov dword [ebp + 0x78], eax
jl 0x40d1d2
cmp dword [ebp + 0x3c], ebx
mov dword [ebp + 0x78], ebx
jle 0x40d2b7
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp + 0x78]
mov eax, dword [eax + ecx*4]
push dword [eax]
call edi
mov ecx, dword [ebp + 0x78]
lea esi, [esi + eax + 1]
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + ecx*4]
push dword [eax + 4]
call edi
inc dword [ebp + 0x78]
lea esi, [esi + eax + 3]
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x3c]
jl 0x40d283
add esi, 4
push esi
lea ecx, [ebp + 0x40]
call fcn.00444fb1
mov edi, dword [ebp + 0x40]
xor esi, esi
cmp dword [ebp + 0x3c], ebx
mov dword [ebp + 0x68], edi
jle 0x40d339
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + esi*4]
mov eax, dword [eax]
push eax
mov dword [ebp + 0x78], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push dword [ebp + 0x78]
mov dword [ebp + 8], eax
push edi
call fcn.00405b5e
mov eax, dword [ebp + 8]
lea edi, [edi + eax*2]
mov word [edi], 0x3d
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 4]
add esp, 0xc
inc edi
push eax
inc edi
mov dword [ebp + 0x78], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push dword [ebp + 0x78]
mov dword [ebp + 8], eax
push edi
call fcn.00405b5e
mov eax, dword [ebp + 8]
lea edi, [edi + eax*2]
add esp, 0xc
mov word [edi], bx
inc edi
inc edi
inc esi
cmp esi, dword [ebp + 0x3c]
jl 0x40d2d0
mov word [edi], bx
lea ecx, [ebp]
mov word [edi + 2], bx
call fcn.0043e825
push ebx
lea ecx, [ebp - 0x30c]
call fcn.004360a8
lea ecx, [ebp - 0x2cc]
call fcn.0043e825
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor edi, edi
inc edi
mov ecx, dword [ebp - 0x60]
xor al, al
cmp word [ecx], 0x40
jne 0x40d37c
inc al
jmp 0x40d386
cmp dword [ebp - 0xcc], ebx
je 0x40d386
mov al, 2
cmp word [ebp + 0x34], bx
je 0x40d48c
or dword [ebp + 0x20], edi
or dword [ebp + 0x34], 8
neg al
sbb eax, eax
and eax, 0xfff01000
add eax, 0x100000
mov esi, eax
call fcn.00440ef7
push eax
lea eax, [ebp - 0x290]
push str..pipepecmd_exec__u
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push ebx
push edi
push esi
push esi
push 0xff
push 6
push 0x40000003
lea eax, [ebp - 0x290]
push eax
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
cmp eax, ebx
mov dword [ebp - 0x78], eax
je 0x40d425
cmp eax, 0xffffffff
je 0x40d425
push 0xffffffffffffffff
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp + 0x78]
call fcn.0044e85d
push ebx
push ebx
push 3
lea ecx, [ebp - 0x1a8]
push ecx
push 7
push 0xc0000000
push dword [eax]
lea ecx, [ebp - 0xdc]
call fcn.00405c00
lea ecx, [ebp + 0x78]
call fcn.0043e825
jmp 0x40d42c
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [ebp - 0xdc]
push ebx
push ebx
lea eax, [ebp - 0xc4]
push eax
push esi
mov dword [ebp - 0xc4], 2
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
push ebx
push edi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x270]
or byte [eax + 0x2d], 1
test byte [ebp + 0x32], 2
mov dword [ebp - 0xa0], edi
mov dword [ebp - 4], edi
jne 0x40d480
cmp byte [ebp + 0x32], bl
jne 0x40d483
mov dword [eax + 0x3c], esi
test byte [ebp + 0x32], 1
je 0x40d48c
mov dword [eax + 0x40], esi
mov eax, 0x4ddd50
push eax
mov dword [ebp - 0xac], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0x68]
neg eax
sbb eax, eax
and eax, 0x400
or eax, dword [ebp - 0x24]
mov dword [ebp + 0x3c], ebx
or dword [ebp + 0x1c], eax
cmp byte [ebp - 0x2e], bl
mov dword [ebp - 0x38], ebx
mov dword [ebp], ebx
je 0x40d4c5
or dword [ebp + 0x1c], 0x1000004
cmp byte [ebp - 0x39], bl
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xe4], ebx
je 0x40d4e9
lea eax, [ebp - 0xc4]
push eax
call fcn.00403ef8
pop ecx
mov dword [ebp - 0xe4], eax
cmp byte [ebp + 0x47], bl
mov esi, dword [ebp + 0x28]
je 0x40d4f9
cmp esi, ebx
je 0x40e2bb
cmp byte [ebp - 0x6a], bl
je 0x40d5bb
cmp word [ebp - 0x2c], bx
jne 0x40d5bb
cmp word [ebp + 0xc], bx
jne 0x40d5bb
push dword [ebp + 0x64]
lea eax, [ebp + 0x3c]
push esi
push dword [ebp + 0x50]
push eax
call fcn.0040474b
mov edi, eax
push edi
call fcn.00404843
add esp, 0x14
test eax, eax
jne 0x40d7d5
cmp dword [ebp - 0x10], ebx
push ebx
je 0x40d57f
movzx eax, word [ebp - 0x10]
push 0x4c24d4
push ebx
or eax, 2
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp + 0x1c]
push edi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.00405cc7
add esp, 0x38
mov dword [ebp - 8], eax
jmp 0x40e089
call fcn.004046b0
pop ecx
mov dword [ebp - 0x160], eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp + 0x1c]
push edi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
push dword [ebp - 0x160]
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
jmp 0x40d577
mov eax, dword [ebp - 0xbc]
cmp word [eax], bx
je 0x40d7a7
cmp word [ebp - 0x2c], bx
jne 0x40d7a7
cmp word [ebp + 0xc], bx
jne 0x40d7a7
xor edi, edi
inc edi
cmp byte [ebp - 0x2f], bl
mov dword [ebp - 8], ebx
je 0x40d647
push eax
lea ecx, [ebp - 0x84]
call fcn.00402d26
lea ecx, [ebp + 0x78]
call fcn.00444df8
push dword [ebp - 0xbc]
call fcn.0043e731
lea eax, [ebp + 0x78]
push eax
push dword [ebp - 0x84]
call fcn.0044af8b
add esp, 0xc
push 0xffffffffffffffff
mov edi, eax
neg edi
push 0xffffffffffffffff
push dword [ebp + 0x78]
sbb edi, edi
lea ecx, [ebp - 0xbc]
neg edi
call fcn.00445027
lea ecx, [ebp + 0x78]
call fcn.0043e772
lea ecx, [ebp - 0x84]
call fcn.0043e772
cmp byte [ebp - 9], bl
je 0x40d6b6
push dword [ebp - 0xb8]
lea ecx, [ebp - 0x84]
call fcn.00402d26
lea ecx, [ebp + 0x78]
call fcn.00444df8
push dword [ebp - 0xb8]
call fcn.0043e731
cmp edi, ebx
pop ecx
je 0x40d68f
lea eax, [ebp + 0x78]
push eax
push dword [ebp - 0x84]
call fcn.0044af8b
test eax, eax
pop ecx
pop ecx
je 0x40d68f
xor edi, edi
inc edi
jmp 0x40d691
xor edi, edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x78]
lea ecx, [ebp - 0xb8]
call fcn.00445027
lea ecx, [ebp + 0x78]
call fcn.0043e772
lea ecx, [ebp - 0x84]
call fcn.0043e772
cmp edi, ebx
je 0x40d78a
mov edi, dword [ebp - 0xbc]
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
push 0x40
push edi
call esi
cmp eax, ebx
jne 0x40d6dc
push 0x5c
push edi
call esi
cmp eax, ebx
je 0x40d6ea
mov word [eax], bx
mov esi, dword [ebp - 0xbc]
lea edi, [eax + 2]
jmp 0x40d6ef
mov esi, 0x4c24d4
push dword [ebp + 0x64]
lea eax, [ebp + 0x3c]
push dword [ebp + 0x28]
push dword [ebp + 0x50]
push eax
call fcn.0040474b
push eax
mov dword [ebp + 0x50], eax
call fcn.00404843
add esp, 0x14
test eax, eax
jne 0x40d7d5
cmp dword [ebp - 0x10], ebx
je 0x40d755
push dword [ebp - 0xb8]
movzx eax, word [ebp - 0x10]
push esi
push edi
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x68]
or eax, 1
push eax
push ebx
push ebx
push ebx
push dword [ebp + 0x64]
push dword [ebp + 0x28]
call fcn.00405cc7
add esp, 0x38
jmp 0x40d787
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x68]
or eax, 1
push dword [ebp + 0x1c]
push dword [ebp + 0x64]
push dword [ebp + 0x28]
push eax
push dword [ebp - 0xb8]
push esi
push edi
call dword [sym.imp.ADVAPI32.dll_CreateProcessWithLogonW]
mov dword [ebp - 8], eax
push dword [ebp - 0xb8]
call fcn.0043e731
push dword [ebp - 0xbc]
call fcn.0043e731
pop ecx
pop ecx
jmp 0x40e089
cmp byte [ebp + 0x33], bl
je 0x40d828
cmp esi, ebx
je 0x40d7b6
cmp word [esi], 0x26
je 0x40d828
cmp word [ebp - 0x20], bx
jne 0x40d828
cmp word [ebp - 0x2c], bx
jne 0x40d828
cmp word [ebp + 0xc], bx
jne 0x40d828
push dword [ebp + 0x50]
call fcn.00404843
test eax, eax
pop ecx
je 0x40d7e1
mov dword [ebp + 0x14], 3
jmp 0x40e3c6
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
push dword [ebp + 0x68]
push dword [ebp + 0x1c]
push dword [ebp - 4]
push dword [ebp + 0x64]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0049de46
xor ecx, ecx
add esp, 0x2c
test eax, eax
setg cl
mov dword [ebp - 8], ecx
jmp 0x40e089
lea ecx, [ebp - 0xd8]
mov dword [ebp + 0x28], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp + 0x78], esi
mov dword [ebp - 0x68], esi
call fcn.00444df8
cmp word [ebp + 0xc], bx
lea eax, [ebp - 0x90]
mov dword [ebp - 0x7c], eax
lea eax, [ebp + 0x58]
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 8], eax
je 0x40d91b
push 0x22
pop edi
cmp word [esi], di
jne 0x40d884
add esi, 2
mov dword [ebp + 0x78], esi
push 0x3a
lea eax, [ebp + 0x78]
mov dword [ebp - 0xa4], esi
call fcn.00405bbb
mov eax, dword [ebp + 0x78]
cmp eax, esi
pop ecx
je 0x40d8a6
cmp word [eax - 2], di
jne 0x40d8a6
mov word [eax - 2], bx
cmp word [eax], 0x3a
jne 0x40d8b1
mov word [eax], bx
inc eax
inc eax
cmp word [eax], di
mov esi, eax
jne 0x40d8ca
lea esi, [eax + 2]
inc eax
inc eax
cmp word [eax], di
jne 0x40d8c5
mov word [eax], bx
cmp word [eax], bx
jne 0x40d8bb
cmp word [ebp - 0x2c], bx
je 0x40d8e8
push 0x3a
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp + 0x28], eax
je 0x40d8e8
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x28], eax
push ebx
push ebx
push 0x10000
push esi
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0xa4]
call fcn.0043c37c
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd0]
add esp, 0x18
add ecx, eax
mov dword [ebp + 0x14], ecx
jmp 0x40db4c
cmp esi, ebx
je 0x40d9ed
cmp word [esi], 0x26
jne 0x40d9d4
mov ecx, dword [ebp + 0x4c]
push ebx
push 0xffffffffffffffff
push ebx
push esi
call fcn.00410e94
mov esi, eax
cmp esi, ebx
jne 0x40d99b
lea ecx, [ebp + 0x58]
call fcn.0043e825
lea ecx, [ebp - 0xd8]
call fcn.0043e825
lea ecx, [ebp - 0x24]
call fcn.0043e825
lea ecx, [ebp]
call fcn.0043e825
lea ecx, [ebp - 0x38]
call fcn.0043e825
lea ecx, [ebp + 0x3c]
call fcn.0043e825
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp + 0x40]
call fcn.0043e825
lea ecx, [ebp - 0xa8]
call fcn.00414c55
mov ebx, 0x80070057
jmp 0x40f336
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xd4], eax
add eax, 0x10
push eax
lea ecx, [ebp - 0xd8]
call fcn.00444e3a
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xd4]
inc eax
push eax
push dword [esi + 4]
push dword [ebp - 0xd8]
call fcn.004145c5
add esp, 0xc
jmp 0x40db4c
mov al, byte [ebp + 0x31]
neg al
sbb eax, eax
and eax, 2
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.0044d18c
pop ecx
pop ecx
mov dword [ebp - 0x70], eax
mov edi, dword [ebp - 0x70]
cmp edi, ebx
mov dword [ebp - 0x19c], ebx
jne 0x40da90
mov eax, dword [ebp + 0x64]
cmp eax, ebx
je 0x40da0e
cmp word [eax], 0x2a
jne 0x40da0e
inc dword [ebp - 0x20]
cmp byte [ebp + 0x33], bl
je 0x40da16
mov dword [ebp - 0x20], ebx
cmp word [ebp - 0x2c], bx
je 0x40e0a2
push 0x3a
push ebx
push dword [ebp - 0x68]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov edi, eax
cmp edi, ebx
mov dword [ebp + 0x28], edi
je 0x40da85
push 2
pop eax
mov word [edi], bx
add edi, eax
mov dword [ebp + 0x28], edi
je 0x40da85
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x68]
cmp word [eax], 0x22
mov dword [ebp - 0x7c], ebx
mov dword [ebp + 8], ebx
jne 0x40da75
inc eax
inc eax
mov dword [ebp - 0x68], eax
mov dword [ebp + 0x78], eax
push 0x22
lea eax, [ebp + 0x78]
call fcn.00405bbb
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
je 0x40da75
mov word [eax], bx
push dword [ebp - 0x68]
lea ecx, [ebp + 0x58]
call fcn.0044e88f
jmp 0x40db7e
mov edi, dword [ebp - 0x70]
cmp edi, ebx
je 0x40e0a2
cmp word [ebp - 0x2c], bx
je 0x40daaf
push 0x3a
push ebx
push edi
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
mov dword [ebp + 0x28], eax
je 0x40daaf
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x28], eax
add dword [ebp - 0x70], 2
push str.EXEDATA
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00455169
mov ecx, dword [0x4dcfa8]
mov si, word [edi]
mov word [edi], bx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0xa4], eax
mov dword [ebp + 0x38], 0x20
mov ax, word [edx]
add esp, 0xc
cmp ax, 0x2e
mov dword [ebp + 0x78], ebx
jne 0x40daf9
cmp word [edx + 2], bx
je 0x40db0d
cmp ax, bx
je 0x40db0d
push 2
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov ecx, eax
mov dword [ebp + 0x78], ecx
cmp ecx, ebx
mov word [edi], si
je 0x40db3e
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0xa4]
mov dword [ebp + 0x38], 0x20
push dword [ebp - 0x19c]
push ecx
call fcn.004155b1
add esp, 0x14
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x78], ebx
je 0x40db4c
push dword [ebp + 0x78]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0xd4], ebx
je 0x40e06e
cmp dword [ebp + 0x14], ebx
je 0x40e06e
cmp word [ebp - 0x20], bx
mov dword [ebp - 0x118], 1
ja 0x40db7b
cmp word [ebp - 0x2c], bx
je 0x40df93
mov edi, dword [ebp + 0x28]
cmp dword [ebp + 8], ebx
mov eax, dword [ebp - 0x124]
jne 0x40db8e
mov eax, 0x4c2350
push eax
push str.exedat
push dword [ebp - 0x7c]
lea eax, [ebp - 0x58]
push dword [ebp + 8]
push eax
call fcn.00405fc7
add esp, 0x14
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x38]
call fcn.0044e8bd
mov esi, dword [ebp - 0x90]
lea eax, [ebp + 0x58]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x90]
cmp esi, ebx
mov dword [ebp - 0x7c], eax
setne al
cmp al, bl
mov dword [ebp - 0x144], ebx
je 0x40dbfe
push ebx
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0xd4]
push dword [ebp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call fcn.004427b0
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40dc0b
cmp dword [ebp - 0x118], 1
jle 0x40e06e
cmp edi, ebx
push dword [ebp - 0x58]
mov byte [ebp + 0x7b], bl
je 0x40dd69
mov eax, dword [ebp + 0x58]
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x58], ebx
call fcn.0044e8eb
push str..ex
lea ecx, [ebp + 0x58]
call fcn.00444fd8
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp - 0x38]
call fcn.0044e8bd
cmp word [edi], 0x5c
mov esi, edi
je 0x40dc53
lea esi, [edi - 2]
mov word [esi], 0x5c
push ebx
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp word [ebp - 0x2c], 1
jne 0x40dcac
push 0x4c2c98
lea ecx, [ebp + 0xc]
call fcn.00401000
push dword [ebp + 0x38]
lea ecx, [ebp + 0xc]
call fcn.00444fd8
push 0x4c2c90
lea ecx, [ebp + 0xc]
call fcn.00444fd8
push dword [ebp + 0x58]
lea ecx, [ebp + 0xc]
call fcn.00444fd8
push dword [ebp + 0xc]
mov ecx, dword [ebp + 0x4c]
call fcn.00430d00
lea ecx, [ebp + 0xc]
call fcn.0043e825
jmp 0x40dd4a
cmp word [ebp - 0x2c], 0x100
jne 0x40dd4a
push 0xf
pop ecx
xor eax, eax
mov dword [ebp - 0x398], 0x44
mov dword [ebp - 0x394], ebx
lea edi, [ebp - 0x390]
rep stosd dword es:[edi], eax
mov dword [ebp - 0xfc], ebx
lea edi, [ebp - 0xf8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x398]
push eax
push dword [ebp - 0x38]
mov dword [ebp - 0x36c], 0x80
push ebx
push dword [ebp - 0x1c]
push ebx
push ebx
push ebx
push 0x4c2c88
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
push 0xffffffffffffffff
push dword [ebp - 0xfc]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [ebp - 0xfc], ebx
je 0x40dd36
push dword [ebp - 0xfc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0xf8], ebx
je 0x40dd4a
push dword [ebp - 0xf8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
lea ecx, [ebp + 0x58]
call fcn.00444fd8
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp + 0x3c]
call fcn.0044e8bd
lea ecx, [ebp + 0x38]
call fcn.0043e825
jmp 0x40dd71
lea ecx, [ebp - 0x38]
call fcn.0044e8eb
mov edx, dword [ebp + 0x64]
mov si, word [edx]
cmp si, 0x22
mov eax, edx
jne 0x40dd82
lea eax, [edx + 2]
cmp word [eax], 0x3f
jne 0x40de0f
lea edi, [eax + 2]
mov cx, word [edi]
cmp cx, 0x3f
jne 0x40dda0
mov esi, dword [ebp + 0x58]
lea edi, [eax + 4]
jmp 0x40dde4
cmp cx, 0x5c
jne 0x40de0f
cmp si, 0x22
je 0x40dde1
mov eax, dword [ebp - 0x38]
mov esi, 0x104
push esi
lea ecx, [ebp - 0x38]
mov dword [ebp + 0x38], eax
mov dword [ebp - 0x38], ebx
call fcn.00444fb1
mov eax, dword [ebp - 0x38]
push esi
mov word [eax], bx
push dword [ebp - 0x38]
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
lea ecx, [ebp + 0x38]
call fcn.0043e825
mov edx, dword [ebp + 0x64]
mov esi, dword [ebp - 0x38]
cmp word [edx], 0x22
jne 0x40ddf7
push 0x4c1cd0
lea ecx, [ebp]
call fcn.0044e8eb
push esi
lea ecx, [ebp]
call fcn.00444fd8
push edi
lea ecx, [ebp]
call fcn.00444fd8
mov edx, dword [ebp]
mov dword [ebp + 0x64], edx
cmp dword [ebp + 0x28], ebx
je 0x40de72
cmp word [ebp - 0x20], bx
ja 0x40de48
lea eax, [ebp - 0xd8]
push eax
push dword [ebp + 0x3c]
mov dword [ebp + 0x28], ebx
call fcn.00414f75
cmp dword [ebp - 0xd4], ebx
pop ecx
pop ecx
je 0x40de6f
mov eax, dword [ebp - 0xd8]
mov byte [ebp + 0x7b], 1
mov dword [ebp + 0x14], eax
jmp 0x40df64
cmp byte [ebp + 0x47], bl
je 0x40de72
cmp dword [ebp + 0x50], ebx
jne 0x40de58
mov eax, dword [ebp - 0x38]
mov dword [ebp + 0x50], eax
cmp word [ebp - 0x20], 2
mov dword [ebp + 0x28], ebx
mov byte [ebp + 0x7b], 2
jb 0x40e2a0
jmp 0x40df64
mov edx, dword [ebp + 0x64]
cmp dword [ebp + 0x28], ebx
mov edi, dword [ebp + 0x58]
je 0x40de84
mov eax, dword [ebp + 0x28]
cmp word [eax], bx
jne 0x40de84
xor edi, edi
mov eax, dword [ebp + 0x50]
cmp eax, ebx
jne 0x40de8e
mov eax, dword [ebp - 0x38]
push edx
push dword [ebp + 0x58]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.0040474b
mov esi, eax
push esi
mov dword [ebp + 0x50], esi
call fcn.00404843
add esp, 0x14
test eax, eax
jne 0x40e0c2
cmp dword [ebp + 0x24], ebx
je 0x40dee6
push dword [ebp + 0x24]
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp + 0x1c]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00403088
add esp, 0x2c
jmp 0x40df4d
cmp dword [ebp - 0x10], ebx
je 0x40df23
movzx eax, word [ebp - 0x10]
push ebx
push 0x4c24d4
push ebx
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp + 0x1c]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00405cc7
add esp, 0x38
jmp 0x40df4d
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp + 0x1c]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.004adfe2
add esp, 0x28
cmp byte [ebp - 0x20], 2
mov dword [ebp - 8], eax
jl 0x40e06e
cmp word [ebp - 0x2c], bx
jne 0x40e06e
cmp byte [ebp + 0x7b], 1
jne 0x40df6f
or eax, 0xffffffff
jmp 0x40df78
lea eax, [ebp - 0x18c]
mov eax, dword [eax + 8]
push eax
push dword [ebp - 0x58]
call fcn.0040392c
cmp byte [ebp + 0x7b], 1
mov eax, dword [ebp - 0x58]
pop ecx
pop ecx
mov word [eax], bx
jne 0x40e099
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x22
mov edi, eax
jne 0x40dfa1
add eax, 2
cmp word [eax], 0x3f
mov dword [ebp + 0x38], ebx
jne 0x40dfc8
cmp word [eax + 2], 0x5c
jne 0x40dfc8
lea edi, [eax + 4]
cmp word [edi], 0x22
jne 0x40dfc8
dec edi
dec edi
mov ax, word [edi]
mov word [ebp + 0x38], ax
mov word [edi], 0x22
push dword [ebp + 0x50]
call fcn.00404843
test eax, eax
pop ecx
jne 0x40e0c2
lea eax, [ebp - 0x58]
push eax
push ebx
lea esi, [ebp - 0x18c]
push esi
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
push dword [ebp + 0x68]
push dword [ebp + 0x1c]
push dword [ebp - 4]
push edi
push dword [ebp - 0xd4]
push dword [ebp + 0x14]
call fcn.0049de46
add esp, 0x2c
cmp word [ebp + 0x38], bx
mov dword [ebp - 0xa4], eax
je 0x40e01d
mov ax, word [ebp + 0x38]
mov word [edi], ax
cmp dword [ebp - 0xa4], ebx
jl 0x40db7b
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x40db7b
push esi
push ebx
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, ebx
je 0x40db7b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
cmp dword [ebp - 0xa4], ebx
setg al
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x58]
cmp eax, ebx
je 0x40e06e
cmp word [eax], bx
jne 0x40df64
lea ecx, [ebp + 0x58]
call fcn.0043e825
lea ecx, [ebp - 0xd8]
call fcn.0043e825
lea ecx, [ebp - 0x24]
call fcn.0043e825
cmp dword [ebp - 8], ebx
je 0x40e3b8
xor eax, eax
jmp 0x40e3be
cmp byte [ebp + 0x7b], 2
jmp 0x40e29a
push dword [ebp + 0x64]
lea eax, [ebp + 0x3c]
push esi
push dword [ebp + 0x50]
push eax
call fcn.0040474b
push eax
mov dword [ebp + 0x50], eax
call fcn.00404843
add esp, 0x14
test eax, eax
je 0x40e0e9
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x14], 3
call fcn.0043e825
lea ecx, [ebp - 0xd8]
call fcn.0043e825
lea ecx, [ebp - 0x24]
call fcn.0043e825
jmp 0x40e3c6
cmp word [ebp + 0x34], bx
jne 0x40e16c
push 0x5c
push ebx
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov edi, eax
cmp edi, ebx
je 0x40e105
inc edi
inc edi
jmp 0x40e108
mov edi, dword [ebp + 0x64]
push 8
push edi
push str.winpeshl
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40e13a
xor eax, eax
mov ax, word [edi + 0x10]
cmp ax, bx
je 0x40e136
cmp ax, 0x2e
je 0x40e136
call fcn.0043e785
test al, al
je 0x40e13a
mov byte [ebp + 0x13], 1
push 8
push edi
push str.wpeinit
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x40e16c
xor eax, eax
mov ax, word [edi + 0xe]
cmp ax, bx
je 0x40e168
cmp ax, 0x2e
je 0x40e168
call fcn.0043e785
test al, al
je 0x40e16c
mov byte [ebp + 0x13], 1
test byte [ebp + 0x73], 1
jne 0x40e177
cmp dword [ebp - 0x4c], ebx
je 0x40e19f
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
push eax
push dword [ebp + 0x64]
push 1
push str.Shell.x
push str.SOFTWAREPELOGON
push 0x80000002
call fcn.0043fa7d
add esp, 0x18
cmp dword [ebp + 0x24], ebx
je 0x40e1d5
push dword [ebp + 0x24]
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x1c]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.00403088
add esp, 0x2c
jmp 0x40e240
cmp dword [ebp - 0x10], ebx
je 0x40e214
movzx eax, word [ebp - 0x10]
push ebx
push 0x4c24d4
push ebx
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x1c]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.00405cc7
add esp, 0x38
jmp 0x40e240
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x1c]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.004adfe2
add esp, 0x28
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x40e24a
mov byte [ebp + 0x13], bl
cmp byte [ebp + 0x13], bl
je 0x40e275
call fcn.0041a807
test eax, eax
je 0x40e25c
or dword [ebp + 0x20], 1
cmp dword [ebp + 0x20], ebx
jne 0x40e275
push str.waitpeinit.pecmd
call fcn.004ae00b
neg eax
sbb eax, eax
neg eax
pop ecx
mov dword [ebp + 0x20], eax
cmp dword [ebp - 8], ebx
jne 0x40e06e
cmp byte [ebp + 0x47], bl
jne 0x40e06e
cmp esi, ebx
jne 0x40e06e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xc1
jne 0x40e06e
lea ecx, [ebp + 0x58]
call fcn.0043e825
lea ecx, [ebp - 0xd8]
call fcn.0043e825
lea ecx, [ebp - 0x24]
call fcn.0043e825
push 0xd
xor eax, eax
pop ecx
lea edi, [ebp - 0x2a4]
mov dword [ebp - 0x2ac], 0x3c
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov dword [ebp - 0x2a8], 0x4540
jne 0x40e2e6
push 5
pop eax
movzx eax, ax
mov dword [ebp - 0x290], eax
mov eax, dword [ebp + 0x50]
cmp eax, ebx
je 0x40e301
cmp word [eax], bx
je 0x40e301
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x78], eax
mov dword [ebp - 0x29c], eax
push 1
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x68], ebx
call fcn.0041a4ff
mov esi, eax
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [esi], bx
jne 0x40e33d
cmp eax, dword [ebp + 0x64]
je 0x40e358
push dword [ebp + 0x68]
lea ecx, [ebp - 0x16c]
push eax
call fcn.00445090
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x29c], eax
cmp word [esi], bx
je 0x40e363
mov dword [ebp - 0x298], esi
push ebx
push 0x4dcbd8
push str.Kernel32.DLL
push str.GetProcessID
call fcn.0043fcc1
mov edi, dword [0x4dcbd8]
add esp, 0x10
lea eax, [ebp - 0x2ac]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp edi, ebx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x274]
lea esi, [ebp - 0x18c]
mov dword [esi], eax
mov dword [ebp - 0x274], ebx
je 0x40e089
push eax
call edi
mov dword [esi + 8], eax
jmp 0x40e089
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x74]
mov dword [ecx], eax
mov dword [ebp + 0x14], eax
lea ecx, [ebp - 0x98]
call fcn.00402cc5
cmp dword [ebp - 0xe4], ebx
je 0x40e3e5
push dword [ebp - 0xc4]
call fcn.00403f09
pop ecx
lea esi, [ebp - 0xc8]
mov eax, dword [esi]
cmp eax, ebx
je 0x40e3f8
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x130], ebx
mov dword [esi], ebx
je 0x40e41c
push dword [ebp - 0x130]
lea eax, [ebp - 0x18c]
push dword [eax + 8]
push dword [ebp + 0x4c]
call fcn.00447638
add esp, 0xc
mov edx, dword [ebp - 0x164]
cmp edx, ebx
je 0x40e46c
push 0x26
pop esi
cmp word [edx], si
mov ecx, edx
jne 0x40e43f
lea eax, [edx + 2]
jmp 0x40e43a
mov ecx, eax
lea eax, [ecx + 2]
cmp word [eax], si
je 0x40e435
cmp word [ecx], si
mov eax, ecx
jne 0x40e44d
lea eax, [ecx + 2]
jmp 0x40e44d
inc eax
inc eax
cmp word [eax], 0x3a
je 0x40e44b
cmp word [eax], bx
je 0x40e46c
push edx
lea eax, [ebp - 0x18c]
push dword [eax]
push dword [ebp + 0x4c]
call fcn.0042c5b8
add esp, 0xc
cmp byte [ebp - 0x2e], bl
je 0x40e492
lea esi, [ebp - 0x18c]
cmp dword [esi], ebx
je 0x40e492
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateJobObjectW]
push dword [esi]
mov dword [ebp - 0x104], eax
push eax
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
push str.__LastPID
lea edi, [ebp - 0x18c]
push dword [edi + 8]
push dword [ebp + 0x4c]
call fcn.00447638
push str.__LastTID
push dword [edi + 0xc]
push dword [ebp + 0x4c]
call fcn.00447638
add esp, 0x18
cmp dword [ebp - 0x80], ebx
je 0x40e4d1
push dword [edi]
push 4
push str.SeDebugPrivilege
call fcn.0041372b
add esp, 0xc
test byte [ebp + 0x1c], 4
je 0x40e4e5
mov edi, dword [edi + 4]
cmp edi, ebx
je 0x40e4e5
push edi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
lea ecx, [ebp]
call fcn.0043e825
lea ecx, [ebp - 0x38]
call fcn.0043e825
lea ecx, [ebp + 0x3c]
call fcn.0043e825
lea ecx, [ebp - 0xac]
call fcn.00402cb4
lea ecx, [ebp + 0x40]
call fcn.0043e825
lea ecx, [ebp - 0xa8]
call fcn.00414c55
lea eax, [ebp - 0xdc]
mov eax, dword [eax]
cmp eax, ebx
je 0x40e52e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0xdc]
lea edi, [ebp - 0xc0]
mov dword [eax], ebx
mov eax, dword [edi]
cmp eax, ebx
je 0x40e54b
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x50]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e559
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x18]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e567
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0xe0]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e578
push eax
call esi
cmp byte [ebp + 0x73], bl
mov dword [edi], ebx
jne 0x40e584
cmp byte [ebp + 0x30], bl
je 0x40e5d7
lea edi, [ebp - 0x18c]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e59c
push 0x1388
push eax
call dword [sym.imp.USER32.dll_WaitForInputIdle]
cmp byte [ebp + 0x73], bl
je 0x40e5d7
test byte [ebp + 0x73], 1
je 0x40e5be
mov eax, dword [edi]
push dword [edi + 8]
neg eax
sbb eax, eax
and eax, 2
or eax, 1
push eax
call fcn.0042b1c4
pop ecx
pop ecx
cmp dword [ebp - 0x134], ebx
je 0x40e5d7
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push ebx
push dword [ebp - 0x134]
call fcn.00434146
cmp dword [ebp - 8], ebx
jne 0x40e603
cmp dword [ebp - 0x114], ebx
jg 0x40e603
mov eax, dword [ebp - 0x60]
cmp word [eax], bx
je 0x40f134
mov ecx, dword [ebp + 0x4c]
push 0x4c1a3c
push eax
call fcn.00444692
jmp 0x40f134
lea edi, [ebp - 0x18c]
mov eax, dword [edi]
cmp eax, ebx
jne 0x40e612
mov dword [ebp + 0x20], ebx
mov ecx, dword [ebp - 0xa0]
inc dword [ebp - 0xa0]
mov dword [ebp + ecx*4 - 0x1b0], eax
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40e62f
push eax
call esi
cmp dword [ebp - 0x4c], ebx
mov dword [edi + 4], ebx
je 0x40e685
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push 0x3e8
call fcn.004161d8
mov esi, dword [edi]
cmp esi, ebx
jne 0x40e673
cmp dword [ebp - 0x114], ebx
jle 0x40e685
push dword [ebp - 0x114]
push ebx
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
cmp esi, ebx
mov dword [ebp + 0x20], ebx
je 0x40f134
push esi
call fcn.004122b5
cmp dword [edi], ebx
pop ecx
jne 0x40e685
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp + 0x20], ebx
je 0x40f134
mov al, byte [0x4db2d4]
mov esi, 0x100000
push 0x100004
lea ecx, [ebp + 0x50]
mov byte [ebp + 0x7b], al
mov dword [ebp + 0xc], esi
xor edi, edi
call fcn.00402d14
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
cmp word [eax], 0x40
lea ecx, [eax + 2]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x84], ecx
mov byte [ebp + 0x73], bl
jne 0x40e7c2
mov byte [ebp + 0x73], 1
mov dword [ebp - 0x1c], ecx
cmp byte [ebp - 0x69], bl
je 0x40e73d
mov ecx, dword [ebp + 0x4c]
push ebx
lea eax, [ebp + 0x38]
push eax
push dword [ebp - 0x1c]
mov dword [ebp + 0x38], ebx
call fcn.0044d65a
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x38]
lea ecx, [ebp + 0x50]
call fcn.00444ef4
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
lea esi, [edi + 0x3ff]
and esi, 0xfffffc00
add esi, 0x100000
lea eax, [esi + 8]
push eax
lea ecx, [ebp + 0x50]
mov dword [ebp + 0xc], esi
call fcn.00444e3a
lea ecx, [ebp + 0x38]
call fcn.0043e825
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [ebp - 0x9c], ebx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x90], eax
jg 0x40e76f
mov dword [ebp - 0x9c], 0x3e8
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0x34]
and ax, 0x101
sub ax, 0x101
neg ax
sbb eax, eax
inc eax
test byte [ebp + 0x34], 8
mov dword [ebp - 0xa8], eax
je 0x40ed02
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
cmp ax, 0x40
je 0x40e7d7
cmp byte [ebp - 0x26], bl
je 0x40e7d7
cmp ax, 0x26
je 0x40e7bc
mov eax, dword [ebp + 0x4c]
test byte [eax + 9], 0xf
je 0x40e7d7
mov byte [ebp + 0x6b], 1
jmp 0x40e7da
cmp dword [ebp - 0xcc], ebx
je 0x40e6e2
mov byte [ebp + 0x73], 2
jmp 0x40e6e2
mov byte [ebp + 0x6b], bl
push ebx
mov dword [ebp - 0xa4], ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x78]
mov esi, dword [eax]
lea eax, [ebp - 0x1e0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
cmp byte [ebp + 0x73], bl
mov dword [ebp + 8], edi
mov dword [ebp - 0x80], 1
je 0x40e810
mov eax, dword [ebp + 0xc]
sub eax, edi
jmp 0x40e815
mov eax, 0x100000
lea ecx, [ebp - 0x1e0]
push ecx
lea ecx, [ebp - 0xa4]
push ecx
push eax
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x50]
add eax, edi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x48], ebx
mov byte [ebp + 0x30], bl
call fcn.00444f6c
mov dword [ebp - 0x20], 1
mov al, byte [0x4db2d4]
cmp al, bl
mov byte [ebp + 0x7b], al
jg 0x40e86b
cmp dword [ebp - 0x100], 2
jl 0x40ec84
cmp dword [ebp - 0xec], ebx
jle 0x40e89e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xec]
jae 0x40ec84
mov ecx, dword [ebp - 0xec]
sub ecx, eax
cmp dword [ebp - 0x9c], ecx
jbe 0x40e89e
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp + 0x4c]
push 0x4ff
push dword [ebp - 0x9c]
lea eax, [ebp - 0x1b0]
push ebx
push eax
push dword [ebp - 0xa0]
call fcn.00413107
cmp eax, ebx
mov dword [ebp - 0x144], eax
mov dword [ebp - 0xe4], ebx
jne 0x40e96e
lea eax, [ebp - 0x78]
mov esi, dword [eax]
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x1e0]
push eax
push esi
mov dword [ebp - 0x4c], ebx
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
cmp dword [ebp - 0x4c], ebx
jle 0x40e90c
mov eax, dword [ebp + 0x14]
cmp dword [ebp - 0x4c], eax
jle 0x40e8fe
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x80], ebx
je 0x40e90c
add edi, dword [ebp - 0x4c]
mov eax, dword [ebp + 0x50]
mov byte [eax + edi], bl
lea eax, [edi + 0x100000]
cmp eax, dword [ebp + 0xc]
jl 0x40e92d
add dword [ebp + 0xc], 0x100000
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
lea ecx, [ebp + 0x50]
call fcn.00444e3a
cmp byte [ebp + 0x73], bl
je 0x40e939
mov eax, dword [ebp + 0xc]
sub eax, edi
jmp 0x40e93e
mov eax, 0x100000
cmp dword [ebp - 0xa8], ebx
mov dword [ebp + 0x14], eax
je 0x40e955
mov dword [ebp - 0xe4], 1
jmp 0x40e96e
lea ecx, [ebp - 0x1e0]
push ecx
lea ecx, [ebp - 0x4c]
push ecx
push eax
mov eax, dword [ebp + 0x50]
add eax, edi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x108]
cmp ecx, ebx
mov dword [ebp - 0x150], eax
je 0x40e9bc
mov edx, dword [ebp - 0xac]
mov ecx, edx
sub ecx, eax
add ecx, dword [ebp - 0x90]
cmp ecx, ebx
mov dword [ebp - 0x108], ecx
jle 0x40e9a3
mov dword [ebp - 0x20], ebx
jmp 0x40e9bc
mov dword [ebp - 0x20], 1
add dword [ebp - 0x90], edx
add ecx, edx
cmp ecx, ebx
jle 0x40e9aa
mov dword [ebp - 0x108], ecx
cmp byte [ebp + 0x73], bl
je 0x40e9ea
sub eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x9c]
jge 0x40eb82
cmp edi, dword [ebp - 0x48]
je 0x40ec7b
cmp eax, 0x14
jl 0x40ec7b
jmp 0x40eb82
cmp ecx, ebx
je 0x40e9f4
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
inc ecx
cmp eax, ecx
jle 0x40ea27
dec eax
cmp eax, dword [ebp - 0x144]
jne 0x40ea27
cmp byte [ebp + 0x73], bl
mov byte [ebp + 0x30], cl
je 0x40ec84
cmp edi, dword [ebp - 0x48]
je 0x40ec84
mov dword [ebp - 0x20], ecx
jmp 0x40eb82
test byte [ebp + 0x34], 1
je 0x40eb14
cmp edi, dword [ebp + 8]
jle 0x40eb14
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x50]
mov edx, dword [ebp - 0x13c]
lea esi, [ecx + eax]
mov eax, edi
sub eax, ecx
cmp dword [ebp - 0xa8], ebx
je 0x40ea9a
lea ecx, [eax - 1]
cmp ecx, ebx
mov dword [ebp + 0x78], ecx
jl 0x40eaea
cmp byte [ecx + esi], 0xa
jne 0x40ea6e
dec edx
cmp edx, ebx
jle 0x40ea76
dec ecx
mov dword [ebp + 0x78], ecx
jns 0x40ea63
jmp 0x40eaea
inc dword [ebp + 0x78]
sub eax, dword [ebp + 0x78]
inc eax
push eax
mov eax, dword [ebp + 0x78]
add eax, esi
push eax
push esi
call fcn.0041457b
sub edi, dword [ebp + 0x78]
add esp, 0xc
mov eax, edi
sub eax, dword [ebp + 8]
mov byte [eax + esi], bl
jmp 0x40eaea
xor ecx, ecx
test byte [ebp + 0x35], 2
je 0x40ead2
cmp eax, ebx
jle 0x40eaea
cmp byte [ecx + esi], 0xa
jne 0x40eab1
dec edx
cmp edx, ebx
jle 0x40eab8
inc ecx
cmp ecx, eax
jl 0x40eaa6
jmp 0x40eaea
dec ecx
cmp ecx, ebx
jle 0x40eac4
cmp byte [ecx + esi], 0xd
jne 0x40eac4
dec ecx
mov eax, dword [ebp + 8]
mov byte [ecx + esi], bl
lea edi, [eax + ecx]
mov dword [ebp - 0x80], ebx
jmp 0x40eaea
cmp eax, ebx
jle 0x40eaea
cmp byte [ecx + esi], 0xa
jne 0x40eae5
dec edx
cmp edx, ebx
jle 0x40ec84
inc ecx
cmp ecx, eax
jl 0x40ead6
cmp dword [ebp - 0xe4], ebx
je 0x40eb14
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0xa4]
push eax
push dword [ebp + 0x14]
mov eax, dword [ebp + 0x50]
add eax, edi
push eax
lea eax, [ebp - 0x78]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 5
pop esi
dec esi
js 0x40e852
cmp byte [0x4db2d4], bl
jle 0x40e852
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x354]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x40e852
cmp dword [ebp - 0x350], 0x12
je 0x40eb69
lea eax, [ebp - 0x354]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x354]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x40eb17
cmp byte [ebp + 0x73], bl
mov byte [ebp + 0x7b], bl
mov byte [ebp + 0x30], 1
je 0x40e852
cmp edi, dword [ebp - 0x48]
je 0x40e852
cmp byte [ebp + 0x6b], bl
mov eax, dword [ebp - 0x150]
mov esi, dword [ebp + 0x50]
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xf4], edi
jne 0x40ebdc
cmp dword [ebp - 0x94], 0x4b0
je 0x40ebcf
push dword [ebp - 0x94]
lea ecx, [ebp - 0x7c]
push edi
push esi
call fcn.00445027
mov esi, dword [ebp - 0x7c]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
mov dword [ebp - 0xf4], eax
jmp 0x40ebdc
mov word [esi + edi + 2], bx
mov eax, dword [ebp + 0x50]
mov word [eax + edi + 2], bx
cmp byte [ebp - 0x25], bl
je 0x40ebf2
lea eax, [ebp - 0xf8]
push eax
push esi
call fcn.00408956
pop ecx
pop ecx
mov esi, eax
cmp byte [ebp + 0x73], 1
jne 0x40ec0f
mov ecx, dword [ebp + 0x4c]
push esi
push esi
push 0x4c1a3c
push dword [ebp - 0x1c]
push dword [ebp - 0x1c]
call fcn.00441761
jmp 0x40ec3b
cmp byte [ebp + 0x6b], bl
je 0x40ec2f
push ebx
push ebx
push dword [ebp - 0xf4]
push dword [ebp + 0x50]
push dword [ebp - 0x60]
push dword [ebp + 0x4c]
call fcn.0045213e
add esp, 0x18
jmp 0x40ec3b
mov ecx, dword [ebp + 0x4c]
push esi
push dword [ebp - 0x1c]
call fcn.00444692
cmp dword [ebp - 0xcc], ebx
je 0x40ec75
cmp dword [ebp - 0x20], ebx
je 0x40ec75
push dword [ebp - 0xcc]
lea ecx, [ebp - 0x124]
call fcn.00401000
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push ebx
push dword [ebp - 0x124]
call fcn.00434146
lea ecx, [ebp - 0x124]
call fcn.0043e825
mov ecx, dword [ebp - 0x108]
cmp byte [ebp + 0x30], bl
je 0x40e9ea
lea ecx, [ebp - 0x7c]
call fcn.0043e825
cmp dword [ebp + 0x20], 0xffffff9c
mov eax, dword [ebp + 0x50]
mov byte [eax + edi + 2], bl
mov eax, dword [ebp + 0x50]
mov byte [eax + edi + 1], bl
mov eax, dword [ebp + 0x50]
mov byte [eax + edi], bl
mov dword [ebp - 0x10], ebx
je 0x40ee61
cmp byte [ebp + 0x7b], bl
jle 0x40ee61
cmp byte [ebp + 0x12], 1
je 0x40ee61
cmp byte [ebp + 0x12], 2
jne 0x40ee33
lea eax, [ebp - 0x18c]
push dword [eax + 8]
lea eax, [ebp - 0x2d4]
push dword [ebp - 0x128]
push str._force__exitcode_d__tree__d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x4c]
add esp, 0x10
lea eax, [ebp - 0x2d4]
push eax
call fcn.00429fbe
jmp 0x40ee61
cmp dword [ebp + 0x20], 0xffffff9c
je 0x40ec8c
mov al, byte [0x4db2d4]
cmp al, bl
mov byte [ebp + 0x7b], al
jg 0x40ed21
cmp dword [ebp - 0x100], 2
jl 0x40ec8c
cmp dword [ebp - 0xec], ebx
mov dword [ebp + 0x70], 0x3e8
jle 0x40ed58
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xec]
jae 0x40ec8c
mov ecx, dword [ebp - 0xec]
sub ecx, eax
cmp ecx, 0x3e8
jae 0x40ed58
mov dword [ebp + 0x70], ecx
mov ecx, dword [ebp + 0x4c]
push 0x4ff
push dword [ebp + 0x70]
lea eax, [ebp - 0x1b0]
push ebx
push eax
push dword [ebp - 0xa0]
call fcn.00413107
mov ecx, dword [ebp - 0xa0]
dec ecx
cmp ecx, eax
je 0x40ec8c
cmp dword [ebp - 0xa0], 1
jle 0x40ee26
cmp eax, ebx
jne 0x40ee26
lea eax, [edi + 0x100000]
cmp eax, esi
jl 0x40edb6
add esi, 0x100000
lea eax, [esi + 4]
push eax
lea ecx, [ebp + 0x50]
call fcn.00444e3a
mov eax, dword [ebp + 0x50]
push ebx
lea ecx, [ebp + 0x68]
push ecx
add eax, edi
push 1
push eax
lea eax, [ebp - 0x78]
push dword [eax]
mov dword [ebp + 0x68], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40ee26
cmp dword [ebp + 0x68], ebx
jbe 0x40ee26
add edi, dword [ebp + 0x68]
mov eax, dword [ebp + 0x50]
mov byte [eax + edi], bl
jmp 0x40ee26
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x28c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x40ed08
cmp dword [ebp - 0x288], 0x12
je 0x40ed08
lea eax, [ebp - 0x28c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x28c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp byte [0x4db2d4], bl
jg 0x40ede5
jmp 0x40ed08
cmp dword [ebp - 0x104], ebx
je 0x40ee4d
push dword [ebp - 0x128]
push dword [ebp - 0x104]
call dword [sym.imp.KERNEL32.dll_TerminateJobObject]
push dword [ebp - 0x128]
lea eax, [ebp - 0x18c]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18c]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp word [ebp + 0x34], bx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x74]
mov dword [ecx], eax
je 0x40f0cd
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
xor esi, esi
cmp ax, 0x40
je 0x40eead
cmp byte [ebp - 0x26], bl
je 0x40eead
cmp ax, 0x26
je 0x40eea7
mov eax, dword [ebp + 0x4c]
test byte [eax + 9], 0xf
je 0x40eead
mov byte [ebp + 0x77], 1
jmp 0x40eeb0
mov byte [ebp + 0x77], bl
lea ecx, [ebp - 0xb4]
call fcn.00402d51
cmp byte [ebp + 0x77], bl
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x70], eax
mov dword [ebp - 0xf4], edi
jne 0x40f053
cmp byte [ebp + 0x46], 2
jne 0x40eee8
mov dword [ebp - 0xf4], edi
mov word [eax + edi], bx
mov esi, dword [ebp + 0x50]
jmp 0x40ef7c
cmp byte [ebp + 0x46], 1
lea ecx, [ebp - 0xb4]
jne 0x40ef1b
push dword [ebp - 0x94]
push edi
push eax
call fcn.00445027
mov eax, dword [ebp - 0xb4]
push eax
mov dword [ebp + 0x70], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
mov dword [ebp - 0xf4], eax
jmp 0x40ef80
lea eax, [edi + 0x18]
push eax
call fcn.00444fb1
lea eax, [edi + 1]
push eax
push dword [ebp + 0x50]
mov dword [ebp - 0xac], edi
push dword [ebp - 0xb4]
mov dword [ebp - 0xb0], edi
call fcn.004145c5
mov eax, dword [ebp - 0xb4]
push 0x10
add edi, eax
push ebx
push edi
call fcn.004ae820
lea eax, [ebp - 0xb4]
push 0x2004
push eax
call fcn.0049e4d8
mov eax, dword [ebp - 0xb4]
mov dword [ebp + 0x70], eax
mov eax, dword [ebp - 0xb0]
add esp, 0x20
mov dword [ebp - 0xf4], eax
cmp esi, ebx
jne 0x40ef86
mov esi, dword [ebp - 0xb4]
test byte [ebp + 0x34], 4
je 0x40efbe
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2 - 2]
jmp 0x40efad
mov cx, word [eax]
cmp cx, 0xd
je 0x40efa8
cmp cx, 0xa
jne 0x40efb1
mov word [eax], bx
dec eax
dec eax
cmp eax, esi
jae 0x40ef99
sub eax, esi
mov dword [ebp - 0xf4], eax
jmp 0x40f053
test byte [ebp + 0x34], 1
je 0x40f013
mov edx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x138]
jmp 0x40f006
cmp ax, 0xd
jne 0x40eff0
lea ecx, [esi + 2]
cmp word [ecx], 0xa
jne 0x40eff0
cmp edi, ebx
jl 0x40eff6
jg 0x40efec
cmp edx, 1
jbe 0x40eff6
mov esi, ecx
jmp 0x40eff6
cmp ax, 0xa
jne 0x40f004
add edx, 0xffffffff
adc edi, 0xffffffff
js 0x40f00e
jg 0x40f004
cmp edx, ebx
jbe 0x40f00e
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
jne 0x40efd2
mov word [esi], bx
jmp 0x40f04a
test byte [ebp + 0x34], 2
je 0x40f053
jmp 0x40f042
cmp ax, 0xd
je 0x40f02b
cmp ax, 0xa
je 0x40f02b
inc esi
inc esi
jmp 0x40f042
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
push eax
lea eax, [esi + 2]
push eax
push esi
call fcn.0041457b
add esp, 0xc
mov ax, word [esi]
cmp ax, bx
jne 0x40f01b
sub esi, dword [ebp + 0x70]
mov dword [ebp - 0xf4], esi
cmp byte [ebp - 0x25], bl
je 0x40f06b
lea eax, [ebp - 0xf8]
push eax
push dword [ebp + 0x70]
call fcn.00408956
pop ecx
pop ecx
jmp 0x40f06e
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp - 0x60]
cmp word [ecx], 0x40
jne 0x40f094
mov ecx, dword [ebp + 0x4c]
push eax
push eax
push 0x4c1a3c
push dword [ebp - 0x84]
push dword [ebp - 0x84]
call fcn.00441761
jmp 0x40f0bf
cmp byte [ebp + 0x77], bl
je 0x40f0b0
push ebx
push ebx
push dword [ebp - 0xf4]
push eax
push ecx
push dword [ebp + 0x4c]
call fcn.0045213e
add esp, 0x18
jmp 0x40f0bf
push dword [ebp - 0xb4]
push ecx
mov ecx, dword [ebp + 0x4c]
call fcn.00444692
lea ecx, [ebp - 0xb4]
call fcn.0043e825
mov eax, dword [ebp - 0x10]
push eax
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x394]
push 0x4c2b98
push eax
mov word [ebp - 0x394], bx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x4c]
add esp, 0xc
lea eax, [ebp - 0x394]
push eax
push str.ERRORLEVEL
call fcn.00444692
cmp dword [ebp - 0x104], ebx
je 0x40f121
cmp byte [ebp + 0x12], 1
je 0x40f121
push dword [ebp - 0x128]
push dword [ebp - 0x104]
call dword [sym.imp.KERNEL32.dll_TerminateJobObject]
lea ecx, [ebp - 0xf8]
call fcn.0043e825
lea ecx, [ebp + 0x50]
call fcn.0043e825
mov ecx, dword [ebp + 0x7c]
cmp ecx, ebx
je 0x40f145
lea eax, [ebp - 0x18c]
mov eax, dword [eax]
mov dword [ecx], eax
cmp byte [ebp + 0x13], bl
lea eax, [ebp - 0x18c]
mov dword [eax], ebx
je 0x40f289
cmp dword [eax + 8], ebx
je 0x40f289
cmp byte [0x4dccf0], bl
jne 0x40f289
cmp dword [ebp + 0x20], ebx
mov byte [0x4dccf0], 1
jne 0x40f214
push 0x1000
lea ecx, [ebp + 0x70]
call fcn.00402d3f
mov eax, dword [ebp + 0x70]
push ebx
mov dword [ebp + 0x78], ebx
mov word [eax], bx
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x70]
push eax
push str.SystemStartOptions
push str.SYSTEMCurrentControlSetControl
push 0x80000002
call fcn.00449667
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x74]
push eax
call fcn.0043e7bd
add esp, 0x1c
jmp 0x40f1f6
push 8
push eax
push str.PECMDHB
call fcn.0043e70a
add esp, 0xc
test al, al
jne 0x40f200
push 6
push dword [ebp + 0x74]
push str.WIMHB
call fcn.0043e70a
add esp, 0xc
test al, al
jne 0x40f200
lea eax, [ebp + 0x74]
push eax
call fcn.00409344
pop ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], bx
jne 0x40f1c2
jmp 0x40f207
mov dword [ebp + 0x20], 1
lea ecx, [ebp + 0x70]
call fcn.0043e825
cmp dword [ebp + 0x20], ebx
je 0x40f235
call fcn.0041a807
test eax, eax
je 0x40f22c
push str.exec
push dword [ebp + 0x4c]
call fcn.0041a8a8
pop ecx
pop ecx
push ebx
call fcn.00416e09
pop ecx
jmp 0x40f289
lea eax, [ebp - 0x18c]
push dword [eax + 8]
lea eax, [ebp - 0x338]
push str.__nfb__incmd_pecmd_TEAM_WAIT__InitSys__ncd__lu
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x338]
push eax
push str.DELAY_bwinpeshl____s__r_n
push dword [ebp + 0x4c]
call fcn.004111e0
mov ecx, dword [ebp + 0x4c]
add esp, 0x18
push 0x4dcc10
push ebx
push ebx
push ebx
lea eax, [ebp + 0x76]
push eax
push dword [ebp + 0x4c]
lea eax, [ebp - 0x338]
push eax
mov word [ebp + 0x76], bx
call fcn.0040a83c
mov ecx, dword [ebp - 0x58]
cmp ecx, ebx
je 0x40f2a6
cmp word [ecx], bx
je 0x40f2a6
lea eax, [ebp - 0x18c]
push dword [eax + 8]
push ecx
call fcn.0040392c
pop ecx
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea esi, [ebp - 0x50]
mov eax, dword [esi]
cmp eax, ebx
je 0x40f2b8
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0x18]
mov eax, dword [esi]
cmp eax, ebx
je 0x40f2c6
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0xe0]
cmp dword [esi], ebx
je 0x40f2d5
push ebx
call edi
mov dword [esi], ebx
lea esi, [ebp - 0xdc]
mov eax, dword [esi]
cmp eax, ebx
je 0x40f2e6
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0x78]
mov eax, dword [esi]
cmp eax, ebx
je 0x40f2f4
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0x8c]
mov eax, dword [esi]
cmp eax, ebx
je 0x40f305
push eax
call edi
cmp dword [ebp - 0x1d0], ebx
mov dword [esi], ebx
je 0x40f317
push dword [ebp - 0x1d0]
call edi
lea esi, [ebp - 0x18c]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x40f327
push eax
call edi
mov ecx, dword [ebp + 0x4c]
push ebx
mov dword [esi + 4], ebx
call fcn.0046ea3b
mov ebx, dword [ebp + 0x14]
lea ecx, [ebp - 0x120]
call fcn.0043e825
lea ecx, [ebp - 0x12c]
call fcn.0043e825
lea ecx, [ebp - 0x98]
call fcn.00402cc5
lea ecx, [ebp - 0x168]
call fcn.0043e825
lea ecx, [ebp - 0xc8]
call fcn.00402cc5
lea ecx, [ebp - 0xc0]
call fcn.00402cc5
lea ecx, [ebp - 0xe0]
call fcn.00402cc5
lea ecx, [ebp - 0x18]
call fcn.00402cc5
lea ecx, [ebp - 0x50]
call fcn.00402cc5
lea ecx, [ebp - 0x8c]
call fcn.00402cc5
lea ecx, [ebp - 0xdc]
call fcn.00402cc5
lea ecx, [ebp - 0x78]
call fcn.00402cc5
lea ecx, [ebp - 0x58]
call fcn.0043e825
lea ecx, [ebp - 0x1bc]
call fcn.0043e825
lea ecx, [ebp - 0x10c]
call fcn.0043e825
lea ecx, [ebp - 0x88]
call fcn.0043e825
lea ecx, [ebp - 0x16c]
call fcn.0043e825
lea ecx, [ebp - 0x110]
call fcn.0043e825
lea ecx, [ebp - 0x130]
call fcn.0043e825
lea ecx, [ebp - 0x164]
call fcn.0043e825
lea ecx, [ebp - 0xe8]
call fcn.0043e825
lea ecx, [ebp - 0x104]
call fcn.00402cc5
lea ecx, [ebp - 0x160]
call fcn.00402cc5
lea ecx, [ebp - 0x1cc]
call fcn.00404994
lea ecx, [ebp - 0x198]
call fcn.0043e825
lea ecx, [ebp - 0xb8]
call fcn.0043e825
lea ecx, [ebp - 0xbc]
call fcn.0043e825
lea ecx, [ebp - 0x60]
call fcn.0043e825
lea ecx, [ebp - 0x158]
call fcn.0043e825
lea ecx, [ebp - 0x140]
call fcn.0043e825
lea ecx, [ebp - 0x154]
call fcn.0043e825
lea ecx, [ebp - 0x15c]
call fcn.0043e825
lea ecx, [ebp - 0x134]
call fcn.0043e825
lea ecx, [ebp - 0x11c]
call fcn.0043e825
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x5c
leave
ret 0x1c