Function at 0x40a810
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, 0x5ec
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 - 0x7c], eax
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0x100], ebx
mov byte [ebp + 0x1b], bl
mov byte [ebp - 0x38], bl
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x120], ebx
pop edi
je 0x40aaa5
lea eax, [ebp + 0x6c]
push eax
call fcn.0043e611
pop ecx
mov ecx, dword [ebp + 0x6c]
cmp ecx, ebx
je 0x40aaa5
cmp word [ecx], 0x2f
jne 0x40aaa5
mov dx, word [ecx + 2]
or dx, di
cmp dx, 0x69
push 0x73
pop esi
jne 0x40a94c
mov ax, word [ecx + 4]
or ax, di
cmp ax, 0x6e
jne 0x40a94c
mov ax, word [ecx + 6]
or ax, di
cmp ax, si
jne 0x40a94c
mov ax, word [ecx + 8]
or ax, di
cmp ax, 0x74
jne 0x40a94c
mov ax, word [ecx + 0xa]
or ax, di
cmp ax, 0x61
jne 0x40a94c
mov ax, word [ecx + 0xc]
or ax, di
cmp ax, 0x6c
jne 0x40a94c
mov ax, word [ecx + 0xe]
or ax, di
cmp ax, 0x6c
jne 0x40a94c
mov ax, word [ecx + 0x10]
or ax, di
cmp ax, si
jne 0x40a94c
mov ax, word [ecx + 0x12]
or ax, di
cmp ax, 0x65
jne 0x40a94c
mov ax, word [ecx + 0x14]
or ax, di
cmp ax, 0x72
jne 0x40a94c
mov ax, word [ecx + 0x16]
or ax, di
cmp ax, 0x76
jne 0x40a94c
mov ax, word [ecx + 0x18]
or ax, di
cmp ax, dx
jne 0x40a94c
mov ax, word [ecx + 0x1a]
or ax, di
cmp ax, 0x63
jne 0x40a94c
mov ax, word [ecx + 0x1c]
or ax, di
cmp ax, 0x65
jne 0x40a94c
mov ax, word [ecx + 0x1e]
call fcn.0040f8eb
test al, al
jne 0x40aa79
cmp dx, si
jne 0x40a9b0
mov ax, word [ecx + 4]
or ax, di
cmp ax, 0x65
jne 0x40a9b0
mov ax, word [ecx + 6]
or ax, di
cmp ax, 0x72
jne 0x40a9b0
mov ax, word [ecx + 8]
or ax, di
cmp ax, 0x76
jne 0x40a9b0
mov ax, word [ecx + 0xa]
or ax, di
cmp ax, 0x69
jne 0x40a9b0
mov ax, word [ecx + 0xc]
or ax, di
cmp ax, 0x63
jne 0x40a9b0
mov ax, word [ecx + 0xe]
or ax, di
cmp ax, 0x65
jne 0x40a9b0
mov ax, word [ecx + 0x10]
call fcn.0040f8eb
test al, al
jne 0x40aa79
cmp dx, 0x72
jne 0x40aaa5
mov dx, word [ecx + 4]
push 0x65
or dx, di
pop eax
cmp dx, ax
jne 0x40aaa5
mov dx, word [ecx + 6]
or dx, di
cmp dx, 0x6d
jne 0x40aaa5
mov dx, word [ecx + 8]
or dx, di
cmp dx, 0x6f
jne 0x40aaa5
mov dx, word [ecx + 0xa]
or dx, di
cmp dx, 0x76
jne 0x40aaa5
mov dx, word [ecx + 0xc]
or dx, di
cmp dx, ax
jne 0x40aaa5
mov dx, word [ecx + 0xe]
or dx, di
cmp dx, si
jne 0x40aaa5
mov dx, word [ecx + 0x10]
or dx, di
cmp dx, ax
jne 0x40aaa5
mov dx, word [ecx + 0x12]
or dx, di
cmp dx, 0x72
jne 0x40aaa5
mov dx, word [ecx + 0x14]
or dx, di
cmp dx, 0x76
jne 0x40aaa5
mov dx, word [ecx + 0x16]
or dx, di
cmp dx, 0x69
jne 0x40aaa5
mov dx, word [ecx + 0x18]
or dx, di
cmp dx, 0x63
jne 0x40aaa5
mov dx, word [ecx + 0x1a]
or dx, di
cmp dx, ax
jne 0x40aaa5
mov ax, word [ecx + 0x1c]
call fcn.0040f8eb
test al, al
je 0x40aaa5
mov edi, 0x4dbc94
push str.PECMD_EXEC
mov ecx, edi
call fcn.0044e731
push dword [ebp + 0x6c]
mov ecx, edi
call fcn.00444e9e
mov eax, dword [ebp + 0x4c]
mov word [eax + 0x88], 2
jmp 0x40f318
mov eax, dword [ebp + 0x70]
and eax, 1
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x70]
shr eax, 1
and eax, 1
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x70]
shr eax, 2
and al, 1
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0xf0], ebx
mov byte [ebp + 0x12], bl
mov byte [ebp + 0x13], bl
mov byte [ebp + 0x73], al
mov byte [ebp + 0x3a], bl
call fcn.00444e32
cmp dword [ebp + 0x64], ebx
je 0x40ab04
push dword [ebp + 0x64]
lea ecx, [ebp - 0x14c]
call fcn.0044e731
mov eax, dword [ebp - 0x14c]
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push eax
call fcn.0043e611
pop ecx
lea ecx, [ebp - 0x150]
call fcn.00444e32
mov eax, dword [ebp + 0x6c]
cmp eax, ebx
je 0x40ab2b
push eax
lea ecx, [ebp - 0x150]
call fcn.0044e731
mov eax, dword [ebp - 0x150]
mov dword [ebp + 0x6c], eax
cmp dword [ebp + 0x74], ebx
jne 0x40ab39
lea ecx, [ebp - 0x134]
mov dword [ebp + 0x74], ecx
mov ecx, dword [ebp + 0x64]
cmp ecx, ebx
push 0x5e
pop esi
mov dword [ebp + 0x30], ecx
mov dword [ebp - 0x1a4], esi
jne 0x40ab7c
cmp eax, ebx
mov dword [ebp + 0x64], eax
je 0x40ab7c
push 5
push eax
push str._shel
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40ab7c
lea eax, [ebp - 0x1a4]
mov dword [ebp + 0x6c], eax
xor eax, eax
inc eax
mov dword [ebp + 0x24], eax
mov dword [ebp - 0x48], eax
mov byte [ebp + 0x73], al
lea ecx, [ebp - 0x124]
mov dword [ebp + 0x3c], ebx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x128], ebx
mov byte [ebp + 0x38], bl
mov byte [ebp - 0x3a], 1
mov byte [ebp - 0x61], bl
mov byte [ebp + 0xf], bl
mov byte [ebp - 0x69], bl
mov byte [ebp - 0x56], bl
mov byte [ebp - 0x35], bl
mov byte [ebp + 0x46], bl
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x3c], bl
mov byte [ebp - 0x63], bl
call fcn.00444e32
mov al, byte [0x4dbbe0]
neg al
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x180], ebx
mov byte [ebp - 0x55], bl
mov byte [ebp + 0x37], bl
mov byte [ebp - 0x39], bl
sbb eax, eax
and eax, 0x10000
mov byte [ebp - 0x3b], bl
mov byte [ebp - 0x37], 1
mov byte [ebp - 0x62], bl
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], eax
mov dword [ebp + 0x2c], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
call fcn.00444e32
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x88], ebx
mov byte [ebp + 0x47], bl
call fcn.00444e32
lea ecx, [ebp - 0xb4]
call fcn.00444e32
lea ecx, [ebp - 0xac]
call fcn.00444e32
or dword [ebp - 0x94], 0xffffffff
lea ecx, [ebp - 0x188]
mov byte [ebp - 1], bl
mov byte [ebp - 0x2d], bl
mov byte [ebp + 0x3b], bl
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0xf4], ebx
call fcn.00444e32
xor eax, eax
push 0x10
pop ecx
mov dword [ebp - 0x260], 0x44
mov dword [ebp - 0x25c], ebx
lea edi, [ebp - 0x258]
rep stosd dword es:[edi], eax
push 0x12
mov dword [ebp - 0x17c], ebx
pop ecx
lea edi, [ebp - 0x218]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x178]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x16c]
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 - 0xb0], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x1c4], ebx
mov dword [ebp - 0x1c0], ebx
mov dword [ebp - 0x1bc], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x60], ebx
cmp eax, ebx
jne 0x40acbe
mov byte [ebp + 0x3b], 1
jmp 0x40ad18
cmp word [eax], 0x23
jne 0x40acd4
cmp eax, dword [ebp + 0x64]
jne 0x40accd
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
jmp 0x40ace1
test byte [0x4dbc16], 3
je 0x40ace1
mov byte [ebp + 0x3b], 3
cmp eax, ebx
je 0x40ad18
cmp word [eax], si
jne 0x40acfc
cmp eax, dword [ebp + 0x64]
jne 0x40acf3
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x73], 1
cmp eax, ebx
je 0x40ad18
cmp word [eax], 0x24
jne 0x40ad18
cmp eax, dword [ebp + 0x64]
jne 0x40ad0f
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x46], 1
cmp eax, ebx
mov dword [ebp + 0x40], ebx
je 0x40ad3a
cmp word [eax], 0x7c
jne 0x40ad3a
cmp eax, dword [ebp + 0x64]
jne 0x40ad2e
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x40], 1
mov eax, dword [ebp - 0x7c]
cmp eax, ebx
je 0x40ae22
cmp word [eax], 0x2a
jne 0x40ae22
add dword [ebp + 0x64], 2
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, bx
mov dword [ebp + 0x3c], 0x10
je 0x40ae18
push 2
xor esi, esi
pop edi
inc esi
cmp ax, 0x7c
jne 0x40ad7d
mov dword [ebp + 0x40], esi
jmp 0x40ae06
cmp ax, 0x30
jb 0x40adda
cmp ax, 0x39
ja 0x40adda
or dword [ebp + 0x3c], esi
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.0044803a
cmp dword [ebp - 0x128], ebx
pop ecx
pop ecx
jg 0x40adbc
jl 0x40adb0
cmp dword [ebp - 0x12c], ebx
ja 0x40adbc
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x128], ebx
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x24
jne 0x40adce
or byte [ebp + 0x3d], 1
jmp 0x40ae06
cmp ax, 0x5e
jne 0x40ae09
or byte [ebp + 0x3d], 2
jmp 0x40ae06
mov ecx, eax
or ecx, 0x20
cmp cx, 0x6e
jne 0x40aded
add dword [ebp + 0x64], edi
or dword [ebp + 0x3c], edi
jmp 0x40ae09
cmp ax, 0x2d
jne 0x40adfc
add dword [ebp + 0x64], edi
or dword [ebp + 0x3c], 4
jmp 0x40ae09
cmp ax, 0x23
jne 0x40ae18
mov byte [ebp + 0x1b], 1
add dword [ebp + 0x64], edi
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, bx
jne 0x40ad6f
lea eax, [ebp + 0x64]
push eax
call fcn.00405b4a
pop ecx
lea eax, [ebp + 0x64]
push eax
call fcn.0043e611
cmp word [ebp + 0x3c], bx
pop ecx
jne 0x40aecd
lea eax, [ebp + 0x64]
push eax
call fcn.0043e611
cmp dword [ebp - 0xb0], ebx
mov eax, dword [ebp + 0x64]
pop ecx
mov dword [ebp + 0x48], eax
je 0x40ae58
cmp word [ebp + 0x3c], bx
jne 0x40afab
push 2
pop esi
cmp word [eax], 0x2d
mov edi, eax
jne 0x40ae6f
add eax, 2
cmp word [eax], 0x2d
jne 0x40ae6f
mov dword [ebp + 0x48], eax
push 1
lea eax, [ebp + 0x48]
push eax
push 0x4c1fc4
call fcn.00446de5
add esp, 0xc
test al, al
jne 0x40afab
mov eax, dword [ebp + 0x48]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40aea0
cmp ax, 0x2f
jne 0x40afab
add dword [ebp + 0x48], esi
push 5
lea eax, [ebp + 0x48]
push eax
push str.catch
call fcn.00446e5a
add esp, 0xc
test al, al
je 0x40af4b
mov al, byte [ebp + 0x3c]
or dword [ebp + 0x3c], 0x10
cmp al, bl
jne 0x40b178
mov esi, dword [ebp + 0x64]
xor ecx, ecx
xor eax, eax
mov ax, word [esi]
inc ecx
cmp ax, bx
mov dword [ebp + 0x24], ecx
mov edi, esi
je 0x40b215
push 2
pop edx
cmp ax, 0x3d
je 0x40aef9
add edi, edx
mov ax, word [edi]
cmp ax, bx
jne 0x40aee9
cmp edi, esi
je 0x40b215
cmp word [edi], 0x3d
jne 0x40b215
sub edi, edx
cmp word [edi], 0x2b
jne 0x40af1a
mov al, byte [edi]
mov byte [ebp - 0x55], al
sub edi, edx
cmp edi, esi
mov ecx, edi
jbe 0x40af32
mov ax, word [ecx]
call fcn.0040f8eb
test al, al
je 0x40af32
sub ecx, edx
cmp ecx, esi
ja 0x40af20
mov ax, word [ecx]
call fcn.0040f8eb
test al, al
jne 0x40b20d
mov edx, ecx
inc ecx
inc ecx
jmp 0x40b19f
push 4
push dword [ebp + 0x48]
push str.cmd:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b0e8
add dword [ebp + 0x48], 8
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x4c]
call fcn.004087b0
add esp, 0x14
mov dword [ebp - 0xb0], eax
jmp 0x40af9c
mov word [edi], 0x20
add edi, esi
cmp edi, dword [ebp + 0x48]
jb 0x40af95
cmp word [ebp + 0x3c], bx
je 0x40b178
lea eax, [ebp + 0x64]
push eax
call fcn.0043e611
mov eax, dword [ebp - 0xb0]
cmp eax, ebx
pop ecx
je 0x40afca
cmp word [eax], bx
jne 0x40afca
mov dword [ebp - 0xb0], ebx
cmp dword [ebp + 0x40], ebx
jne 0x40afd7
cmp dword [ebp + 0x78], ebx
mov byte [ebp + 0x57], bl
je 0x40afdb
mov byte [ebp + 0x57], 1
or dword [ebp - 0x118], 0xffffffff
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x158], ebx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x11c], ebx
call fcn.00444e32
lea ecx, [ebp - 0x144]
call fcn.00444e32
cmp byte [ebp + 0x57], bl
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x110], ebx
mov byte [ebp + 0x39], bl
mov dword [ebp - 0x18], ebx
jne 0x40b053
cmp dword [ebp + 0x30], ebx
jne 0x40b053
mov ecx, dword [ebp + 0x4c]
push 1
push ebx
lea eax, [ebp - 0x110]
push eax
push dword [ebp + 0x64]
call fcn.00456647
mov eax, dword [ebp - 0x110]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x2d
mov dword [ebp - 0x7c], eax
jne 0x40b06b
add eax, 2
cmp word [eax], 0x2d
jne 0x40b06b
mov dword [ebp + 0x64], eax
xor esi, esi
inc esi
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c1fc4
call fcn.00446de5
add esp, 0xc
test al, al
jne 0x40c010
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40b09e
cmp ax, 0x2f
jne 0x40c010
push 2
pop edi
add dword [ebp + 0x64], edi
push 5
lea eax, [ebp + 0x64]
push eax
push str.catch
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b21c
mov dword [ebp + 0x3c], 0x10
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c1fb0
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b266
mov dword [ebp - 0x1c], esi
jmp 0x40b053
push 3
push dword [ebp + 0x48]
push 0x4c1fac
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b112
add dword [ebp + 0x48], 6
jmp 0x40b107
add dword [ebp + 0x48], esi
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x2a
je 0x40b104
jmp 0x40b156
push 4
push dword [ebp + 0x48]
push str.exe:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b13c
add dword [ebp + 0x48], 8
jmp 0x40b131
add dword [ebp + 0x48], esi
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x2a
je 0x40b12e
jmp 0x40b156
push 5
push dword [ebp + 0x48]
push str.logs:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b178
add dword [ebp + 0x48], 0xa
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x22
jne 0x40b178
add dword [ebp + 0x48], esi
jmp 0x40b16d
add dword [ebp + 0x48], esi
cmp ax, 0x22
je 0x40b178
mov eax, dword [ebp + 0x48]
mov ax, word [eax]
cmp ax, bx
jne 0x40b164
lea eax, [ebp + 0x48]
push eax
call fcn.00405b6e
mov eax, dword [ebp + 0x48]
pop ecx
jmp 0x40ae5b
lea eax, [edx - 2]
mov dword [ebp - 0x7c], eax
mov ax, word [eax]
call fcn.0040f8eb
test al, al
jne 0x40b1a3
mov edx, dword [ebp - 0x7c]
cmp edx, esi
ja 0x40b18a
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x5c]
call fcn.00444f56
mov esi, dword [ebp + 0x4c]
push ebx
lea eax, [ebp - 0x5c]
push eax
mov ecx, esi
call fcn.00402ecb
cmp byte [esi + 0x92], bl
jne 0x40b1ce
test byte [esi + 9], 0xf
je 0x40b1e4
push ebx
lea eax, [ebp - 0x5c]
push eax
mov ecx, esi
call fcn.00402ecb
jmp 0x40b1e4
cmp ax, 0x3d
je 0x40b1f2
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40b1dc
cmp ax, 0x3d
jne 0x40b20d
lea eax, [ebp - 0x13c]
add edi, 2
push eax
mov dword [ebp - 0x13c], edi
call fcn.0043e611
pop ecx
jmp 0x40ae36
xor ebx, ebx
inc ebx
jmp 0x40f2b8
mov ebx, ecx
jmp 0x40f2b8
push 6
push dword [ebp + 0x64]
push str.clone:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b0c6
add dword [ebp + 0x64], 0xc
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b4a
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40b255
mov word [eax], bx
add dword [ebp + 0x64], edi
cmp word [esi], bx
je 0x40b339
mov dword [ebp - 0x54], esi
jmp 0x40b339
push 4
lea eax, [ebp + 0x64]
push eax
push str.shel
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b290
or byte [ebp + 0x73], 2
and byte [ebp + 0x3b], 0xfe
mov dword [ebp - 0x48], esi
mov dword [ebp + 0x24], esi
jmp 0x40b053
push 5
push dword [ebp + 0x64]
push str.shel:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b2fe
add dword [ebp + 0x64], 0xa
mov eax, dword [ebp + 0x64]
or byte [ebp + 0x73], 2
and byte [ebp + 0x3b], 0xfe
mov dword [ebp - 0x84], eax
push 5
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp - 0x84]
push eax
mov dword [ebp - 0x48], esi
mov dword [ebp + 0x24], esi
mov dword [ebp + 0x40], ebx
call fcn.0041a317
add esp, 0xc
cmp dword [ebp + 0x40], ebx
mov dword [ebp + 0x64], eax
jle 0x40b053
push dword [ebp + 0x40]
lea ecx, [ebp - 0x120]
push dword [ebp - 0x84]
call fcn.00444f56
jmp 0x40b053
push 9
push dword [ebp + 0x64]
push str.runrmenu:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b347
add dword [ebp + 0x64], 0x12
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b4a
mov eax, dword [ebp + 0x64]
pop ecx
lea ecx, [ebp - 0x124]
sub eax, edi
sar eax, 1
push eax
push edi
call fcn.00444f56
lea eax, [ebp + 0x64]
push eax
call fcn.0043e611
jmp 0x40c007
push 8
push dword [ebp + 0x64]
push str.poprmenu
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b3f7
add dword [ebp + 0x64], 0x10
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x64]
push eax
call fcn.00405b4a
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40b380
add dword [ebp + 0x64], edi
lea eax, [ebp + 0x64]
push eax
call fcn.0043e611
pop ecx
lea eax, [ebp - 0x184]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x10]
mov ax, word [eax]
cmp ax, bx
mov byte [ebp - 0x4d], 1
je 0x40b3b5
cmp ax, 0x30
jb 0x40b3b2
cmp ax, 0x39
jbe 0x40b3b5
add dword [ebp - 0x10], edi
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00451cdf
mov eax, dword [ebp - 0x10]
mov ax, word [eax]
cmp ax, bx
pop ecx
pop ecx
je 0x40b3e1
cmp ax, 0x30
jb 0x40b3de
cmp ax, 0x39
jbe 0x40b3e1
add dword [ebp - 0x10], edi
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00451cdf
pop ecx
jmp 0x40c007
push 4
push dword [ebp + 0x64]
push str.pid:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b46b
add dword [ebp + 0x64], 8
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
mov dword [ebp - 0x7c], edi
call fcn.00405b4a
mov ax, word [edi]
cmp ax, 0x28
pop ecx
je 0x40b454
cmp ax, 0x30
jne 0x40b43e
mov ax, word [edi + 2]
or ax, 0x20
cmp ax, 0x78
je 0x40b454
mov eax, dword [ebp + 0x64]
cmp edi, eax
je 0x40b339
lea ecx, [ebp - 0x11c]
jmp 0x40b32e
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00441162
pop ecx
pop ecx
jmp 0x40b339
push 5
push dword [ebp + 0x64]
push str.hpid:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b4a8
add dword [ebp + 0x64], 0xa
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b4a
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b339
lea ecx, [ebp - 0x148]
jmp 0x40be8c
push 5
push dword [ebp + 0x64]
push str.ppid:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b51f
add dword [ebp + 0x64], 0xa
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp + 0x64]
push eax
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
call fcn.004481c5
cmp dword [ebp - 0x98], ebx
pop ecx
pop ecx
jg 0x40b511
jl 0x40b4f2
cmp dword [ebp - 0x9c], ebx
jae 0x40b511
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
call fcn.004088e4
pop ecx
pop ecx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x60], eax
jmp 0x40b053
push 4
push dword [ebp + 0x64]
push str.exe:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b634
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 + 0x14], ebx
jne 0x40b555
mov dword [ebp - 0x18], esi
cmp cx, 0x22
jne 0x40b5cc
lea esi, [eax + 2]
mov edi, eax
mov ecx, esi
jmp 0x40b58a
cmp ax, 0x22
jne 0x40b588
inc edx
test dl, 1
je 0x40b588
xor eax, eax
mov ax, word [ecx + 2]
cmp ax, bx
je 0x40b595
call fcn.0040f8eb
test al, al
jne 0x40b595
or dword [ebp - 0x18], 2
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40b564
push 0x22
pop edx
cmp word [ecx], dx
jne 0x40b5d9
or dword [ebp + 0x14], 0xffffffff
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
cmp word [ecx - 4], dx
mov edi, esi
mov byte [ebp + 0x39], 2
je 0x40b5c0
mov ax, word [edi]
cmp ax, dx
jne 0x40b5d9
cmp word [edi + 2], dx
jne 0x40b5c5
mov byte [ebp + 0x39], bl
jmp 0x40b5d9
cmp ax, dx
jne 0x40b5d9
jmp 0x40b5c0
lea eax, [ebp + 0x64]
push eax
call fcn.00405b4a
pop ecx
mov ecx, dword [ebp + 0x64]
sub ecx, edi
sar ecx, 1
add dword [ebp + 0x14], ecx
cmp dword [ebp + 0x14], ebx
jle 0x40b339
add edi, 0xfffffff6
push edi
lea ecx, [ebp - 0xc4]
call fcn.0044e731
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 0x14]
add eax, 0xa
mov word [eax + ecx*2], bx
cmp word [eax], 0x2a
mov dword [ebp + 0x20], eax
jne 0x40b339
cmp word [eax + 2], bx
jne 0x40b339
lea eax, [ebp - 0xc4]
push eax
call fcn.004047f3
pop ecx
mov dword [ebp + 0x20], eax
jmp 0x40b339
push 3
push dword [ebp + 0x64]
push 0x4c1fac
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b73a
mov eax, dword [ebp + 0x64]
xor edi, edi
add eax, 6
jmp 0x40b65b
inc edi
inc eax
inc eax
mov dword [ebp + 0x64], eax
cmp word [eax], 0x2a
je 0x40b658
cmp edi, 2
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x44], ebx
jge 0x40b6ec
movzx eax, word [eax]
cmp ax, bx
je 0x40b6b6
call fcn.0040f8eb
test al, al
jne 0x40b6b6
push esi
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.0041a317
add esp, 0xc
cmp dword [ebp - 0x44], ebx
mov dword [ebp + 0x64], eax
jle 0x40b6b6
push dword [ebp - 0x44]
lea ecx, [ebp - 0x70]
push dword [ebp - 0x114]
call fcn.00444f56
mov eax, dword [ebp - 0x70]
mov dword [ebp + 0x50], eax
cmp edi, esi
jne 0x40b726
cmp dword [ebp - 0x44], ebx
jle 0x40b72e
mov eax, dword [ebp - 0x70]
push esi
lea ecx, [ebp - 0x70]
push ecx
push eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x70], ebx
call fcn.00499bae
add esp, 0xc
lea ecx, [ebp - 0x140]
mov dword [ebp + 0x50], eax
call fcn.0043e679
jmp 0x40b339
push 0x105
lea ecx, [ebp - 0x70]
call fcn.00444e77
push 0x104
push dword [ebp - 0x70]
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
push 0x5c
push ebx
push dword [ebp - 0x70]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
je 0x40b71b
mov word [eax], bx
mov eax, dword [ebp - 0x70]
mov dword [ebp + 0x50], eax
jmp 0x40b339
cmp edi, ebx
jle 0x40b339
mov dword [ebp + 0x50], 0x4c1f50
jmp 0x40b339
push 5
push dword [ebp + 0x64]
push str.logs:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40b7b3
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 0x40b771
add eax, 2
mov dword [ebp + 0x40], eax
mov esi, dword [ebp + 0x40]
push 1
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 4], ebx
call fcn.0041a317
add esp, 0xc
cmp dword [ebp + 4], ebx
mov dword [ebp + 0x64], eax
jle 0x40b339
cmp edi, ebx
je 0x40b7a5
cmp dword [0x4dbd08], ebx
je 0x40b339
push dword [ebp + 4]
lea ecx, [ebp - 0x154]
jmp 0x40be91
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c1f4c
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b7d2
mov byte [ebp - 0x63], 1
jmp 0x40b053
push 5
lea eax, [ebp + 0x64]
push eax
push str.nowin
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b7f2
mov byte [ebp - 0x3c], 1
jmp 0x40b053
push 4
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push str.hide
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b817
mov dword [ebp - 0x14], 0x10000000
jmp 0x40b053
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c1f34
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b83b
inc dword [ebp - 0xf0]
mov dword [ebp + 0x24], esi
jmp 0x40b053
push 5
lea eax, [ebp + 0x64]
push eax
push str.waiti
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b85b
mov byte [ebp + 0x3a], 1
jmp 0x40b053
push 3
pop esi
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c1f28
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b87d
or byte [ebp + 0x38], 1
jmp 0x40b053
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c1f24
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b89c
mov byte [ebp - 0x38], 1
jmp 0x40b053
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c1f20
call fcn.00446de5
add esp, 0xc
test al, al
jne 0x40b053
push edi
lea eax, [ebp + 0x64]
push eax
push str.err
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b8d5
or byte [ebp + 0x38], 3
jmp 0x40b053
push 5
lea eax, [ebp + 0x64]
push eax
push str.limit
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b8f5
mov byte [ebp - 0x56], 1
jmp 0x40b053
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c1f0c
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b914
mov byte [ebp - 0x35], 1
jmp 0x40b053
push edi
lea eax, [ebp + 0x64]
push eax
push str.hook
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b936
mov dword [ebp - 0x48], 1
jmp 0x40b053
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c1f00
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b958
mov dword [ebp - 0x14], 6
jmp 0x40b053
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c1efc
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b976
mov dword [ebp - 0x14], esi
jmp 0x40b053
push edi
lea eax, [ebp + 0x64]
push eax
push str.show
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b998
mov dword [ebp - 0x14], 1
jmp 0x40b053
push edi
lea eax, [ebp + 0x64]
push eax
push str.runs
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b9b7
mov byte [ebp - 0x69], 1
jmp 0x40b053
push 2
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c1ee8
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b9d9
mov byte [ebp - 0x3a], 1
jmp 0x40b053
push 4
lea eax, [ebp + 0x64]
push eax
push str.no64
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40b9f8
mov byte [ebp - 0x3a], bl
jmp 0x40b053
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c1edc
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40ba18
mov byte [ebp - 0x61], 1
jmp 0x40b053
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c1ed8
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40ba37
mov byte [ebp + 0xf], 1
jmp 0x40b053
push 5
lea eax, [ebp + 0x64]
push eax
push str.incmd
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40ba57
mov byte [ebp - 0x3b], 1
jmp 0x40b053
push 3
lea eax, [ebp + 0x64]
push eax
push str.svr_
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40ba76
mov dword [ebp - 0x20], ebx
jmp 0x40b053
push 6
lea eax, [ebp + 0x64]
push eax
push str.svrsys
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40ba99
mov dword [ebp - 0x20], 0x20000
jmp 0x40b053
push 7
pop esi
push esi
lea eax, [ebp + 0x64]
push eax
push str.svrsys_
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bac2
mov al, byte [0x4dbbe0]
neg al
sbb eax, eax
and eax, 0x20000
jmp 0x40bb03
push 6
lea eax, [ebp + 0x64]
push eax
push str.svrusr
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bae2
or dword [ebp - 0x20], 1
jmp 0x40b053
push esi
lea eax, [ebp + 0x64]
push eax
push str.svrusr_
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bb0b
xor eax, eax
cmp byte [0x4dbbe0], bl
setne al
mov dword [ebp - 0x20], eax
jmp 0x40b053
push esi
lea eax, [ebp + 0x64]
push eax
push str.hidecmd
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bb2a
mov byte [ebp - 0x37], 1
jmp 0x40b053
push 8
lea eax, [ebp + 0x64]
push eax
push str.hidecmd_
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bb49
mov byte [ebp - 0x37], bl
jmp 0x40b053
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c1e90
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bb6c
mov dword [ebp + 0x2c], 1
jmp 0x40b053
push 3
push dword [ebp + 0x64]
push 0x4c1e8c
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40bb8f
add dword [ebp + 0x64], 6
mov dword [ebp + 0x2c], 0x108
jmp 0x40bbaf
push edi
push dword [ebp + 0x64]
push 0x4c1e88
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40bc06
add dword [ebp + 0x64], 4
mov dword [ebp + 0x2c], 8
xor ecx, ecx
jmp 0x40bbf6
mov eax, ecx
call fcn.0040f8eb
test al, al
jne 0x40bffe
or ecx, 0x20
cmp cx, 0x61
jne 0x40bbd1
or dword [ebp + 0x2c], 0x40
jmp 0x40bbf3
cmp cx, 0x65
jne 0x40bbdd
or byte [ebp + 0x2c], 0x80
jmp 0x40bbf3
cmp cx, 0x63
jne 0x40bbe9
or byte [ebp + 0x2d], 1
jmp 0x40bbf3
cmp cx, 0x64
jne 0x40bbf3
or byte [ebp + 0x2d], 2
add dword [ebp + 0x64], edi
mov eax, dword [ebp + 0x64]
mov cx, word [eax]
cmp cx, bx
jne 0x40bbb3
jmp 0x40bffe
push 3
push dword [ebp + 0x64]
push 0x4c1e84
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40bc57
add dword [ebp + 0x64], 6
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x3a
mov byte [ebp + 0x46], 1
jne 0x40b339
add dword [ebp + 0x64], edi
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b4a
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b339
lea ecx, [ebp - 0xfc]
jmp 0x40be8c
push 5
push dword [ebp + 0x64]
push str.code:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40bd18
add dword [ebp + 0x64], 0xa
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x40], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push str.UTF8
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bca5
mov byte [ebp + 0x47], 1
mov dword [ebp - 0x88], 0xfde9
jmp 0x40bffe
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push str.ANSI
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bccb
mov byte [ebp + 0x47], 1
mov dword [ebp - 0x88], ebx
jmp 0x40bffe
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push 0x4c1e68
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bcf5
mov byte [ebp + 0x47], 2
mov dword [ebp - 0x88], 0x4b0
jmp 0x40bffe
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00441162
test eax, eax
pop ecx
pop ecx
jle 0x40bffe
mov byte [ebp + 0x47], 1
jmp 0x40bffe
push esi
lea eax, [ebp + 0x64]
push eax
push str.timeout:
call fcn.00446e98
add esp, 0xc
test al, al
je 0x40bdc5
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x1c], eax
mov cx, word [eax]
cmp cx, 0x23
mov byte [ebp - 0x36], bl
jne 0x40bd4a
mov byte [ebp - 0x36], 1
jmp 0x40bd54
cmp cx, 0x2a
jne 0x40bd5a
mov byte [ebp - 0x36], 2
add eax, 2
mov dword [ebp + 0x1c], eax
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp + 0x1c]
push eax
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x134], ebx
call fcn.0048ef4e
test eax, eax
pop ecx
pop ecx
jle 0x40bffe
mov eax, dword [ebp - 0x138]
cmp eax, ebx
jle 0x40bffe
or dword [ebp + 0x24], 0x10
mov dword [ebp - 0xc8], eax
mov al, byte [ebp - 0x36]
mov byte [ebp + 0x1b], al
mov eax, dword [ebp + 0x1c]
cmp word [eax], 0x3a
jne 0x40bffe
add dword [ebp + 0x1c], edi
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.00441162
pop ecx
pop ecx
jmp 0x40bffe
push 5
push dword [ebp + 0x64]
push str.user:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40be26
add dword [ebp + 0x64], 0xa
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b4a
mov eax, dword [ebp + 0x64]
cmp edi, eax
pop ecx
je 0x40b339
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0xb4]
call fcn.00444f56
cmp word [edi], 0x23
jne 0x40be1e
cmp word [edi + 2], 0x23
jne 0x40be1e
mov byte [ebp - 0x2d], 1
jmp 0x40b339
mov byte [ebp - 0x2d], bl
jmp 0x40b339
push esi
push dword [ebp + 0x64]
push str.passwd:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40be51
mov eax, dword [ebp + 0x64]
cmp word [eax + 0xe], 0x23
jne 0x40be4c
cmp word [eax + 0x10], 0x23
je 0x40be66
mov byte [ebp - 1], bl
jmp 0x40be6a
push esi
push dword [ebp + 0x64]
push str.passwd
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40be97
mov byte [ebp - 1], 1
add dword [ebp + 0x64], 0xe
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405b4a
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b339
lea ecx, [ebp - 0xac]
sub eax, esi
sar eax, 1
push eax
push esi
jmp 0x40b334
push 8
lea eax, [ebp + 0x64]
push eax
push str.REALTIME
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40beba
mov dword [ebp - 0x24], pe_nt_image_headers32
jmp 0x40b053
push 4
lea eax, [ebp + 0x64]
push eax
push str.HIGH
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bedd
mov dword [ebp - 0x24], 0x80
jmp 0x40b053
push 0xb
lea eax, [ebp + 0x64]
push eax
push str.ABOVENORMAL
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bf00
mov dword [ebp - 0x24], 0x8000
jmp 0x40b053
push 6
lea eax, [ebp + 0x64]
push eax
push str.NORMAL
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bf23
mov dword [ebp - 0x24], 0x20
jmp 0x40b053
push 0xb
lea eax, [ebp + 0x64]
push eax
push str.BELOWNORMAL
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bf46
mov dword [ebp - 0x24], 0x4000
jmp 0x40b053
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c1e0c
call fcn.00446de5
add esp, 0xc
test al, al
jne 0x40bf80
mov edi, dword [ebp + 0x64]
push 0x4c1e00
push 4
pop esi
call fcn.00402d68
cmp al, bl
pop ecx
lea eax, [ebp + 0x64]
je 0x40bf8c
add dword [ebp + 0x64], 8
push eax
call fcn.0043e611
pop ecx
mov dword [ebp - 0x24], 0x40
jmp 0x40b053
push 3
push eax
push 0x4c1dfc
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bfa9
mov byte [ebp + 0x37], 1
jmp 0x40b053
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c1df8
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bfd2
mov byte [ebp - 0x39], 1
mov byte [ebp + 0x47], bl
mov dword [ebp - 0x88], ebx
jmp 0x40b053
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c1df4
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40bff2
mov byte [ebp - 0x62], 1
jmp 0x40b053
mov eax, dword [ebp - 0x7c]
cmp word [eax], 0x2d
mov dword [ebp + 0x64], eax
jne 0x40c00d
lea eax, [ebp + 0x64]
push eax
call fcn.00405b6e
pop ecx
jmp 0x40b053
xor esi, esi
inc esi
cmp dword [ebp + 0x2c], ebx
je 0x40c03a
cmp byte [ebp - 0x3c], bl
je 0x40c01e
or dword [ebp + 0x2c], 4
cmp dword [ebp + 0x2c], ebx
je 0x40c03a
cmp byte [ebp + 0x3a], bl
je 0x40c02c
or dword [ebp + 0x2c], 0x20
cmp dword [ebp + 0x2c], ebx
je 0x40c03a
cmp byte [ebp - 0x3b], bl
je 0x40c03a
or byte [ebp + 0x2d], 4
cmp dword [ebp - 0x60], ebx
je 0x40c06c
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0x1c4]
mov dword [eax], 0x48
call fcn.004048a5
mov eax, dword [ebp - 0x1c0]
neg eax
sbb eax, eax
and eax, 0x80000
mov dword [ebp - 8], eax
cmp dword [ebp - 0x88], 0x4b0
jne 0x40c07c
mov byte [ebp + 0x47], 2
mov eax, dword [ebp - 0x13c]
cmp eax, ebx
je 0x40c0ae
cmp byte [ebp + 0x57], bl
mov dword [ebp + 0x64], eax
jne 0x40c0ae
cmp dword [ebp + 0x30], ebx
jne 0x40c0ae
push esi
push ebx
lea ecx, [ebp - 0x110]
push ecx
mov ecx, dword [ebp + 0x4c]
push eax
call fcn.00456647
mov eax, dword [ebp - 0x110]
mov dword [ebp + 0x64], eax
mov edi, dword [ebp + 0x20]
cmp edi, ebx
mov dword [ebp - 0x1d0], ebx
mov dword [ebp - 0x1cc], ebx
mov dword [ebp - 0x1c8], ebx
je 0x40c0d2
cmp word [edi], bx
je 0x40c0d2
cmp word [ebp - 0x18], bx
je 0x40c0d5
mov byte [ebp + 0x37], bl
cmp edi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp + 8], ebx
mov dword [ebp - 0x10c], 0x4c1330
je 0x40c1bc
cmp word [edi], 0x2a
jne 0x40c104
inc edi
inc edi
inc dword [ebp - 0x28]
cmp word [edi], 0x2a
je 0x40c0f6
mov dword [ebp + 0x20], edi
cmp word [edi], 0x3f
jne 0x40c130
inc edi
inc edi
mov dword [ebp + 0x20], edi
mov dword [ebp - 0x10c], edi
jmp 0x40c122
inc edi
inc edi
cmp ax, 0x3a
mov dword [ebp + 0x20], edi
je 0x40c12c
mov ax, word [edi]
cmp ax, bx
jne 0x40c117
jmp 0x40c130
mov word [edi - 2], bx
mov ax, word [edi]
push 0x20
pop ecx
or ax, cx
cmp ax, 0x63
jne 0x40c168
mov dx, word [edi + 2]
or dx, cx
cmp dx, 0x61
jne 0x40c168
mov dx, word [edi + 4]
or dx, cx
cmp dx, 0x62
jne 0x40c168
cmp word [edi + 6], 0x3a
jne 0x40c168
mov dword [ebp - 0x34], esi
add edi, 8
jmp 0x40c18c
cmp ax, 0x65
jne 0x40c18f
mov ax, word [edi + 2]
or ax, cx
cmp ax, 0x78
jne 0x40c18f
cmp word [edi + 4], 0x3a
jne 0x40c18f
mov dword [ebp - 0x34], pe_nt_image_headers32
add edi, 6
mov dword [ebp + 0x20], edi
cmp edi, ebx
je 0x40c1bc
mov ax, word [edi]
or ax, cx
cmp ax, 0x75
jne 0x40c1bc
mov ax, word [edi + 2]
or ax, cx
cmp ax, 0x64
jne 0x40c1bc
cmp word [edi + 4], 0x3a
jne 0x40c1bc
add edi, 6
mov dword [ebp + 8], esi
mov dword [ebp + 0x20], edi
cmp byte [ebp + 0x37], bl
je 0x40c201
cmp edi, ebx
je 0x40c201
cmp word [ebp - 0x34], bx
jne 0x40c201
cmp word [ebp + 8], bx
jne 0x40c201
xor edx, edx
cmp byte [ebp + 0x39], bl
mov ecx, edi
setne dl
xor eax, eax
mov ax, word [edi]
jmp 0x40c1fc
cmp ax, 0x22
jne 0x40c1f7
inc edx
cmp edx, 2
jl 0x40c1f7
cmp word [ecx + 2], bx
je 0x40c1f7
mov byte [ebp + 0x37], bl
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40c1e2
cmp word [ebp - 0x28], bx
jne 0x40c213
cmp word [ebp - 0x34], bx
jne 0x40c213
cmp word [ebp + 8], bx
je 0x40c216
mov byte [ebp + 0x39], bl
cmp edi, ebx
je 0x40c22a
push 0x2a
push edi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
je 0x40c22a
mov word [eax], bx
cmp byte [ebp + 0x37], bl
je 0x40c257
xor eax, eax
cmp word [ebp + 8], bx
sete al
xor ecx, ecx
cmp word [ebp - 0x34], bx
sete cl
test ecx, eax
je 0x40c257
lea eax, [ebp - 0x1d0]
push eax
push edi
call fcn.00414d70
pop ecx
pop ecx
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp + 0x74]
mov dword [eax], esi
xor eax, eax
cmp dword [ebp - 0x54], ebx
lea edi, [ebp - 0x18c]
mov dword [ebp - 0x190], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x1b8], ebx
lea edi, [ebp - 0x1b4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x28], esi
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa8], ebx
stosd dword es:[edi], eax
je 0x40c2b6
mov dword [ebp - 0x1c], esi
cmp byte [ebp + 0xf], bl
mov dword [ebp - 0x1a0], 0xc
mov dword [ebp - 0x19c], ebx
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x15c], ebx
je 0x40c2ff
mov ecx, dword [0x4da354]
lea eax, [ebp - 0x260]
or byte [eax + 0x2d], 1
mov dword [eax + 0x3c], ecx
mov ecx, dword [0x4da358]
mov dword [eax + 0x40], ecx
mov ecx, dword [0x4da350]
mov dword [ebp - 0x1c], esi
mov dword [eax + 0x38], ecx
cmp byte [ebp + 0x57], bl
je 0x40c81c
mov ecx, dword [ebp + 0x64]
cmp word [ecx], 0x7c
mov dword [ebp + 0x14], ebx
jne 0x40c32d
inc ecx
inc ecx
xor eax, eax
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, 0x7c
je 0x40c314
call fcn.0040f8eb
test al, al
jne 0x40c314
mov dword [ebp + 0x40], ecx
mov eax, dword [ebp + 0x64]
xor edx, edx
mov dword [ebp + 0x58], edx
cmp word [eax], bx
je 0x40c3d8
cmp word [eax], 0x7c
jne 0x40c35d
cmp word [eax + 2], 0x7c
je 0x40c355
mov edx, eax
mov dword [ebp + 0x58], edx
jmp 0x40c35d
inc eax
inc eax
cmp word [eax], 0x7c
je 0x40c355
inc eax
inc eax
cmp word [eax], bx
jne 0x40c341
cmp edx, ebx
je 0x40c3d8
lea eax, [ebp + 0x58]
mov word [edx], bx
add dword [ebp + 0x58], 2
push eax
call fcn.0043e611
mov edx, dword [ebp + 0x58]
xor eax, eax
mov ax, word [edx]
cmp ax, bx
pop ecx
mov edi, edx
je 0x40c330
cmp ax, 0x7c
jne 0x40c3b7
lea esi, [edi + 2]
cmp word [esi], ax
jne 0x40c3b7
push edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
shl eax, 1
push eax
push esi
push edi
call fcn.004143bf
add esp, 0xc
cmp word [edi], 0x7c
jne 0x40c3b4
inc edi
inc edi
jmp 0x40c3aa
mov edx, dword [ebp + 0x58]
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40c388
cmp word [edx], bx
je 0x40c330
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
mov cl, 1
je 0x40c3da
mov al, cl
jmp 0x40c3e6
xor cl, cl
xor al, al
cmp cl, bl
jne 0x40c3e6
mov edx, dword [ebp + 0x40]
mov dword [ebp + 0x58], edx
cmp al, bl
mov dword [ebp + 0x30], edx
je 0x40c4cb
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
mov esi, eax
push ebx
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xa8]
push eax
xor edi, edi
lea eax, [ebp - 0xa4]
inc edi
push eax
mov dword [ebp - 0xe4], 0xc
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], edi
call dword [sym.imp.KERNEL32.DLL_CreatePipe]
test eax, eax
jne 0x40c43d
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push edi
call fcn.00415ff0
mov edi, dword [sym.imp.KERNEL32.DLL_DuplicateHandle]
push 3
push ebx
push ebx
lea eax, [ebp - 0xa4]
push eax
push esi
push dword [ebp - 0xa4]
push esi
call edi
cmp dword [ebp - 0xa8], ebx
mov word [ebp + 0xe], bx
je 0x40c491
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp - 0xa8]
lea eax, [ebp + 0xe]
push ebx
push ebx
push eax
push ecx
push dword [ebp + 0x40]
call fcn.0040a810
cmp dword [ebp - 0xa8], ebx
je 0x40c491
push dword [ebp - 0xa8]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push 3
push 1
push ebx
lea eax, [ebp - 0xa4]
push eax
push esi
push dword [ebp - 0xa4]
mov dword [ebp - 0xa8], ebx
push esi
call edi
mov ecx, dword [ebp - 0xa4]
cmp ecx, ebx
je 0x40c4cb
lea eax, [ebp - 0x260]
or byte [eax + 0x2d], 1
mov dword [ebp - 0x1c], 1
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x58], eax
xor edi, edi
inc edi
mov cx, word [eax]
cmp cx, bx
je 0x40c7b8
cmp cx, 0x3c
je 0x40c4f9
cmp cx, 0x3e
je 0x40c4f9
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c4e0
mov cx, word [eax]
cmp cx, bx
je 0x40c7b8
cmp cx, 0x3c
jne 0x40c5fd
mov word [eax], bx
add dword [ebp + 0x58], 2
lea eax, [ebp + 0x58]
push eax
call fcn.0043e611
mov eax, dword [ebp + 0x58]
cmp word [eax], bx
pop ecx
je 0x40c5fd
mov dword [ebp + 0x1c], eax
jmp 0x40c542
cmp cx, 0x3c
je 0x40c54a
cmp cx, 0x3e
je 0x40c54a
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c531
sub eax, dword [ebp + 0x1c]
lea ecx, [ebp - 0x90]
sar eax, 1
push eax
push dword [ebp + 0x1c]
call fcn.0044e68a
lea ecx, [ebp + 0x40]
call fcn.00444e32
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x1c]
call fcn.00456647
mov eax, dword [ebp + 0x40]
push eax
mov dword [ebp + 0x1c], eax
call fcn.00410ed4
lea eax, [ebp + 0x1c]
push eax
call fcn.0043e611
cmp dword [ebp - 0x4c], ebx
pop ecx
pop ecx
je 0x40c59c
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push ebx
push ebx
push 3
lea eax, [ebp - 0x1a0]
push eax
push 7
mov esi, 0xc0000000
push esi
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
call fcn.00405bea
cmp dword [ebp - 0x4c], ebx
jne 0x40c5e7
push ebx
push 0x2000000
push 3
lea eax, [ebp - 0x1a0]
push eax
push 7
push esi
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x4c]
call fcn.00405bea
cmp dword [ebp - 0x4c], ebx
jne 0x40c5e7
mov dword [ebp - 0x4c], ebx
lea ecx, [ebp + 0x40]
call fcn.0043e679
lea ecx, [ebp - 0x90]
call fcn.0043e679
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x3e
jne 0x40c4d4
mov word [eax], bx
mov eax, dword [ebp + 0x58]
xor esi, esi
cmp word [eax - 2], 0x32
mov byte [ebp + 0x57], 1
jne 0x40c622
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 0x40c635
add dword [ebp + 0x58], 2
mov esi, edi
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x26
jne 0x40c646
add dword [ebp + 0x58], 2
mov byte [ebp + 0x57], 3
lea eax, [ebp + 0x58]
push eax
call fcn.0043e611
mov eax, dword [ebp + 0x58]
cmp word [eax], bx
pop ecx
je 0x40c4d4
mov dword [ebp], eax
jmp 0x40c672
cmp cx, 0x3c
je 0x40c67a
cmp cx, 0x3e
je 0x40c67a
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c661
sub eax, dword [ebp]
lea ecx, [ebp - 0x84]
sar eax, 1
push eax
push dword [ebp]
call fcn.0044e68a
lea ecx, [ebp - 0x40]
call fcn.00444e32
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp - 0x40]
push eax
push dword [ebp]
call fcn.00456647
mov eax, dword [ebp - 0x40]
push eax
mov dword [ebp], eax
call fcn.00410ed4
lea eax, [ebp]
push eax
call fcn.0043e611
test byte [ebp + 0x57], 1
pop ecx
pop ecx
je 0x40c6d5
cmp dword [ebp - 0x10], ebx
je 0x40c6d2
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp - 0x10], ebx
test byte [ebp + 0x57], 2
je 0x40c6f8
cmp dword [ebp - 0xbc], ebx
je 0x40c6ef
push dword [ebp - 0xbc]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp - 0xbc], ebx
mov dword [ebp + 0x14], ebx
push ebx
push ebx
push 4
lea eax, [ebp - 0x1a0]
push eax
push 7
push 0x40000000
push dword [ebp]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], ebx
call fcn.00405bea
mov edi, eax
cmp edi, ebx
jne 0x40c78d
push ebx
push 0x2000000
push 4
lea eax, [ebp - 0x1a0]
push eax
push 7
push 0x40000000
push dword [ebp]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], ebx
call fcn.00405bea
mov edi, eax
cmp edi, ebx
jne 0x40c78d
push ebx
push 0x2000000
push 3
lea eax, [ebp - 0x1a0]
push eax
push 7
push 0x40000000
push dword [ebp]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], ebx
call fcn.00405bea
mov edi, eax
cmp edi, ebx
jne 0x40c78d
lea ecx, [ebp - 0x40]
call fcn.0043e679
lea ecx, [ebp - 0x84]
call fcn.0043e679
mov eax, dword [ebp + 0x58]
jmp 0x40c4d1
cmp esi, ebx
je 0x40c79c
push 2
push ebx
push ebx
push edi
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
cmp byte [ebp + 0x57], 1
jne 0x40c7a7
mov dword [ebp - 0x10], edi
jmp 0x40c772
cmp byte [ebp + 0x57], 3
mov dword [ebp + 0x14], edi
je 0x40c7a2
mov dword [ebp - 0xbc], edi
jmp 0x40c772
mov ecx, dword [ebp - 0x4c]
cmp ecx, ebx
mov edx, pe_nt_image_headers32
je 0x40c7d3
lea eax, [ebp - 0x260]
or dword [eax + 0x2c], edx
mov dword [ebp - 0x1c], edi
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp - 0x10]
cmp ecx, ebx
je 0x40c7e9
lea eax, [ebp - 0x260]
or dword [eax + 0x2c], edx
mov dword [ebp - 0x1c], edi
mov dword [eax + 0x3c], ecx
mov ecx, dword [ebp + 0x14]
cmp ecx, ebx
je 0x40c7ff
lea eax, [ebp - 0x260]
or dword [eax + 0x2c], edx
mov dword [ebp - 0x1c], edi
mov dword [eax + 0x40], ecx
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp - 0x15c]
push eax
push dword [ebp + 0x30]
call fcn.00456647
mov eax, dword [ebp - 0x15c]
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 0x40c85e
cmp ax, 0x2a
je 0x40c85e
cmp ax, 0x40
jne 0x40c867
push str.WinSta0WinLogon
lea ecx, [ebp - 0x104]
call fcn.0044e731
mov ecx, dword [ebp - 0x104]
inc byte [ebp + 0x12]
lea eax, [ebp - 0x260]
mov dword [eax + 8], ecx
mov dword [ebp - 0x14], esi
add dword [ebp + 0x64], 2
jmp 0x40c824
cmp ax, 0x3d
jne 0x40c879
or dword [ebp + 0x24], 1
inc dword [ebp - 0xf0]
jmp 0x40c861
cmp ax, 0x24
jne 0x40c885
mov byte [ebp + 0x46], 1
jmp 0x40c861
cmp ax, 0x26
jne 0x40c894
mov dword [ebp - 0x14], 3
jmp 0x40c861
cmp ax, 0x5e
jne 0x40c89f
mov dword [ebp - 0x14], edi
jmp 0x40c861
cmp ax, 0x5f
je 0x40c89a
cmp dword [ebp - 0x14], esi
je 0x40c8ce
cmp byte [ebp + 0x3b], bl
je 0x40c8ce
push str.WinSta0Default
lea ecx, [ebp - 0x104]
call fcn.0044e731
mov ecx, dword [ebp - 0x104]
lea eax, [ebp - 0x260]
mov dword [eax + 8], ecx
lea edi, [ebp - 0x260]
cmp dword [edi + 8], ebx
je 0x40c8ec
test byte [ebp + 0x12], 1
je 0x40c8ec
call fcn.0040a6f1
cmp eax, 1
jge 0x40c8ec
mov dword [edi + 8], ebx
mov eax, dword [ebp + 0x78]
cmp eax, ebx
je 0x40c907
or byte [edi + 0x2d], 1
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp - 0x1c], 1
mov dword [edi + 0x3c], eax
cmp dword [ebp + 0x2c], ebx
je 0x40c915
cmp dword [ebp + 0x24], ebx
je 0x40c915
or dword [ebp + 0x2c], 0x10
cmp byte [ebp + 0x46], bl
je 0x40c935
mov eax, dword [ebp - 0xfc]
cmp word [eax], bx
jne 0x40c935
push str.open
lea ecx, [ebp - 0xfc]
call fcn.0044e6d5
cmp byte [ebp - 0x69], bl
je 0x40c986
push 0x5c
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edi, eax
cmp edi, ebx
je 0x40c94f
inc edi
inc edi
jmp 0x40c952
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 + 0x24], ebx
push 1
setne al
push edi
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
add eax, 0x80000001
push eax
call fcn.0043f928
add esp, 0x18
mov ebx, eax
jmp 0x40f1eb
lea eax, [ebp + 0x64]
push eax
call fcn.0043e611
cmp dword [ebp - 0x54], ebx
pop ecx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x130], ebx
je 0x40ca3f
lea ecx, [ebp - 0x40]
mov byte [ebp + 0x46], bl
call fcn.00444e32
mov ecx, dword [ebp + 0x4c]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x54]
call fcn.004150b1
cmp eax, ebx
je 0x40ca2d
mov ecx, dword [eax]
cmp word [ecx], bx
je 0x40ca2d
push eax
lea ecx, [ebp - 0x40]
call fcn.0044e703
push dword [ebp + 0x64]
lea ecx, [ebp - 0x130]
call fcn.0044e731
push dword [ebp - 0x154]
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0x40]
call fcn.0040855e
mov edi, eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp + 0x20], eax
mov eax, dword [ebp - 0x130]
add esp, 0x14
lea ecx, [ebp - 0x40]
mov dword [ebp + 0x64], eax
call fcn.0043e679
cmp edi, ebx
je 0x40ca3f
mov ebx, edi
jmp 0x40f1d5
lea ecx, [ebp - 0x40]
call fcn.0043e679
mov ebx, 0x80070057
jmp 0x40f1d5
mov eax, dword [ebp - 0x124]
cmp word [eax], bx
je 0x40caa1
push dword [ebp + 0x64]
call fcn.0041310a
pop ecx
push 0xffffffffffffffff
push str.__k:0
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x64], eax
call fcn.0044e6a3
push dword [ebp + 0x64]
lea ecx, [ebp + 0x74]
call fcn.00444e9e
push 0x4c1d38
lea ecx, [ebp + 0x74]
call fcn.00444e9e
push dword [ebp - 0x124]
lea ecx, [ebp + 0x74]
call fcn.00444e9e
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp + 0x74]
call fcn.0046c8cb
mov ebx, eax
lea ecx, [ebp + 0x74]
jmp 0x40f1d0
cmp byte [ebp - 0x4d], bl
je 0x40cc6e
lea ecx, [ebp + 0x78]
call fcn.00444e32
push dword [ebp + 0x64]
mov dword [ebp + 0x40], ebx
call fcn.0041310a
pop ecx
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x64], eax
call fcn.00444e32
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x70]
push eax
push dword [ebp + 0x64]
mov dword [ebp + 4], ebx
call fcn.00499bae
mov eax, dword [ebp + 4]
add esp, 0xc
cmp eax, ebx
jne 0x40caf6
lea ecx, [ebp + 0x70]
call fcn.0043e679
lea ecx, [ebp + 0x78]
jmp 0x40ca30
mov word [eax - 2], bx
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push dword [ebp + 0x70]
lea ecx, [ebp - 0x44]
mov dword [ebp + 0x74], eax
call fcn.0044e66d
push dword [ebp + 4]
mov edi, dword [ebp - 0x44]
lea ecx, [ebp + 0x7c]
call fcn.0044e66d
push dword [ebp + 0x74]
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x7c]
push edi
call fcn.00406c82
add esp, 0x14
cmp dword [ebp + 0x40], ebx
mov edi, pe_nt_image_headers32
jle 0x40cb8d
mov eax, dword [ebp + 0x4c]
cmp dword [eax + 0x28], ebx
jne 0x40cb4e
push ebx
push eax
call fcn.00412996
pop ecx
pop ecx
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax + 0x28]
xor esi, esi
cmp eax, ebx
je 0x40cb5d
mov esi, dword [eax + 0x18]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push ebx
push esi
push ebx
push dword [ebp - 0x180]
push dword [ebp - 0x184]
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 0x40cc4e
cmp eax, dword [ebp + 0x40]
jge 0x40cc4e
cmp eax, ebx
mov ecx, dword [ebp + 0x78]
mov dword [ebp + 0x74], ecx
jle 0x40cbf2
mov esi, eax
lea eax, [ebp + 0x74]
call fcn.00444a40
mov eax, dword [ebp + 0x74]
movzx eax, word [eax]
push eax
call fcn.0043e5fa
add esp, 4
test al, al
je 0x40cbd8
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
movzx eax, word [eax]
push eax
call fcn.0043e5fa
add esp, 4
test al, al
je 0x40cbef
add dword [ebp + 0x74], 2
dec esi
jne 0x40cbb9
mov esi, dword [ebp + 0x74]
lea eax, [ebp + 0x74]
call fcn.00444a40
mov eax, dword [ebp + 0x74]
mov word [eax], bx
cmp word [esi], bx
je 0x40cc4e
push 0xffffffffffffffff
push str.__k:0
lea ecx, [ebp + 0x68]
call fcn.0044e6a3
push dword [ebp + 0x64]
lea ecx, [ebp + 0x68]
call fcn.00444e9e
push 0x4c1d38
lea ecx, [ebp + 0x68]
call fcn.00444e9e
push esi
lea ecx, [ebp + 0x68]
call fcn.00444e9e
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp + 0x68]
call fcn.0046c8cb
lea ecx, [ebp + 0x68]
mov ebx, eax
call fcn.0043e679
lea ecx, [ebp + 0x7c]
call fcn.0043e679
lea ecx, [ebp - 0x44]
call fcn.0043e679
lea ecx, [ebp + 0x70]
call fcn.0043e679
lea ecx, [ebp + 0x78]
jmp 0x40f1d0
push dword [ebp + 0x64]
lea ecx, [ebp - 0x108]
call fcn.0044e66d
cmp byte [ebp - 0x3b], bl
je 0x40cd3c
push str.PECMDpecmd_cmd
lea ecx, [ebp - 0x108]
call fcn.0044e731
push 1
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.0041a317
add esp, 0xc
push eax
lea ecx, [ebp - 0x108]
mov dword [ebp + 0x64], eax
call fcn.00444e9e
lea eax, [ebp - 0xc4]
push eax
call fcn.004047f3
pop ecx
mov dword [ebp + 0x20], eax
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10000000
mov eax, dword [ebp - 0x108]
mov dword [ebp + 0x64], eax
je 0x40ccdc
cmp byte [ebp - 0x62], bl
je 0x40cce6
lea eax, [ebp - 0x260]
or byte [eax + 0x2c], 0x80
cmp ecx, ebx
je 0x40ccf8
lea eax, [ebp - 0x260]
or dword [eax + 0x2c], 1
mov word [eax + 0x30], cx
mov al, byte [ebp + 0x12]
and al, 3
cmp al, 3
je 0x40cd06
cmp byte [ebp - 0x3c], bl
je 0x40cd10
lea eax, [ebp - 0x260]
or byte [eax + 0x2f], 8
cmp dword [ebp - 0x118], ebx
jg 0x40e3e3
lea eax, [ebp - 0x260]
cmp dword [eax + 8], ebx
je 0x40cff6
cmp byte [ebp + 0x12], bl
jle 0x40cff6
xor eax, eax
inc eax
jmp 0x40cff8
cmp byte [ebp - 0x37], bl
je 0x40ccc3
cmp dword [ebp - 0x14], esi
je 0x40ccc3
mov eax, dword [ebp - 0x108]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
mov dword [ebp], ebx
call fcn.0041a317
mov esi, eax
mov eax, dword [ebp + 0x64]
mov dword [ebp], eax
push 3
lea eax, [ebp]
push eax
push 0x4c1d34
call fcn.00446de5
add esp, 0x18
test al, al
jne 0x40ce46
push 7
lea eax, [ebp]
push eax
push str.cmd.exe
call fcn.00446de5
add esp, 0xc
test al, al
jne 0x40ce46
cmp dword [0x4dbccc], ebx
jne 0x40cdf0
push ebx
push 0x24
lea eax, [ebp - 0x590]
push eax
push ebx
mov word [ebp - 0x590], bx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x590]
mov edi, 0x4dbccc
push eax
mov ecx, edi
call fcn.0044e731
push str.System32cmd.exe
mov ecx, edi
call fcn.00444e9e
push dword [0x4dbccc]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov word [0x4dbc7c], ax
movsx eax, word [0x4dbc7c]
push eax
push dword [ebp]
mov dword [ebp + 0x30], ebx
push dword [0x4dbccc]
call fcn.00402cff
add esp, 0xc
test al, al
je 0x40cebb
movsx eax, word [0x4dbc7c]
mov ecx, dword [ebp]
lea ecx, [ecx + eax*2]
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x22
je 0x40ce39
call fcn.0040f8eb
test al, al
je 0x40cebb
lea eax, [ebp]
push eax
mov dword [ebp], ecx
call fcn.00405b6e
pop ecx
push 2
lea eax, [ebp]
push eax
push 0x4c1d04
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40cebb
mov eax, dword [ebp]
cmp word [eax], 0x22
jne 0x40cea1
add eax, 2
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043e611
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x22
pop ecx
je 0x40ce96
push 4
lea eax, [ebp + 0x78]
push eax
push str.call
call fcn.00446de5
add esp, 0xc
test al, al
je 0x40ce9e
mov eax, dword [ebp + 0x78]
mov dword [ebp], eax
jmp 0x40cea1
mov eax, dword [ebp]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.0041a317
add esp, 0xc
mov esi, eax
mov dword [ebp + 0x30], 1
mov eax, esi
sub eax, dword [ebp + 0x64]
and eax, 0xfffffffe
cmp eax, 8
jle 0x40ccc3
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 0x40cef8
push 4
push str..bat
lea eax, [esi - 8]
push eax
call edi
test eax, eax
jne 0x40ccc3
mov ax, word [esi]
push 0x64
pop ecx
push ebx
push 0x80
push 3
mov word [ebp - 0x90], ax
xor eax, eax
push ebx
lea edi, [ebp - 0x51c]
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 - 0x51c]
mov byte [ebp + 0x7b], bl
mov dword [ebp + 0x40], ebx
call fcn.00405bea
push ebx
lea eax, [ebp - 0x98]
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 0x40cf99
mov al, byte [ebp - 0x51c]
mov dword [ebp - 0x14], 0x10000000
jmp 0x40cf81
cmp al, 0xd
je 0x40cf88
cmp al, 0xa
je 0x40cf88
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x40cf76
jmp 0x40cf88
inc edi
movsx ax, byte [edi]
push eax
call fcn.0043e5fa
add esp, 4
test al, al
jne 0x40cf87
cmp dword [ebp + 0x30], ebx
jne 0x40cfc9
cmp byte [edi], 0x3a
jne 0x40cfae
cmp byte [edi + 1], 0x3a
jne 0x40cfae
inc edi
inc edi
jmp 0x40cfae
inc edi
cmp byte [edi], 0x40
je 0x40cfad
push 7
push edi
push 0x4c1cd0
call dword [sym.imp.SHLWAPI.dll_StrCmpNIA]
test eax, eax
jne 0x40cfc9
mov byte [ebp + 0x7b], 1
lea ecx, [ebp + 0x40]
call fcn.00402cb0
cmp byte [ebp + 0x7b], bl
mov ax, word [ebp - 0x90]
mov word [esi], ax
je 0x40ccc3
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x4c]
call fcn.004221d9
mov ebx, eax
jmp 0x40f1ca
xor eax, eax
cmp eax, ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x68], ebx
je 0x40d010
mov dword [ebp - 0x68], 1
mov dword [ebp + 0xc], 4
cmp byte [ebp - 0x63], bl
je 0x40d019
or dword [ebp + 0xc], 0x10
push eax
lea ecx, [ebp - 0x90]
call fcn.0043e6e2
cmp byte [0x4dbe94], bl
mov edi, dword [ebp + 0x68]
mov dword [ebp + 0x30], 0x4dc0f8
jne 0x40d052
cmp edi, ebx
je 0x40d040
cmp byte [edi + 8], bl
jne 0x40d052
cmp byte [ebp - 0x61], bl
mov byte [ebp + 0x7b], bl
je 0x40d056
cmp edi, ebx
je 0x40d056
mov eax, dword [edi + 0x24]
mov dword [ebp + 0x30], eax
mov byte [ebp + 0x7b], 1
push ebx
lea ecx, [ebp + 0x40]
call fcn.0044e66d
cmp byte [ebp + 0x7b], bl
mov dword [ebp + 0x28], ebx
mov esi, 0x4dcd58
je 0x40d2ed
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
push ebx
lea ecx, [ebp - 0x2fc]
call fcn.00414f4c
cmp edi, ebx
je 0x40d096
push dword [ebp + 0x30]
lea ecx, [ebp - 0x2fc]
push edi
call fcn.00440f3a
call dword [sym.imp.KERNEL32.DLL_GetEnvironmentStringsW]
mov edi, eax
push 0x106
lea ecx, [ebp - 0x78]
mov dword [ebp - 0xec], edi
call fcn.00444e50
mov eax, dword [ebp - 0x78]
mov dword [ebp + 0x68], eax
jmp 0x40d132
mov dword [ebp + 0x78], edi
jmp 0x40d0c4
cmp ax, 0x3d
je 0x40d0ce
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40d0be
mov esi, edi
sub esi, dword [ebp + 0x78]
sar esi, 1
cmp word [edi], bx
je 0x40d130
cmp word [edi + 2], bx
je 0x40d12b
cmp esi, 0x104
jg 0x40d12b
push esi
push dword [ebp + 0x78]
push dword [ebp + 0x68]
call fcn.00405b32
mov eax, dword [ebp + 0x68]
add esp, 0xc
push ebx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x2fc]
mov word [eax + esi*2], bx
call fcn.00410d4d
test eax, eax
jne 0x40d12b
push 0xffffffffffffffff
push esi
lea eax, [edi + 2]
push eax
push dword [ebp + 0x78]
lea ecx, [ebp - 0x2fc]
call fcn.0041500d
jmp 0x40d12b
inc edi
inc edi
cmp word [edi], bx
jne 0x40d129
inc edi
inc edi
cmp word [edi], bx
jne 0x40d0b9
push dword [ebp - 0xec]
call dword [sym.imp.KERNEL32.DLL_FreeEnvironmentStringsW]
mov eax, dword [ebp - 0x2f8]
xor esi, esi
cmp eax, ebx
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x78], ebx
jle 0x40d1f3
mov eax, dword [ebp + 0x78]
mov dword [ebp - 0x74], eax
inc eax
cmp eax, dword [ebp + 0x68]
mov dword [ebp - 0xc0], eax
mov dword [ebp + 0x14], eax
jge 0x40d1e1
mov eax, dword [ebp + 0x78]
shl eax, 2
mov dword [ebp - 0xec], eax
mov dword [ebp + 0x30], eax
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + eax]
mov edi, dword [ebp + 0x14]
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 0x40d1ad
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x74], ecx
mov dword [ebp + 0x30], edi
jmp 0x40d1b0
mov ecx, dword [ebp - 0x74]
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp + 0x68]
jl 0x40d17d
cmp ecx, dword [ebp + 0x78]
je 0x40d1e1
mov edx, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0xec]
add eax, edx
mov edi, dword [eax]
shl ecx, 2
mov edx, dword [ecx + edx]
mov dword [eax], edx
mov eax, dword [ebp - 0x2fc]
mov dword [ecx + eax], edi
mov eax, dword [ebp - 0xc0]
cmp eax, dword [ebp + 0x68]
mov dword [ebp + 0x78], eax
jl 0x40d159
cmp dword [ebp + 0x68], ebx
mov dword [ebp + 0x78], ebx
jle 0x40d235
mov edi, dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov eax, dword [ebp - 0x2fc]
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 - 0x2fc]
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 + 0x68]
jl 0x40d201
add esi, 4
push esi
lea ecx, [ebp + 0x40]
call fcn.00444e77
mov edi, dword [ebp + 0x40]
xor esi, esi
cmp dword [ebp + 0x68], ebx
mov dword [ebp + 0x28], edi
jle 0x40d2b7
mov eax, dword [ebp - 0x2fc]
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 + 4], eax
push edi
call fcn.00405b32
mov eax, dword [ebp + 4]
lea edi, [edi + eax*2]
mov word [edi], 0x3d
mov eax, dword [ebp - 0x2fc]
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 + 4], eax
push edi
call fcn.00405b32
mov eax, dword [ebp + 4]
lea edi, [edi + eax*2]
add esp, 0xc
mov word [edi], bx
inc edi
inc edi
inc esi
cmp esi, dword [ebp + 0x68]
jl 0x40d24e
mov word [edi], bx
lea ecx, [ebp - 0x78]
mov word [edi + 2], bx
call fcn.0043e679
push ebx
lea ecx, [ebp - 0x2fc]
call fcn.00435ea3
lea ecx, [ebp - 0x2bc]
call fcn.0043e679
push 0x4dcd58
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov esi, 0x4dcd58
mov ecx, dword [ebp - 0x5c]
xor al, al
cmp word [ecx], 0x40
jne 0x40d2fc
inc al
jmp 0x40d306
cmp dword [ebp - 0xb0], ebx
je 0x40d306
mov al, 2
cmp word [ebp + 0x3c], bx
je 0x40d40a
or dword [ebp + 0x24], 1
or dword [ebp + 0x3c], 8
neg al
sbb eax, eax
and eax, 0xfff01000
add eax, 0x100000
mov edi, eax
call fcn.00440d8b
push eax
lea eax, [ebp - 0x280]
push str..pipepecmd_exec__u
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push ebx
push 1
push edi
push edi
push 0xff
push 6
push 0x40000003
lea eax, [ebp - 0x280]
push eax
call dword [sym.imp.KERNEL32.DLL_CreateNamedPipeA]
cmp eax, ebx
mov dword [ebp - 0x60], eax
je 0x40d3a7
cmp eax, 0xffffffff
je 0x40d3a7
push 0xffffffffffffffff
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp + 0x78]
call fcn.0044e6a3
push ebx
push ebx
push 3
lea ecx, [ebp - 0x1a0]
push ecx
push 7
push 0xc0000000
push dword [eax]
lea ecx, [ebp - 0xd8]
call fcn.00405bea
lea ecx, [ebp + 0x78]
call fcn.0043e679
jmp 0x40d3af
push 1
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov edi, dword [ebp - 0xd8]
push ebx
push ebx
lea eax, [ebp + 0x68]
push eax
push edi
mov dword [ebp + 0x68], 2
call dword [sym.imp.KERNEL32.DLL_SetNamedPipeHandleState]
push ebx
push 1
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateEventW]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x190], eax
xor eax, eax
inc eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x260]
or byte [eax + 0x2d], 1
test byte [ebp + 0x38], 2
jne 0x40d3fe
cmp byte [ebp + 0x38], bl
jne 0x40d401
mov dword [eax + 0x3c], edi
test byte [ebp + 0x38], 1
je 0x40d40a
mov dword [eax + 0x40], edi
push esi
mov dword [ebp - 0x98], esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov eax, dword [ebp + 0x28]
neg eax
sbb eax, eax
and eax, 0x400
or eax, dword [ebp - 0x24]
mov dword [ebp + 0x1c], ebx
or dword [ebp + 0xc], eax
cmp byte [ebp - 0x35], bl
mov dword [ebp - 0x2c], ebx
mov dword [ebp + 0x14], ebx
je 0x40d43e
or dword [ebp + 0xc], 0x1000004
cmp byte [ebp - 0x3a], bl
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xc0], ebx
je 0x40d462
lea eax, [ebp - 0xec]
push eax
call fcn.00403ecc
pop ecx
mov dword [ebp - 0xc0], eax
cmp byte [ebp + 0x46], bl
mov edi, dword [ebp + 0x20]
je 0x40d472
cmp edi, ebx
je 0x40e1c9
cmp byte [ebp - 0x56], bl
je 0x40d534
cmp word [ebp - 0x34], bx
jne 0x40d534
cmp word [ebp + 8], bx
jne 0x40d534
push dword [ebp + 0x64]
lea eax, [ebp + 0x1c]
push edi
push dword [ebp + 0x50]
push eax
call fcn.0040471f
mov esi, eax
push esi
call fcn.00404817
add esp, 0x14
test eax, eax
jne 0x40d750
cmp dword [ebp - 0x20], ebx
push ebx
je 0x40d4f8
movzx eax, word [ebp - 0x20]
push 0x4c14b4
push ebx
or eax, 2
push eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x260]
push eax
mov eax, dword [ebp - 8]
or eax, dword [ebp + 0xc]
push esi
push dword [ebp + 0x28]
push eax
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00405cb1
add esp, 0x38
mov dword [ebp - 0xc], eax
jmp 0x40e2da
call fcn.00404684
pop ecx
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x260]
push eax
mov eax, dword [ebp - 8]
or eax, dword [ebp + 0xc]
push esi
push dword [ebp + 0x28]
push eax
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
push dword [ebp - 0x158]
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
jmp 0x40d4f0
mov eax, dword [ebp - 0xb4]
cmp word [eax], bx
je 0x40d70e
cmp word [ebp - 0x34], bx
jne 0x40d70e
cmp word [ebp + 8], bx
jne 0x40d70e
xor edi, edi
inc edi
cmp byte [ebp - 0x2d], bl
mov dword [ebp - 0xc], ebx
je 0x40d5b7
push eax
lea ecx, [ebp + 0x68]
call fcn.00402d29
lea ecx, [ebp + 0x78]
call fcn.00444cbe
push dword [ebp - 0xb4]
call fcn.0043e587
lea eax, [ebp + 0x78]
push eax
push dword [ebp + 0x68]
call fcn.0044ad9f
add esp, 0xc
push 0xffffffffffffffff
mov edi, eax
neg edi
push 0xffffffffffffffff
push dword [ebp + 0x78]
sbb edi, edi
lea ecx, [ebp - 0xb4]
neg edi
call fcn.00444eed
lea ecx, [ebp + 0x78]
call fcn.0043e5c8
lea ecx, [ebp + 0x68]
call fcn.0043e5c8
cmp byte [ebp - 1], bl
je 0x40d61d
push dword [ebp - 0xac]
lea ecx, [ebp + 0x68]
call fcn.00402d29
lea ecx, [ebp + 0x78]
call fcn.00444cbe
push dword [ebp - 0xac]
call fcn.0043e587
cmp edi, ebx
pop ecx
je 0x40d5f9
lea eax, [ebp + 0x78]
push eax
push dword [ebp + 0x68]
call fcn.0044ad9f
test eax, eax
pop ecx
pop ecx
je 0x40d5f9
xor edi, edi
inc edi
jmp 0x40d5fb
xor edi, edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x78]
lea ecx, [ebp - 0xac]
call fcn.00444eed
lea ecx, [ebp + 0x78]
call fcn.0043e5c8
lea ecx, [ebp + 0x68]
call fcn.0043e5c8
cmp edi, ebx
je 0x40d6f1
mov edi, dword [ebp - 0xb4]
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
push 0x40
push edi
call esi
cmp eax, ebx
jne 0x40d643
push 0x5c
push edi
call esi
cmp eax, ebx
je 0x40d651
mov word [eax], bx
mov esi, dword [ebp - 0xb4]
lea edi, [eax + 2]
jmp 0x40d656
mov esi, 0x4c14b4
push dword [ebp + 0x64]
lea eax, [ebp + 0x1c]
push dword [ebp + 0x20]
push dword [ebp + 0x50]
push eax
call fcn.0040471f
push eax
mov dword [ebp + 0x50], eax
call fcn.00404817
add esp, 0x14
test eax, eax
jne 0x40d750
cmp dword [ebp - 0x20], ebx
je 0x40d6bc
push dword [ebp - 0xac]
movzx eax, word [ebp - 0x20]
push esi
push edi
push eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x260]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 8]
push dword [ebp + 0x28]
or eax, 1
push eax
push ebx
push ebx
push ebx
push dword [ebp + 0x64]
push dword [ebp + 0x20]
call fcn.00405cb1
add esp, 0x38
jmp 0x40d6ee
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x260]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 8]
push dword [ebp + 0x28]
or eax, 1
push dword [ebp + 0xc]
push dword [ebp + 0x64]
push dword [ebp + 0x20]
push eax
push dword [ebp - 0xac]
push esi
push edi
call dword [sym.imp.ADVAPI32.dll_CreateProcessWithLogonW]
mov dword [ebp - 0xc], eax
push dword [ebp - 0xac]
call fcn.0043e587
push dword [ebp - 0xb4]
call fcn.0043e587
pop ecx
pop ecx
jmp 0x40e2da
cmp byte [ebp + 0x37], bl
je 0x40d7e4
cmp edi, ebx
je 0x40d725
cmp word [edi], 0x26
je 0x40d7e4
cmp word [ebp - 0x28], bx
jne 0x40d7e4
cmp word [ebp - 0x34], bx
jne 0x40d7e4
cmp word [ebp + 8], bx
jne 0x40d7e4
push dword [ebp + 0x50]
call fcn.00404817
test eax, eax
pop ecx
je 0x40d759
mov dword [ebp + 0x28], 3
jmp 0x40d76a
mov dword [ebp - 0xc], ebx
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ecx, dword [ebp + 0x74]
mov dword [ecx], eax
mov dword [ebp + 0x28], eax
lea ecx, [ebp - 0x84]
call fcn.00402cb0
cmp dword [ebp - 0xc0], ebx
je 0x40d789
push dword [ebp - 0xec]
call fcn.00403edd
pop ecx
lea esi, [ebp - 0xa8]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d79c
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebp - 0x11c], ebx
mov dword [esi], ebx
je 0x40d7c0
push dword [ebp - 0x11c]
lea eax, [ebp - 0x17c]
push dword [eax + 8]
push dword [ebp + 0x4c]
call fcn.00447471
add esp, 0xc
mov edx, dword [ebp - 0x148]
cmp edx, ebx
je 0x40e321
push 0x26
pop esi
cmp word [edx], si
mov ecx, edx
jne 0x40e2f4
lea eax, [edx + 2]
jmp 0x40e2ef
lea ecx, [ebp - 0xd4]
mov dword [ebp + 0x68], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp + 0x78], edi
mov dword [ebp - 0x54], edi
call fcn.00444cbe
cmp word [ebp + 8], bx
lea eax, [ebp - 0x74]
mov dword [ebp - 0x78], eax
lea eax, [ebp + 0x58]
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 4], eax
je 0x40d8d1
push 0x22
pop esi
cmp word [edi], si
jne 0x40d83a
add edi, 2
mov dword [ebp + 0x78], edi
push 0x3a
lea eax, [ebp + 0x78]
mov dword [ebp - 0x8c], edi
call fcn.00405b85
mov eax, dword [ebp + 0x78]
cmp eax, edi
pop ecx
je 0x40d85c
cmp word [eax - 2], si
jne 0x40d85c
mov word [eax - 2], bx
cmp word [eax], 0x3a
jne 0x40d867
mov word [eax], bx
inc eax
inc eax
cmp word [eax], si
mov edi, eax
jne 0x40d880
lea edi, [eax + 2]
inc eax
inc eax
cmp word [eax], si
jne 0x40d87b
mov word [eax], bx
cmp word [eax], bx
jne 0x40d871
cmp word [ebp - 0x34], bx
je 0x40d89e
push 0x3a
push edi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp + 0x68], eax
je 0x40d89e
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x68], eax
push ebx
push ebx
push 0x10000
push edi
lea eax, [ebp - 0xd4]
push eax
push dword [ebp - 0x8c]
call fcn.0043c1ea
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xcc]
add esp, 0x18
add ecx, eax
mov dword [ebp - 0x18], ecx
jmp 0x40db01
cmp edi, ebx
je 0x40d9a3
cmp word [edi], 0x26
jne 0x40d98a
mov ecx, dword [ebp + 0x4c]
push ebx
push 0xffffffffffffffff
push ebx
push edi
call fcn.00410d4d
mov edi, eax
cmp edi, ebx
jne 0x40d951
lea ecx, [ebp + 0x58]
call fcn.0043e679
lea ecx, [ebp - 0xd4]
call fcn.0043e679
lea ecx, [ebp - 0x24]
call fcn.0043e679
lea ecx, [ebp + 0x14]
call fcn.0043e679
lea ecx, [ebp - 0x2c]
call fcn.0043e679
lea ecx, [ebp + 0x1c]
call fcn.0043e679
push 0x4dcd58
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea ecx, [ebp + 0x40]
call fcn.0043e679
lea ecx, [ebp - 0x90]
call fcn.00402d97
mov ebx, 0x80070057
jmp 0x40f1ca
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xd0], eax
add eax, 0x10
push eax
lea ecx, [ebp - 0xd4]
call fcn.00444d00
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xd0]
inc eax
push eax
push dword [edi + 4]
push dword [ebp - 0xd4]
call fcn.00414409
add esp, 0xc
jmp 0x40db01
mov al, byte [ebp + 0x39]
neg al
sbb eax, eax
and eax, 2
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0044cfbc
pop ecx
pop ecx
mov dword [ebp + 0x20], eax
cmp dword [ebp + 0x20], ebx
mov dword [ebp - 0x194], ebx
jne 0x40da42
mov eax, dword [ebp + 0x64]
cmp eax, ebx
je 0x40d9c2
cmp word [eax], 0x2a
jne 0x40d9c2
inc dword [ebp - 0x28]
cmp byte [ebp + 0x37], bl
je 0x40d9ca
mov dword [ebp - 0x28], ebx
cmp word [ebp - 0x34], bx
je 0x40dfb0
push 0x3a
push ebx
push dword [ebp - 0x54]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov esi, eax
cmp esi, ebx
mov dword [ebp + 0x68], esi
je 0x40da39
push 2
pop eax
mov word [esi], bx
add esi, eax
mov dword [ebp + 0x68], esi
je 0x40da39
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x54]
cmp word [eax], 0x22
mov dword [ebp - 0x78], ebx
mov dword [ebp + 4], ebx
jne 0x40da29
inc eax
inc eax
mov dword [ebp - 0x54], eax
mov dword [ebp + 0x78], eax
push 0x22
lea eax, [ebp + 0x78]
call fcn.00405b85
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
je 0x40da29
mov word [eax], bx
push dword [ebp - 0x54]
lea ecx, [ebp + 0x58]
call fcn.0044e6d5
jmp 0x40db33
cmp dword [ebp + 0x20], ebx
je 0x40dfb0
cmp word [ebp - 0x34], bx
mov edi, dword [ebp + 0x20]
je 0x40da64
push 0x3a
push ebx
push edi
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
mov dword [ebp + 0x68], eax
je 0x40da64
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x68], eax
add dword [ebp + 0x20], 2
push str.EXEDATA
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp + 0x20]
push eax
call fcn.00454fc9
mov ecx, dword [0x4dbfb0]
mov si, word [edi]
mov word [edi], bx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x8c], eax
mov dword [ebp + 0x30], 0x20
mov ax, word [edx]
add esp, 0xc
cmp ax, 0x2e
mov dword [ebp + 0x78], ebx
jne 0x40daae
cmp word [edx + 2], bx
je 0x40dac2
cmp ax, bx
je 0x40dac2
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 0x40daf3
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp - 0xd4]
push eax
push dword [ebp - 0x8c]
mov dword [ebp + 0x30], 0x20
push dword [ebp - 0x194]
push ecx
call fcn.004153c9
add esp, 0x14
mov dword [ebp - 0x18], eax
cmp dword [ebp + 0x78], ebx
je 0x40db01
push dword [ebp + 0x78]
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
cmp dword [ebp - 0xd0], ebx
je 0x40e2bf
cmp dword [ebp - 0x18], ebx
je 0x40e2bf
cmp word [ebp - 0x28], bx
mov dword [ebp - 0x8c], 1
ja 0x40db30
cmp word [ebp - 0x34], bx
je 0x40de59
mov esi, dword [ebp + 0x68]
cmp dword [ebp + 4], ebx
mov eax, dword [ebp - 0x10c]
jne 0x40db43
mov eax, 0x4c1330
push eax
push str.exedat
push dword [ebp - 0x78]
lea eax, [ebp - 0xb8]
push dword [ebp + 4]
push eax
call fcn.00405fb1
add esp, 0x14
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0044e703
mov edi, dword [ebp - 0x74]
lea eax, [ebp + 0x58]
mov dword [ebp + 4], eax
lea eax, [ebp - 0x74]
cmp edi, ebx
mov dword [ebp - 0x78], eax
setne al
cmp al, bl
mov dword [ebp - 0x134], ebx
je 0x40dbb3
push ebx
lea eax, [ebp - 0x134]
push eax
push dword [ebp - 0xd0]
push dword [ebp - 0x18]
push edi
call dword [sym.imp.KERNEL32.DLL_WriteFile]
push edi
call fcn.0044263c
pop ecx
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x40dbc3
cmp dword [ebp - 0x8c], 1
jle 0x40e2bf
mov esi, dword [ebp + 0x68]
cmp esi, ebx
push dword [ebp - 0xb8]
mov byte [ebp + 0x7b], bl
je 0x40dd22
mov eax, dword [ebp + 0x58]
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x58], ebx
call fcn.0044e731
push str..ex
lea ecx, [ebp + 0x58]
call fcn.00444e9e
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0044e703
cmp word [esi], 0x5c
je 0x40dc0c
add esi, 0xfffffffe
mov word [esi], 0x5c
push ebx
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
cmp word [ebp - 0x34], 1
jne 0x40dc65
push 0x4c1c78
lea ecx, [ebp + 8]
call fcn.00401000
push dword [ebp + 0x30]
lea ecx, [ebp + 8]
call fcn.00444e9e
push 0x4c1c70
lea ecx, [ebp + 8]
call fcn.00444e9e
push dword [ebp + 0x58]
lea ecx, [ebp + 8]
call fcn.00444e9e
push dword [ebp + 8]
mov ecx, dword [ebp + 0x4c]
call fcn.00430afb
lea ecx, [ebp + 8]
call fcn.0043e679
jmp 0x40dd03
cmp word [ebp - 0x34], 0x100
jne 0x40dd03
push 0xf
pop ecx
xor eax, eax
mov dword [ebp - 0x388], 0x44
mov dword [ebp - 0x384], ebx
lea edi, [ebp - 0x380]
rep stosd dword es:[edi], eax
mov dword [ebp - 0xe8], ebx
lea edi, [ebp - 0xe4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x388]
push eax
push dword [ebp - 0x2c]
mov dword [ebp - 0x35c], 0x80
push ebx
push dword [ebp - 8]
push ebx
push ebx
push ebx
push 0x4c1c68
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.DLL_CreateProcessW]
push 0xffffffffffffffff
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
cmp dword [ebp - 0xe8], ebx
je 0x40dcef
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebp - 0xe4], ebx
je 0x40dd03
push dword [ebp - 0xe4]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push esi
lea ecx, [ebp + 0x58]
call fcn.00444e9e
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp + 0x1c]
call fcn.0044e703
lea ecx, [ebp + 0x30]
call fcn.0043e679
jmp 0x40dd2a
lea ecx, [ebp - 0x2c]
call fcn.0044e731
mov edx, dword [ebp + 0x64]
mov di, word [edx]
cmp di, 0x22
mov eax, edx
jne 0x40dd3b
lea eax, [edx + 2]
cmp word [eax], 0x3f
jne 0x40ddc8
lea esi, [eax + 2]
mov cx, word [esi]
cmp cx, 0x3f
jne 0x40dd59
mov edi, dword [ebp + 0x58]
lea esi, [eax + 4]
jmp 0x40dd9d
cmp cx, 0x5c
jne 0x40ddc8
cmp di, 0x22
je 0x40dd9a
mov eax, dword [ebp - 0x2c]
mov edi, 0x104
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp + 0x30], eax
mov dword [ebp - 0x2c], ebx
call fcn.00444e77
mov eax, dword [ebp - 0x2c]
push edi
mov word [eax], bx
push dword [ebp - 0x2c]
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.DLL_GetShortPathNameW]
lea ecx, [ebp + 0x30]
call fcn.0043e679
mov edx, dword [ebp + 0x64]
mov edi, dword [ebp - 0x2c]
cmp word [edx], 0x22
jne 0x40ddb0
push 0x4c0cb0
lea ecx, [ebp + 0x14]
call fcn.0044e731
push edi
lea ecx, [ebp + 0x14]
call fcn.00444e9e
push esi
lea ecx, [ebp + 0x14]
call fcn.00444e9e
mov edx, dword [ebp + 0x14]
mov dword [ebp + 0x64], edx
cmp dword [ebp + 0x68], ebx
je 0x40deae
cmp word [ebp - 0x28], bx
ja 0x40de09
lea eax, [ebp - 0xd4]
push eax
push dword [ebp + 0x1c]
mov dword [ebp + 0x68], ebx
call fcn.00414d70
cmp dword [ebp - 0xd0], ebx
pop ecx
pop ecx
je 0x40deab
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x18], eax
mov byte [ebp + 0x7b], 1
or eax, 0xffffffff
jmp 0x40de38
cmp byte [ebp + 0x46], bl
je 0x40deae
cmp dword [ebp + 0x50], ebx
jne 0x40de1d
mov eax, dword [ebp - 0x2c]
mov dword [ebp + 0x50], eax
cmp word [ebp - 0x28], 2
mov dword [ebp + 0x68], ebx
mov byte [ebp + 0x7b], 2
jb 0x40e1ae
lea eax, [ebp - 0x17c]
mov eax, dword [eax + 8]
push eax
push dword [ebp - 0xb8]
call fcn.00403900
cmp byte [ebp + 0x7b], 1
mov eax, dword [ebp - 0xb8]
pop ecx
pop ecx
mov word [eax], bx
jne 0x40dfa7
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x22
mov edi, eax
jne 0x40de67
add eax, 2
xor esi, esi
cmp word [eax], 0x3f
jne 0x40de89
cmp word [eax + 2], 0x5c
jne 0x40de89
lea edi, [eax + 4]
cmp word [edi], 0x22
jne 0x40de89
dec edi
dec edi
mov si, word [edi]
mov word [edi], 0x22
push dword [ebp + 0x50]
call fcn.00404817
test eax, eax
pop ecx
jne 0x40dfd0
cmp si, bx
je 0x40db30
mov word [edi], si
jmp 0x40db30
mov edx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x68]
cmp eax, ebx
mov esi, dword [ebp + 0x58]
je 0x40debf
cmp word [eax], bx
jne 0x40debf
xor esi, esi
cmp dword [ebp + 0x50], ebx
jne 0x40deca
mov eax, dword [ebp - 0x2c]
mov dword [ebp + 0x50], eax
push edx
push dword [ebp + 0x58]
lea eax, [ebp + 0x1c]
push dword [ebp + 0x50]
push eax
call fcn.0040471f
mov edi, eax
push edi
mov dword [ebp + 0x50], edi
call fcn.00404817
add esp, 0x14
test eax, eax
jne 0x40dfd0
cmp dword [ebp + 0x2c], ebx
je 0x40df24
push dword [ebp + 0x2c]
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x260]
push eax
mov eax, dword [ebp - 8]
or eax, dword [ebp + 0xc]
push edi
push dword [ebp + 0x28]
push eax
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.0040305c
add esp, 0x2c
jmp 0x40df8b
cmp dword [ebp - 0x20], ebx
je 0x40df61
movzx eax, word [ebp - 0x20]
push ebx
push 0x4c14b4
push ebx
push eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x260]
push eax
mov eax, dword [ebp - 8]
or eax, dword [ebp + 0xc]
push edi
push dword [ebp + 0x28]
push eax
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.00405cb1
add esp, 0x38
jmp 0x40df8b
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x260]
push eax
mov eax, dword [ebp - 8]
or eax, dword [ebp + 0xc]
push edi
push dword [ebp + 0x28]
push eax
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.004ad260
add esp, 0x28
cmp byte [ebp - 0x28], 2
mov dword [ebp - 0xc], eax
jl 0x40e2bf
cmp word [ebp - 0x34], bx
jne 0x40e2bf
jmp 0x40de2f
cmp byte [ebp + 0x7b], 2
jmp 0x40e1a8
push dword [ebp + 0x64]
lea eax, [ebp + 0x1c]
push edi
push dword [ebp + 0x50]
push eax
call fcn.0040471f
push eax
mov dword [ebp + 0x50], eax
call fcn.00404817
add esp, 0x14
test eax, eax
je 0x40dff7
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x28], 3
call fcn.0043e679
lea ecx, [ebp - 0xd4]
call fcn.0043e679
lea ecx, [ebp - 0x24]
call fcn.0043e679
jmp 0x40d76a
cmp word [ebp + 0x3c], bx
jne 0x40e07a
push 0x5c
push ebx
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov esi, eax
cmp esi, ebx
je 0x40e013
inc esi
inc esi
jmp 0x40e016
mov esi, dword [ebp + 0x64]
push 8
push esi
push str.winpeshl
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40e048
xor eax, eax
mov ax, word [esi + 0x10]
cmp ax, bx
je 0x40e044
cmp ax, 0x2e
je 0x40e044
call fcn.0040f8eb
test al, al
je 0x40e048
mov byte [ebp + 0x13], 1
push 8
push esi
push str.wpeinit
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x40e07a
xor eax, eax
mov ax, word [esi + 0xe]
cmp ax, bx
je 0x40e076
cmp ax, 0x2e
je 0x40e076
call fcn.0040f8eb
test al, al
je 0x40e07a
mov byte [ebp + 0x13], 1
test byte [ebp + 0x73], 1
jne 0x40e085
cmp dword [ebp - 0x48], ebx
je 0x40e0ad
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.0043f928
add esp, 0x18
cmp dword [ebp + 0x2c], ebx
je 0x40e0e3
push dword [ebp + 0x2c]
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x260]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 8]
push dword [ebp + 0x28]
or eax, dword [ebp + 0xc]
push eax
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.0040305c
add esp, 0x2c
jmp 0x40e14e
cmp dword [ebp - 0x20], ebx
je 0x40e122
movzx eax, word [ebp - 0x20]
push ebx
push 0x4c14b4
push ebx
push eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x260]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 8]
push dword [ebp + 0x28]
or eax, dword [ebp + 0xc]
push eax
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00405cb1
add esp, 0x38
jmp 0x40e14e
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x260]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 8]
push dword [ebp + 0x28]
or eax, dword [ebp + 0xc]
push eax
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.004ad260
add esp, 0x28
cmp eax, ebx
mov dword [ebp - 0xc], eax
jne 0x40e158
mov byte [ebp + 0x13], bl
cmp byte [ebp + 0x13], bl
je 0x40e183
call fcn.0041a61f
test eax, eax
je 0x40e16a
or dword [ebp + 0x24], 1
cmp dword [ebp + 0x24], ebx
jne 0x40e183
push str.waitpeinit.pecmd
call fcn.004ad289
neg eax
sbb eax, eax
neg eax
pop ecx
mov dword [ebp + 0x24], eax
cmp dword [ebp - 0xc], ebx
jne 0x40e2bf
cmp byte [ebp + 0x46], bl
jne 0x40e2bf
cmp edi, ebx
jne 0x40e2bf
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xc1
jne 0x40e2bf
lea ecx, [ebp + 0x58]
call fcn.0043e679
lea ecx, [ebp - 0xd4]
call fcn.0043e679
lea ecx, [ebp - 0x24]
call fcn.0043e679
push 0xd
xor eax, eax
pop ecx
lea edi, [ebp - 0x294]
mov dword [ebp - 0x29c], 0x3c
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov dword [ebp - 0x298], 0x4540
jne 0x40e1f4
push 5
pop eax
movzx eax, ax
mov dword [ebp - 0x280], eax
mov eax, dword [ebp + 0x50]
cmp eax, ebx
je 0x40e20f
cmp word [eax], bx
je 0x40e20f
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x78], eax
mov dword [ebp - 0x28c], eax
push 1
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x68], ebx
call fcn.0041a317
mov esi, eax
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [esi], bx
jne 0x40e24b
cmp eax, dword [ebp + 0x64]
je 0x40e266
push dword [ebp + 0x68]
lea ecx, [ebp - 0x144]
push eax
call fcn.00444f56
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x28c], eax
cmp word [esi], bx
je 0x40e271
mov dword [ebp - 0x288], esi
push ebx
push 0x4dbbd8
push str.Kernel32.DLL
push str.GetProcessID
call fcn.0043fb6c
mov edi, dword [0x4dbbd8]
add esp, 0x10
lea eax, [ebp - 0x29c]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp edi, ebx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x264]
lea esi, [ebp - 0x17c]
mov dword [esi], eax
mov dword [ebp - 0x264], ebx
je 0x40e2da
push eax
call edi
mov dword [esi + 8], eax
jmp 0x40e2da
lea ecx, [ebp + 0x58]
call fcn.0043e679
lea ecx, [ebp - 0xd4]
call fcn.0043e679
lea ecx, [ebp - 0x24]
call fcn.0043e679
cmp dword [ebp - 0xc], ebx
je 0x40d75c
xor eax, eax
jmp 0x40d762
mov ecx, eax
lea eax, [ecx + 2]
cmp word [eax], si
je 0x40e2ea
cmp word [ecx], si
mov eax, ecx
jne 0x40e302
lea eax, [ecx + 2]
jmp 0x40e302
inc eax
inc eax
cmp word [eax], 0x3a
je 0x40e300
cmp word [eax], bx
je 0x40e321
push edx
lea eax, [ebp - 0x17c]
push dword [eax]
push dword [ebp + 0x4c]
call fcn.0042c3b3
add esp, 0xc
cmp byte [ebp - 0x35], bl
je 0x40e347
lea esi, [ebp - 0x17c]
cmp dword [esi], ebx
je 0x40e347
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateJobObjectW]
push dword [esi]
mov dword [ebp - 0xf8], eax
push eax
call dword [sym.imp.KERNEL32.DLL_AssignProcessToJobObject]
push str.__LastPID
lea edi, [ebp - 0x17c]
push dword [edi + 8]
push dword [ebp + 0x4c]
call fcn.00447471
push str.__LastTID
push dword [edi + 0xc]
push dword [ebp + 0x4c]
call fcn.00447471
add esp, 0x18
cmp dword [ebp - 0x68], ebx
je 0x40e386
push dword [edi]
push 4
push str.SeDebugPrivilege
call fcn.0041356f
add esp, 0xc
test byte [ebp + 0xc], 4
je 0x40e39a
mov edi, dword [edi + 4]
cmp edi, ebx
je 0x40e39a
push edi
call dword [sym.imp.KERNEL32.DLL_ResumeThread]
lea ecx, [ebp + 0x14]
call fcn.0043e679
lea ecx, [ebp - 0x2c]
call fcn.0043e679
lea ecx, [ebp + 0x1c]
call fcn.0043e679
lea ecx, [ebp - 0x98]
call fcn.00402c9f
lea ecx, [ebp + 0x40]
call fcn.0043e679
lea ecx, [ebp - 0x90]
call fcn.00402d97
lea eax, [ebp - 0xd8]
mov eax, dword [eax]
cmp eax, ebx
je 0x40e3e3
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
lea eax, [ebp - 0xd8]
lea edi, [ebp - 0xa4]
mov dword [eax], ebx
mov eax, dword [edi]
cmp eax, ebx
je 0x40e400
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x4c]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e40e
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x10]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e41c
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0xbc]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e42d
push eax
call esi
cmp byte [ebp + 0x73], bl
mov dword [edi], ebx
jne 0x40e439
cmp byte [ebp + 0x3a], bl
je 0x40e48c
lea edi, [ebp - 0x17c]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e451
push 0x1388
push eax
call dword [sym.imp.USER32.dll_WaitForInputIdle]
cmp byte [ebp + 0x73], bl
je 0x40e48c
test byte [ebp + 0x73], 1
je 0x40e473
mov eax, dword [edi]
push dword [edi + 8]
neg eax
sbb eax, eax
and eax, 2
or eax, 1
push eax
call fcn.0042afbf
pop ecx
pop ecx
cmp dword [ebp - 0x120], ebx
je 0x40e48c
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push ebx
push dword [ebp - 0x120]
call fcn.00433f41
cmp dword [ebp - 0xc], ebx
jne 0x40e4b8
cmp dword [ebp - 0x118], ebx
jg 0x40e4b8
mov eax, dword [ebp - 0x5c]
cmp word [eax], bx
je 0x40efce
mov ecx, dword [ebp + 0x4c]
push 0x4c0a1c
push eax
call fcn.0044451e
jmp 0x40efce
lea edi, [ebp - 0x17c]
mov eax, dword [edi]
cmp eax, ebx
jne 0x40e4c7
mov dword [ebp + 0x24], ebx
mov ecx, dword [ebp - 0x80]
inc dword [ebp - 0x80]
mov dword [ebp + ecx*4 - 0x190], eax
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40e4de
push eax
call esi
cmp dword [ebp - 0x48], ebx
mov dword [edi + 4], ebx
je 0x40e53a
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push 0x3e8
call fcn.00415ff0
mov esi, dword [edi]
cmp esi, ebx
jne 0x40e522
cmp dword [ebp - 0x118], ebx
jle 0x40e534
push dword [ebp - 0x118]
push ebx
push 0x1f0fff
call dword [sym.imp.KERNEL32.DLL_OpenProcess]
mov esi, eax
cmp esi, ebx
mov dword [ebp + 0x24], ebx
je 0x40efc8
push esi
call fcn.004062f5
cmp dword [edi], ebx
pop ecx
jne 0x40e534
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebp + 0x24], ebx
je 0x40efce
mov al, byte [0x4da2ec]
mov esi, 0x100000
push 0x100004
lea ecx, [ebp + 0x50]
mov byte [ebp + 0x7b], al
mov dword [ebp + 8], esi
xor edi, edi
call fcn.00402d17
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
cmp word [eax], 0x40
lea ecx, [eax + 2]
mov dword [ebp - 8], eax
mov dword [ebp - 0x20], ecx
mov byte [ebp + 0x73], bl
jne 0x40e671
mov byte [ebp + 0x73], 1
mov dword [ebp - 8], ecx
cmp byte [ebp - 0x55], bl
je 0x40e5ef
mov ecx, dword [ebp + 0x4c]
push ebx
lea eax, [ebp + 0x30]
push eax
push dword [ebp - 8]
mov dword [ebp + 0x30], ebx
call fcn.0044d48a
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x30]
lea ecx, [ebp + 0x50]
call fcn.00444dba
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 + 8], esi
call fcn.00444d00
lea ecx, [ebp + 0x30]
call fcn.0043e679
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 - 0x94], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x74], eax
jg 0x40e61e
mov dword [ebp - 0x94], 0x3e8
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0x3c]
and ax, 0x101
sub ax, 0x101
neg ax
sbb eax, eax
inc eax
test byte [ebp + 0x3c], 8
mov dword [ebp - 0x90], eax
je 0x40eba5
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
cmp ax, 0x40
je 0x40e686
cmp byte [ebp - 0x39], bl
je 0x40e686
cmp ax, 0x26
je 0x40e66b
mov eax, dword [ebp + 0x4c]
test byte [eax + 9], 0xf
je 0x40e686
mov byte [ebp + 0x6b], 1
jmp 0x40e689
cmp dword [ebp - 0xb0], ebx
je 0x40e594
mov byte [ebp + 0x73], 2
jmp 0x40e594
mov byte [ebp + 0x6b], bl
push ebx
mov dword [ebp - 0x8c], ebx
call dword [sym.imp.KERNEL32.DLL_SetLastError]
lea eax, [ebp - 0x60]
mov esi, dword [eax]
lea eax, [ebp - 0x1b8]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_ConnectNamedPipe]
cmp byte [ebp + 0x73], bl
mov dword [ebp + 4], edi
mov dword [ebp - 0x68], 1
je 0x40e6bf
mov eax, dword [ebp + 8]
sub eax, edi
jmp 0x40e6c4
mov eax, 0x100000
lea ecx, [ebp - 0x1b8]
push ecx
lea ecx, [ebp - 0x8c]
push ecx
push eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x50]
add eax, edi
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x44], ebx
mov byte [ebp + 0x3a], bl
call fcn.00444e32
mov dword [ebp + 0x28], 1
mov al, byte [0x4da2ec]
cmp al, bl
mov byte [ebp + 0x7b], al
jg 0x40e71a
cmp dword [ebp - 0xf0], 2
jl 0x40eb27
cmp dword [ebp - 0xc8], ebx
jle 0x40e74d
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0xc8]
jae 0x40eb27
mov ecx, dword [ebp - 0xc8]
sub ecx, eax
cmp dword [ebp - 0x94], ecx
jbe 0x40e74d
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp + 0x4c]
push 0x4ff
push dword [ebp - 0x94]
lea eax, [ebp - 0x190]
push ebx
push eax
push dword [ebp - 0x80]
call fcn.00412f4b
cmp eax, ebx
mov dword [ebp - 0x134], eax
mov dword [ebp - 0xc0], ebx
jne 0x40e81a
lea eax, [ebp - 0x60]
mov esi, dword [eax]
push ebx
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x1b8]
push eax
push esi
mov dword [ebp - 0x48], ebx
call dword [sym.imp.KERNEL32.DLL_GetOverlappedResult]
cmp dword [ebp - 0x48], ebx
jle 0x40e7b8
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x48], eax
jle 0x40e7aa
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x68], ebx
je 0x40e7b8
add edi, dword [ebp - 0x48]
mov eax, dword [ebp + 0x50]
mov byte [eax + edi], bl
lea eax, [edi + 0x100000]
cmp eax, dword [ebp + 8]
jl 0x40e7d9
add dword [ebp + 8], 0x100000
mov eax, dword [ebp + 8]
add eax, 4
push eax
lea ecx, [ebp + 0x50]
call fcn.00444d00
cmp byte [ebp + 0x73], bl
je 0x40e7e5
mov eax, dword [ebp + 8]
sub eax, edi
jmp 0x40e7ea
mov eax, 0x100000
cmp dword [ebp - 0x90], ebx
mov dword [ebp - 0x18], eax
je 0x40e801
mov dword [ebp - 0xc0], 1
jmp 0x40e81a
lea ecx, [ebp - 0x1b8]
push ecx
lea ecx, [ebp - 0x48]
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 - 0xf4]
cmp ecx, ebx
mov dword [ebp - 0x140], eax
je 0x40e862
mov edx, dword [ebp - 0x98]
mov ecx, edx
sub ecx, eax
add ecx, dword [ebp - 0x74]
cmp ecx, ebx
mov dword [ebp - 0xf4], ecx
jle 0x40e84c
mov dword [ebp + 0x28], ebx
jmp 0x40e862
mov dword [ebp + 0x28], 1
add dword [ebp - 0x74], edx
add ecx, edx
cmp ecx, ebx
jle 0x40e853
mov dword [ebp - 0xf4], ecx
cmp byte [ebp + 0x73], bl
je 0x40e890
sub eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x94]
jge 0x40ea25
cmp edi, dword [ebp - 0x44]
je 0x40eb1e
cmp eax, 0x14
jl 0x40eb1e
jmp 0x40ea25
cmp ecx, ebx
je 0x40e89a
mov dword [ebp - 0x94], ecx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
inc ecx
cmp eax, ecx
jle 0x40e8ca
dec eax
cmp eax, dword [ebp - 0x134]
jne 0x40e8ca
cmp byte [ebp + 0x73], bl
mov byte [ebp + 0x3a], cl
je 0x40eb27
cmp edi, dword [ebp - 0x44]
je 0x40eb27
mov dword [ebp + 0x28], ecx
jmp 0x40ea25
test byte [ebp + 0x3c], 1
je 0x40e9b7
cmp edi, dword [ebp + 4]
jle 0x40e9b7
mov ecx, dword [ebp + 4]
mov eax, dword [ebp + 0x50]
mov edx, dword [ebp - 0x12c]
lea esi, [ecx + eax]
mov eax, edi
sub eax, ecx
cmp dword [ebp - 0x90], ebx
je 0x40e93d
lea ecx, [eax - 1]
cmp ecx, ebx
mov dword [ebp + 0x78], ecx
jl 0x40e98d
cmp byte [ecx + esi], 0xa
jne 0x40e911
dec edx
cmp edx, ebx
jle 0x40e919
dec ecx
mov dword [ebp + 0x78], ecx
jns 0x40e906
jmp 0x40e98d
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.004143bf
sub edi, dword [ebp + 0x78]
add esp, 0xc
mov eax, edi
sub eax, dword [ebp + 4]
mov byte [eax + esi], bl
jmp 0x40e98d
xor ecx, ecx
test byte [ebp + 0x3d], 2
je 0x40e975
cmp eax, ebx
jle 0x40e98d
cmp byte [ecx + esi], 0xa
jne 0x40e954
dec edx
cmp edx, ebx
jle 0x40e95b
inc ecx
cmp ecx, eax
jl 0x40e949
jmp 0x40e98d
dec ecx
cmp ecx, ebx
jle 0x40e967
cmp byte [ecx + esi], 0xd
jne 0x40e967
dec ecx
mov eax, dword [ebp + 4]
mov byte [ecx + esi], bl
lea edi, [eax + ecx]
mov dword [ebp - 0x68], ebx
jmp 0x40e98d
cmp eax, ebx
jle 0x40e98d
cmp byte [ecx + esi], 0xa
jne 0x40e988
dec edx
cmp edx, ebx
jle 0x40eb27
inc ecx
cmp ecx, eax
jl 0x40e979
cmp dword [ebp - 0xc0], ebx
je 0x40e9b7
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x8c]
push eax
push dword [ebp - 0x18]
mov eax, dword [ebp + 0x50]
add eax, edi
push eax
lea eax, [ebp - 0x60]
push dword [eax]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
push 5
pop esi
dec esi
js 0x40e701
cmp byte [0x4da2ec], bl
jle 0x40e701
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x344]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x40e701
cmp dword [ebp - 0x340], 0x12
je 0x40ea0c
lea eax, [ebp - 0x344]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x344]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x40e9ba
cmp byte [ebp + 0x73], bl
mov byte [ebp + 0x7b], bl
mov byte [ebp + 0x3a], 1
je 0x40e701
cmp edi, dword [ebp - 0x44]
je 0x40e701
cmp byte [ebp + 0x6b], bl
mov eax, dword [ebp - 0x140]
mov esi, dword [ebp + 0x50]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xe0], edi
jne 0x40ea7f
cmp dword [ebp - 0x88], 0x4b0
je 0x40ea72
push dword [ebp - 0x88]
lea ecx, [ebp - 0x78]
push edi
push esi
call fcn.00444eed
mov esi, dword [ebp - 0x78]
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
shl eax, 1
mov dword [ebp - 0xe0], eax
jmp 0x40ea7f
mov word [esi + edi + 2], bx
mov eax, dword [ebp + 0x50]
mov word [eax + edi + 2], bx
cmp byte [ebp - 0x38], bl
je 0x40ea95
lea eax, [ebp - 0xe4]
push eax
push esi
call fcn.00408941
pop ecx
pop ecx
mov esi, eax
cmp byte [ebp + 0x73], 1
jne 0x40eab2
mov ecx, dword [ebp + 0x4c]
push esi
push esi
push 0x4c0a1c
push dword [ebp - 8]
push dword [ebp - 8]
call fcn.004415f2
jmp 0x40eade
cmp byte [ebp + 0x6b], bl
je 0x40ead2
push ebx
push ebx
push dword [ebp - 0xe0]
push dword [ebp + 0x50]
push dword [ebp - 0x5c]
push dword [ebp + 0x4c]
call fcn.00451f9e
add esp, 0x18
jmp 0x40eade
mov ecx, dword [ebp + 0x4c]
push esi
push dword [ebp - 8]
call fcn.0044451e
cmp dword [ebp - 0xb0], ebx
je 0x40eb18
cmp dword [ebp + 0x28], ebx
je 0x40eb18
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x114]
call fcn.00401000
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push ebx
push dword [ebp - 0x114]
call fcn.00433f41
lea ecx, [ebp - 0x114]
call fcn.0043e679
mov ecx, dword [ebp - 0xf4]
cmp byte [ebp + 0x3a], bl
je 0x40e890
lea ecx, [ebp - 0x78]
call fcn.0043e679
cmp dword [ebp + 0x24], 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 - 0x14], ebx
je 0x40ecfb
cmp byte [ebp + 0x7b], bl
jle 0x40ecfb
cmp byte [ebp + 0x1b], 1
je 0x40ecfb
cmp byte [ebp + 0x1b], 2
jne 0x40eccd
lea eax, [ebp - 0x17c]
push dword [eax + 8]
lea eax, [ebp - 0x2c4]
push dword [ebp - 0x100]
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 - 0x2c4]
push eax
call fcn.00429db9
jmp 0x40ecfb
cmp dword [ebp + 0x24], 0xffffff9c
je 0x40eb2f
mov al, byte [0x4da2ec]
cmp al, bl
mov byte [ebp + 0x7b], al
jg 0x40ebc4
cmp dword [ebp - 0xf0], 2
jl 0x40eb2f
cmp dword [ebp - 0xc8], ebx
mov dword [ebp + 0x70], 0x3e8
jle 0x40ebfb
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0xc8]
jae 0x40eb2f
mov ecx, dword [ebp - 0xc8]
sub ecx, eax
cmp ecx, 0x3e8
jae 0x40ebfb
mov dword [ebp + 0x70], ecx
mov ecx, dword [ebp + 0x4c]
push 0x4ff
push dword [ebp + 0x70]
lea eax, [ebp - 0x190]
push ebx
push eax
push dword [ebp - 0x80]
call fcn.00412f4b
mov ecx, dword [ebp - 0x80]
dec ecx
cmp ecx, eax
je 0x40eb2f
cmp dword [ebp - 0x80], 1
jle 0x40ecc0
cmp eax, ebx
jne 0x40ecc0
lea eax, [edi + 0x100000]
cmp eax, esi
jl 0x40ec50
add esi, 0x100000
lea eax, [esi + 4]
push eax
lea ecx, [ebp + 0x50]
call fcn.00444d00
mov eax, dword [ebp + 0x50]
push ebx
lea ecx, [ebp + 0x68]
push ecx
add eax, edi
push 1
push eax
lea eax, [ebp - 0x60]
push dword [eax]
mov dword [ebp + 0x68], ebx
call dword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
je 0x40ecc0
cmp dword [ebp + 0x68], ebx
jbe 0x40ecc0
add edi, dword [ebp + 0x68]
mov eax, dword [ebp + 0x50]
mov byte [eax + edi], bl
jmp 0x40ecc0
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x27c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x40ebab
cmp dword [ebp - 0x278], 0x12
je 0x40ebab
lea eax, [ebp - 0x27c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x27c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp byte [0x4da2ec], bl
jg 0x40ec7f
jmp 0x40ebab
cmp dword [ebp - 0xf8], ebx
je 0x40ece7
push dword [ebp - 0x100]
push dword [ebp - 0xf8]
call dword [sym.imp.KERNEL32.DLL_TerminateJobObject]
push dword [ebp - 0x100]
lea eax, [ebp - 0x17c]
push dword [eax]
call dword [sym.imp.KERNEL32.DLL_TerminateProcess]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x17c]
push dword [eax]
call dword [sym.imp.KERNEL32.DLL_GetExitCodeProcess]
cmp word [ebp + 0x3c], bx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x74]
mov dword [ecx], eax
je 0x40ef61
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
xor esi, esi
cmp ax, 0x40
je 0x40ed47
cmp byte [ebp - 0x39], bl
je 0x40ed47
cmp ax, 0x26
je 0x40ed41
mov eax, dword [ebp + 0x4c]
test byte [eax + 9], 0xf
je 0x40ed47
mov byte [ebp + 0x77], 1
jmp 0x40ed4a
mov byte [ebp + 0x77], bl
lea ecx, [ebp - 0xa0]
call fcn.00402d54
cmp byte [ebp + 0x77], bl
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x70], eax
mov dword [ebp - 0xe0], edi
jne 0x40eeed
cmp byte [ebp + 0x47], 2
jne 0x40ed82
mov dword [ebp - 0xe0], edi
mov word [eax + edi], bx
mov esi, dword [ebp + 0x50]
jmp 0x40ee16
cmp byte [ebp + 0x47], 1
lea ecx, [ebp - 0xa0]
jne 0x40edb5
push dword [ebp - 0x88]
push edi
push eax
call fcn.00444eed
mov eax, dword [ebp - 0xa0]
push eax
mov dword [ebp + 0x70], eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
shl eax, 1
mov dword [ebp - 0xe0], eax
jmp 0x40ee1a
lea eax, [edi + 0x18]
push eax
call fcn.00444e77
lea eax, [edi + 1]
push eax
push dword [ebp + 0x50]
mov dword [ebp - 0x98], edi
push dword [ebp - 0xa0]
mov dword [ebp - 0x9c], edi
call fcn.00414409
mov eax, dword [ebp - 0xa0]
push 0x10
add edi, eax
push ebx
push edi
call fcn.004adaa0
lea eax, [ebp - 0xa0]
push 0x2004
push eax
call fcn.0049d75e
mov eax, dword [ebp - 0xa0]
mov dword [ebp + 0x70], eax
mov eax, dword [ebp - 0x9c]
add esp, 0x20
mov dword [ebp - 0xe0], eax
cmp esi, ebx
jne 0x40ee20
mov esi, dword [ebp - 0xa0]
test byte [ebp + 0x3c], 4
je 0x40ee58
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [esi + eax*2 - 2]
jmp 0x40ee47
mov cx, word [eax]
cmp cx, 0xd
je 0x40ee42
cmp cx, 0xa
jne 0x40ee4b
mov word [eax], bx
dec eax
dec eax
cmp eax, esi
jae 0x40ee33
sub eax, esi
mov dword [ebp - 0xe0], eax
jmp 0x40eeed
test byte [ebp + 0x3c], 1
je 0x40eead
mov edx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x128]
jmp 0x40eea0
cmp ax, 0xd
jne 0x40ee8a
lea ecx, [esi + 2]
cmp word [ecx], 0xa
jne 0x40ee8a
cmp edi, ebx
jl 0x40ee90
jg 0x40ee86
cmp edx, 1
jbe 0x40ee90
mov esi, ecx
jmp 0x40ee90
cmp ax, 0xa
jne 0x40ee9e
add edx, 0xffffffff
adc edi, 0xffffffff
js 0x40eea8
jg 0x40ee9e
cmp edx, ebx
jbe 0x40eea8
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
jne 0x40ee6c
mov word [esi], bx
jmp 0x40eee4
test byte [ebp + 0x3c], 2
je 0x40eeed
jmp 0x40eedc
cmp ax, 0xd
je 0x40eec5
cmp ax, 0xa
je 0x40eec5
inc esi
inc esi
jmp 0x40eedc
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
shl eax, 1
push eax
lea eax, [esi + 2]
push eax
push esi
call fcn.004143bf
add esp, 0xc
mov ax, word [esi]
cmp ax, bx
jne 0x40eeb5
sub esi, dword [ebp + 0x70]
mov dword [ebp - 0xe0], esi
cmp byte [ebp - 0x38], bl
je 0x40ef05
lea eax, [ebp - 0xe4]
push eax
push dword [ebp + 0x70]
call fcn.00408941
pop ecx
pop ecx
jmp 0x40ef08
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp - 0x5c]
cmp word [ecx], 0x40
jne 0x40ef28
mov ecx, dword [ebp + 0x4c]
push eax
push eax
push 0x4c0a1c
push dword [ebp - 0x20]
push dword [ebp - 0x20]
call fcn.004415f2
jmp 0x40ef53
cmp byte [ebp + 0x77], bl
je 0x40ef44
push ebx
push ebx
push dword [ebp - 0xe0]
push eax
push ecx
push dword [ebp + 0x4c]
call fcn.00451f9e
add esp, 0x18
jmp 0x40ef53
push dword [ebp - 0xa0]
push ecx
mov ecx, dword [ebp + 0x4c]
call fcn.0044451e
lea ecx, [ebp - 0xa0]
call fcn.0043e679
mov eax, dword [ebp - 0x14]
push eax
mov dword [ebp + 0x28], eax
lea eax, [ebp - 0x384]
push 0x4c1b78
push eax
mov word [ebp - 0x384], bx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x4c]
add esp, 0xc
lea eax, [ebp - 0x384]
push eax
push str.ERRORLEVEL
call fcn.0044451e
cmp dword [ebp - 0xf8], ebx
je 0x40efb5
cmp byte [ebp + 0x1b], 1
je 0x40efb5
push dword [ebp - 0x100]
push dword [ebp - 0xf8]
call dword [sym.imp.KERNEL32.DLL_TerminateJobObject]
lea ecx, [ebp - 0xe4]
call fcn.0043e679
lea ecx, [ebp + 0x50]
call fcn.0043e679
mov esi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ecx, dword [ebp + 0x7c]
cmp ecx, ebx
je 0x40efdf
lea eax, [ebp - 0x17c]
mov eax, dword [eax]
mov dword [ecx], eax
cmp byte [ebp + 0x13], bl
lea eax, [ebp - 0x17c]
mov dword [eax], ebx
je 0x40f123
cmp dword [eax + 8], ebx
je 0x40f123
cmp byte [0x4dbcf8], bl
jne 0x40f123
cmp dword [ebp + 0x24], ebx
mov byte [0x4dbcf8], 1
jne 0x40f0ae
push 0x1000
lea ecx, [ebp + 0x70]
call fcn.00402d42
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.0044947b
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x74]
push eax
call fcn.0043e611
add esp, 0x1c
jmp 0x40f090
push 8
push eax
push str.PECMDHB
call fcn.00402cff
add esp, 0xc
test al, al
jne 0x40f09a
push 6
push dword [ebp + 0x74]
push str.WIMHB
call fcn.00402cff
add esp, 0xc
test al, al
jne 0x40f09a
lea eax, [ebp + 0x74]
push eax
call fcn.00405b6e
pop ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], bx
jne 0x40f05c
jmp 0x40f0a1
mov dword [ebp + 0x24], 1
lea ecx, [ebp + 0x70]
call fcn.0043e679
cmp dword [ebp + 0x24], ebx
je 0x40f0cf
call fcn.0041a61f
test eax, eax
je 0x40f0c6
push str.exec
push dword [ebp + 0x4c]
call fcn.0041a6c0
pop ecx
pop ecx
push ebx
call fcn.00416c21
pop ecx
jmp 0x40f123
lea eax, [ebp - 0x17c]
push dword [eax + 8]
lea eax, [ebp - 0x328]
push str.__nfb__incmd_pecmd_TEAM_WAIT__InitSys__ncd__lu
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x328]
push eax
push str.DELAY_bwinpeshl____s__r_n
push dword [ebp + 0x4c]
call fcn.00411099
mov ecx, dword [ebp + 0x4c]
add esp, 0x18
push 0x4dbc10
push ebx
push ebx
push ebx
lea eax, [ebp + 0x76]
push eax
push dword [ebp + 0x4c]
lea eax, [ebp - 0x328]
push eax
mov word [ebp + 0x76], bx
call fcn.0040a810
mov ecx, dword [ebp - 0xb8]
cmp ecx, ebx
je 0x40f143
cmp word [ecx], bx
je 0x40f143
lea eax, [ebp - 0x17c]
push dword [eax + 8]
push ecx
call fcn.00403900
pop ecx
pop ecx
lea edi, [ebp - 0x4c]
mov eax, dword [edi]
cmp eax, ebx
je 0x40f14f
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x10]
mov eax, dword [edi]
cmp eax, ebx
je 0x40f15d
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0xbc]
cmp dword [edi], ebx
je 0x40f16c
push ebx
call esi
mov dword [edi], ebx
lea edi, [ebp - 0xd8]
mov eax, dword [edi]
cmp eax, ebx
je 0x40f17d
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x60]
mov eax, dword [edi]
cmp eax, ebx
je 0x40f18b
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x7c]
mov eax, dword [edi]
cmp eax, ebx
je 0x40f199
push eax
call esi
cmp dword [ebp - 0x1a8], ebx
mov dword [edi], ebx
je 0x40f1ab
push dword [ebp - 0x1a8]
call esi
lea edi, [ebp - 0x17c]
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40f1bb
push eax
call esi
mov ecx, dword [ebp + 0x4c]
push ebx
mov dword [edi + 4], ebx
call fcn.0046e8cd
mov ebx, dword [ebp + 0x28]
lea ecx, [ebp - 0x108]
call fcn.0043e679
lea ecx, [ebp - 0x130]
call fcn.0043e679
lea ecx, [ebp - 0x84]
call fcn.00402cb0
lea ecx, [ebp - 0x15c]
call fcn.0043e679
lea ecx, [ebp - 0xa8]
call fcn.00402cb0
lea ecx, [ebp - 0xa4]
call fcn.00402cb0
lea ecx, [ebp - 0xbc]
call fcn.00402cb0
lea ecx, [ebp - 0x10]
call fcn.00402cb0
lea ecx, [ebp - 0x4c]
call fcn.00402cb0
lea ecx, [ebp - 0x7c]
call fcn.00402cb0
lea ecx, [ebp - 0xd8]
call fcn.00402cb0
lea ecx, [ebp - 0x60]
call fcn.00402cb0
lea ecx, [ebp - 0xb8]
call fcn.0043e679
lea ecx, [ebp - 0x1d0]
call fcn.0043e679
lea ecx, [ebp - 0x110]
call fcn.0043e679
lea ecx, [ebp - 0x70]
call fcn.0043e679
lea ecx, [ebp - 0x144]
call fcn.0043e679
lea ecx, [ebp - 0xfc]
call fcn.0043e679
lea ecx, [ebp - 0x11c]
call fcn.0043e679
lea ecx, [ebp - 0x148]
call fcn.0043e679
lea ecx, [ebp - 0xc4]
call fcn.0043e679
lea ecx, [ebp - 0xf8]
call fcn.00402cb0
lea ecx, [ebp - 0x158]
call fcn.00402cb0
lea ecx, [ebp - 0x1c4]
call fcn.00404968
lea ecx, [ebp - 0x188]
call fcn.0043e679
lea ecx, [ebp - 0xac]
call fcn.0043e679
lea ecx, [ebp - 0xb4]
call fcn.0043e679
lea ecx, [ebp - 0x5c]
call fcn.0043e679
lea ecx, [ebp - 0x154]
call fcn.0043e679
lea ecx, [ebp - 0x124]
call fcn.0043e679
lea ecx, [ebp - 0x150]
call fcn.0043e679
lea ecx, [ebp - 0x14c]
call fcn.0043e679
lea ecx, [ebp - 0x120]
call fcn.0043e679
lea ecx, [ebp - 0x104]
call fcn.0043e679
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x5c
leave
ret 0x1c