Function at 0x409c61
Capabilities:
Acquire debug privileges
Check for time delay via gettickcount
Connect pipe
Create directory
Create pipe
Create process on windows
Encode data using base64
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, 0x5d4
mov eax, dword [ebp + 0x6c]
push ebx
push esi
xor ebx, ebx
cmp eax, ebx
push edi
push 0x20
mov dword [ebp + 0x48], ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xfc], ebx
mov byte [ebp + 0x19], bl
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0x110], ebx
pop esi
je 0x409ef6
lea eax, [ebp + 0x6c]
push eax
call fcn.00439c95
pop ecx
mov ecx, dword [ebp + 0x6c]
cmp ecx, ebx
je 0x409ef6
cmp word [ecx], 0x2f
jne 0x409ef6
mov dx, word [ecx + 2]
or dx, si
cmp dx, 0x69
push 0x73
pop edi
jne 0x409d9d
mov ax, word [ecx + 4]
or ax, si
cmp ax, 0x6e
jne 0x409d9d
mov ax, word [ecx + 6]
or ax, si
cmp ax, di
jne 0x409d9d
mov ax, word [ecx + 8]
or ax, si
cmp ax, 0x74
jne 0x409d9d
mov ax, word [ecx + 0xa]
or ax, si
cmp ax, 0x61
jne 0x409d9d
mov ax, word [ecx + 0xc]
or ax, si
cmp ax, 0x6c
jne 0x409d9d
mov ax, word [ecx + 0xe]
or ax, si
cmp ax, 0x6c
jne 0x409d9d
mov ax, word [ecx + 0x10]
or ax, si
cmp ax, di
jne 0x409d9d
mov ax, word [ecx + 0x12]
or ax, si
cmp ax, 0x65
jne 0x409d9d
mov ax, word [ecx + 0x14]
or ax, si
cmp ax, 0x72
jne 0x409d9d
mov ax, word [ecx + 0x16]
or ax, si
cmp ax, 0x76
jne 0x409d9d
mov ax, word [ecx + 0x18]
or ax, si
cmp ax, dx
jne 0x409d9d
mov ax, word [ecx + 0x1a]
or ax, si
cmp ax, 0x63
jne 0x409d9d
mov ax, word [ecx + 0x1c]
or ax, si
cmp ax, 0x65
jne 0x409d9d
mov ax, word [ecx + 0x1e]
call fcn.0040ea2b
test al, al
jne 0x409eca
cmp dx, di
jne 0x409e01
mov ax, word [ecx + 4]
or ax, si
cmp ax, 0x65
jne 0x409e01
mov ax, word [ecx + 6]
or ax, si
cmp ax, 0x72
jne 0x409e01
mov ax, word [ecx + 8]
or ax, si
cmp ax, 0x76
jne 0x409e01
mov ax, word [ecx + 0xa]
or ax, si
cmp ax, 0x69
jne 0x409e01
mov ax, word [ecx + 0xc]
or ax, si
cmp ax, 0x63
jne 0x409e01
mov ax, word [ecx + 0xe]
or ax, si
cmp ax, 0x65
jne 0x409e01
mov ax, word [ecx + 0x10]
call fcn.0040ea2b
test al, al
jne 0x409eca
cmp dx, 0x72
jne 0x409ef6
mov dx, word [ecx + 4]
push 0x65
or dx, si
pop eax
cmp dx, ax
jne 0x409ef6
mov dx, word [ecx + 6]
or dx, si
cmp dx, 0x6d
jne 0x409ef6
mov dx, word [ecx + 8]
or dx, si
cmp dx, 0x6f
jne 0x409ef6
mov dx, word [ecx + 0xa]
or dx, si
cmp dx, 0x76
jne 0x409ef6
mov dx, word [ecx + 0xc]
or dx, si
cmp dx, ax
jne 0x409ef6
mov dx, word [ecx + 0xe]
or dx, si
cmp dx, di
jne 0x409ef6
mov dx, word [ecx + 0x10]
or dx, si
cmp dx, ax
jne 0x409ef6
mov dx, word [ecx + 0x12]
or dx, si
cmp dx, 0x72
jne 0x409ef6
mov dx, word [ecx + 0x14]
or dx, si
cmp dx, 0x76
jne 0x409ef6
mov dx, word [ecx + 0x16]
or dx, si
cmp dx, 0x69
jne 0x409ef6
mov dx, word [ecx + 0x18]
or dx, si
cmp dx, 0x63
jne 0x409ef6
mov dx, word [ecx + 0x1a]
or dx, si
cmp dx, ax
jne 0x409ef6
mov ax, word [ecx + 0x1c]
call fcn.0040ea2b
test al, al
je 0x409ef6
mov esi, 0x4c8c30
push str.PECMD_EXEC
mov ecx, esi
call fcn.0044845d
push dword [ebp + 0x6c]
mov ecx, esi
call fcn.0043fe06
mov eax, dword [ebp + 0x48]
mov word [eax + 0x88], 2
jmp 0x40e47a
mov eax, dword [ebp + 0x70]
xor edi, edi
inc edi
and eax, edi
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x70]
shr eax, 1
and eax, edi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x70]
shr eax, 2
and al, 1
lea ecx, [ebp - 0x128]
mov dword [ebp - 0xe8], ebx
mov byte [ebp + 0x1b], bl
mov byte [ebp + 0x1a], bl
mov byte [ebp + 0x47], al
mov byte [ebp + 0x2f], bl
call fcn.0043fd9a
cmp dword [ebp + 0x64], ebx
je 0x409f56
push dword [ebp + 0x64]
lea ecx, [ebp - 0x128]
call fcn.0044845d
mov eax, dword [ebp - 0x128]
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push eax
call fcn.00439c95
pop ecx
lea ecx, [ebp - 0x134]
call fcn.0043fd9a
mov eax, dword [ebp + 0x6c]
cmp eax, ebx
je 0x409f7d
push eax
lea ecx, [ebp - 0x134]
call fcn.0044845d
mov eax, dword [ebp - 0x134]
mov dword [ebp + 0x6c], eax
cmp dword [ebp + 0x74], ebx
jne 0x409f8b
lea ecx, [ebp - 0x9c]
mov dword [ebp + 0x74], ecx
mov ecx, dword [ebp + 0x64]
cmp ecx, ebx
push 0x5e
pop esi
mov dword [ebp + 0x38], ecx
mov dword [ebp - 0x1a4], esi
jne 0x409fcc
cmp eax, ebx
mov dword [ebp + 0x64], eax
je 0x409fcc
push 5
push eax
push str._shel
call fcn.0043af58
add esp, 0xc
test al, al
je 0x409fcc
lea eax, [ebp - 0x1a4]
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x1c], edi
mov dword [ebp - 0x28], edi
mov byte [ebp + 0x47], 1
lea ecx, [ebp - 0x10c]
mov byte [ebp + 0x73], bl
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x100], ebx
mov byte [ebp + 0x32], bl
mov byte [ebp - 0x15], 1
mov byte [ebp - 0x65], bl
mov byte [ebp + 0xf], bl
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x6d], bl
mov byte [ebp + 0x31], bl
mov byte [ebp + 0x3e], bl
mov byte [ebp - 0x5d], bl
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x5e], bl
call fcn.0043fd9a
mov al, byte [0x4c8b9c]
neg al
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], ebx
mov byte [ebp - 0x55], bl
mov byte [ebp + 0x30], bl
mov byte [ebp - 0x16], bl
sbb eax, eax
and eax, 0x10000
mov byte [ebp - 0x2a], bl
mov byte [ebp - 0x31], 1
mov byte [ebp - 0x56], bl
mov dword [ebp - 0x3c], eax
mov dword [ebp + 0x24], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x14], ebx
call fcn.0043fd9a
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x84], ebx
mov byte [ebp + 0x3f], bl
call fcn.0043fd9a
lea ecx, [ebp - 0xd4]
call fcn.0043fd9a
lea ecx, [ebp - 0x74]
call fcn.0043fd9a
or dword [ebp - 0xdc], 0xffffffff
lea ecx, [ebp - 0x164]
mov byte [ebp - 0x2b], bl
mov byte [ebp + 0x33], bl
mov dword [ebp - 0x138], ebx
call fcn.0043fd9a
xor eax, eax
push 0x10
pop ecx
mov dword [ebp - 0x264], 0x44
mov dword [ebp - 0x260], ebx
lea edi, [ebp - 0x25c]
rep stosd dword es:[edi], eax
push 0x12
mov dword [ebp - 0x158], ebx
pop ecx
lea edi, [ebp - 0x21c]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x154]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x148]
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]
cmp eax, ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x1a0], ebx
mov dword [ebp - 0x19c], ebx
mov dword [ebp - 0x198], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x1c], ebx
jne 0x40a0ff
mov byte [ebp + 0x33], 1
jmp 0x40a159
cmp word [eax], 0x23
jne 0x40a115
cmp eax, dword [ebp + 0x64]
jne 0x40a10e
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
jmp 0x40a122
test byte [0x4cc003], 3
je 0x40a122
mov byte [ebp + 0x33], 3
cmp eax, ebx
je 0x40a159
cmp word [eax], si
jne 0x40a13d
cmp eax, dword [ebp + 0x64]
jne 0x40a134
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x47], 1
cmp eax, ebx
je 0x40a159
cmp word [eax], 0x24
jne 0x40a159
cmp eax, dword [ebp + 0x64]
jne 0x40a150
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x3e], 1
cmp eax, ebx
mov dword [ebp + 0x28], ebx
je 0x40a17c
cmp word [eax], 0x7c
jne 0x40a17c
cmp eax, dword [ebp + 0x64]
jne 0x40a16f
add dword [ebp + 0x64], 2
inc eax
inc eax
xor esi, esi
inc esi
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x28], esi
jmp 0x40a17f
xor esi, esi
inc esi
mov eax, dword [ebp - 0xbc]
cmp eax, ebx
je 0x40a23b
cmp word [eax], 0x2a
jne 0x40a23b
push 2
pop edi
add dword [ebp + 0x64], edi
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x7c
mov byte [ebp + 0x73], 0x10
jne 0x40a1b0
add dword [ebp + 0x64], edi
mov dword [ebp + 0x28], esi
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x30
jb 0x40a1f8
cmp ax, 0x39
ja 0x40a1f8
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp + 0x64]
push eax
mov byte [ebp + 0x73], 0x11
call fcn.00442daa
cmp dword [ebp - 0x100], ebx
pop ecx
pop ecx
jg 0x40a216
jl 0x40a1ea
cmp dword [ebp - 0x104], ebx
ja 0x40a216
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], ebx
jmp 0x40a216
mov ecx, eax
or ecx, 0x20
cmp cx, 0x6e
jne 0x40a209
mov byte [ebp + 0x73], 0x12
jmp 0x40a213
cmp ax, 0x2d
jne 0x40a216
mov byte [ebp + 0x73], 0x14
add dword [ebp + 0x64], edi
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x23
jne 0x40a228
add eax, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x19], 1
mov ax, word [eax]
call fcn.0040ea2b
test al, al
jne 0x40a23b
mov ebx, esi
jmp 0x40e41d
lea eax, [ebp + 0x64]
push eax
call fcn.00439c95
cmp byte [ebp + 0x73], bl
pop ecx
jne 0x40a2e4
lea eax, [ebp + 0x64]
push eax
call fcn.00439c95
cmp dword [ebp - 0xb0], ebx
mov eax, dword [ebp + 0x64]
pop ecx
mov dword [ebp + 0x40], eax
je 0x40a26f
cmp byte [ebp + 0x73], bl
jne 0x40a3ba
push 2
pop esi
cmp word [eax], 0x2d
mov edi, eax
jne 0x40a286
add eax, 2
cmp word [eax], 0x2d
jne 0x40a286
mov dword [ebp + 0x40], eax
push 1
lea eax, [ebp + 0x40]
push eax
push 0x4afd68
call fcn.00441bc4
add esp, 0xc
test al, al
jne 0x40a3ba
mov eax, dword [ebp + 0x40]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40a2b7
cmp ax, 0x2f
jne 0x40a3ba
add dword [ebp + 0x40], esi
push 5
lea eax, [ebp + 0x40]
push eax
push str.catch
call fcn.00441c39
add esp, 0xc
test al, al
je 0x40a362
mov al, byte [ebp + 0x73]
or byte [ebp + 0x73], 0x10
cmp al, bl
jne 0x40a55e
mov esi, dword [ebp + 0x64]
xor ecx, ecx
xor eax, eax
mov ax, word [esi]
inc ecx
cmp ax, bx
mov dword [ebp + 0x1c], ecx
mov edi, esi
je 0x40a601
push 2
pop edx
cmp ax, 0x3d
je 0x40a310
add edi, edx
mov ax, word [edi]
cmp ax, bx
jne 0x40a300
cmp edi, esi
je 0x40a601
cmp word [edi], 0x3d
jne 0x40a601
sub edi, edx
cmp word [edi], 0x2b
jne 0x40a331
mov al, byte [edi]
mov byte [ebp - 0x55], al
sub edi, edx
cmp edi, esi
mov ecx, edi
jbe 0x40a349
mov ax, word [ecx]
call fcn.0040ea2b
test al, al
je 0x40a349
sub ecx, edx
cmp ecx, esi
ja 0x40a337
mov ax, word [ecx]
call fcn.0040ea2b
test al, al
jne 0x40a5f9
mov edx, ecx
inc ecx
inc ecx
jmp 0x40a58b
push 4
push dword [ebp + 0x40]
push str.cmd:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a4ce
add dword [ebp + 0x40], 8
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x48]
call fcn.00407d67
add esp, 0x10
mov dword [ebp - 0xb0], eax
jmp 0x40a3ac
mov word [edi], 0x20
add edi, esi
cmp edi, dword [ebp + 0x40]
jb 0x40a3a5
cmp byte [ebp + 0x73], bl
je 0x40a55e
lea eax, [ebp + 0x64]
push eax
call fcn.00439c95
mov eax, dword [ebp - 0xb0]
cmp eax, ebx
pop ecx
je 0x40a3d9
cmp word [eax], bx
jne 0x40a3d9
mov dword [ebp - 0xb0], ebx
cmp dword [ebp + 0x28], ebx
jne 0x40a3e6
cmp dword [ebp + 0x78], ebx
mov byte [ebp + 0x53], bl
je 0x40a3ea
mov byte [ebp + 0x53], 1
xor esi, esi
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x58], ebx
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x108], ebx
call fcn.0043fd9a
lea ecx, [ebp - 0x124]
call fcn.0043fd9a
cmp byte [ebp + 0x53], bl
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0xf4], ebx
mov byte [ebp + 0x2e], bl
mov dword [ebp - 0x64], ebx
jne 0x40a45d
cmp dword [ebp + 0x38], ebx
jne 0x40a45d
mov ecx, dword [ebp + 0x48]
push 1
push ebx
lea eax, [ebp - 0xf4]
push eax
push dword [ebp + 0x64]
call fcn.0044ed7d
mov eax, dword [ebp - 0xf4]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x2d
mov dword [ebp - 0xbc], eax
jne 0x40a478
add eax, 2
cmp word [eax], 0x2d
jne 0x40a478
mov dword [ebp + 0x64], eax
push 1
lea eax, [ebp + 0x64]
push eax
push 0x4afd68
call fcn.00441bc4
add esp, 0xc
test al, al
jne 0x40b363
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40a4a9
cmp ax, 0x2f
jne 0x40b363
add dword [ebp + 0x64], 2
push 5
lea eax, [ebp + 0x64]
push eax
push str.catch
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40a608
mov byte [ebp + 0x73], 0x10
jmp 0x40a45d
push 3
push dword [ebp + 0x40]
push 0x4afd54
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a4f8
add dword [ebp + 0x40], 6
jmp 0x40a4ed
add dword [ebp + 0x40], esi
mov eax, dword [ebp + 0x40]
cmp word [eax], 0x2a
je 0x40a4ea
jmp 0x40a53c
push 4
push dword [ebp + 0x40]
push str.exe:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a522
add dword [ebp + 0x40], 8
jmp 0x40a517
add dword [ebp + 0x40], esi
mov eax, dword [ebp + 0x40]
cmp word [eax], 0x2a
je 0x40a514
jmp 0x40a53c
push 5
push dword [ebp + 0x40]
push str.logs:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a55e
add dword [ebp + 0x40], 0xa
mov eax, dword [ebp + 0x40]
cmp word [eax], 0x22
jne 0x40a55e
add dword [ebp + 0x40], esi
jmp 0x40a553
add dword [ebp + 0x40], esi
cmp ax, 0x22
je 0x40a55e
mov eax, dword [ebp + 0x40]
mov ax, word [eax]
cmp ax, bx
jne 0x40a54a
lea eax, [ebp + 0x40]
push eax
call fcn.00405444
mov eax, dword [ebp + 0x40]
pop ecx
jmp 0x40a272
lea eax, [edx - 2]
mov dword [ebp - 0xbc], eax
mov ax, word [eax]
call fcn.0040ea2b
test al, al
jne 0x40a58f
mov edx, dword [ebp - 0xbc]
cmp edx, esi
ja 0x40a570
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x6c]
call fcn.0043febe
mov esi, dword [ebp + 0x48]
push ebx
lea eax, [ebp - 0x6c]
push eax
mov ecx, esi
call fcn.00402e5f
cmp byte [esi + 0x92], bl
jne 0x40a5ba
test byte [esi + 9], 0xf
je 0x40a5d0
push ebx
lea eax, [ebp - 0x6c]
push eax
mov ecx, esi
call fcn.00402e5f
jmp 0x40a5d0
cmp ax, 0x3d
je 0x40a5de
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40a5c8
cmp ax, 0x3d
jne 0x40a5f9
lea eax, [ebp - 0x138]
add edi, 2
push eax
mov dword [ebp - 0x138], edi
call fcn.00439c95
pop ecx
jmp 0x40a24e
xor ebx, ebx
inc ebx
jmp 0x40e41d
mov ebx, ecx
jmp 0x40e41d
push 6
push dword [ebp + 0x64]
push str.clone:
call fcn.0043af58
add esp, 0xc
test al, al
lea eax, [ebp + 0x64]
je 0x40a64f
add dword [ebp + 0x64], 0xc
mov edi, dword [ebp + 0x64]
push eax
call fcn.0040549b
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40a63e
mov word [eax], bx
add dword [ebp + 0x64], 2
cmp word [edi], bx
je 0x40b1d8
mov dword [ebp - 0x4c], edi
jmp 0x40b1d8
push 4
pop edi
push edi
push eax
push str.shel
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40a67b
or byte [ebp + 0x47], 2
xor eax, eax
inc eax
and byte [ebp + 0x33], 0xfe
mov dword [ebp - 0x28], eax
mov dword [ebp + 0x1c], eax
jmp 0x40a45d
push 5
push dword [ebp + 0x64]
push str.shel:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a6e3
add dword [ebp + 0x64], 0xa
or byte [ebp + 0x47], 2
and byte [ebp + 0x33], 0xfe
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x44], eax
push 5
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
mov dword [ebp + 0x28], ebx
call fcn.0041a38c
add esp, 0xc
cmp dword [ebp + 0x28], ebx
mov dword [ebp + 0x64], eax
jle 0x40a45d
push dword [ebp + 0x28]
lea ecx, [ebp - 0x110]
push dword [ebp - 0x44]
call fcn.0043febe
jmp 0x40a45d
push 9
push dword [ebp + 0x64]
push str.runrmenu:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a72c
add dword [ebp + 0x64], 0x12
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.0040549b
mov eax, dword [ebp + 0x64]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0x10c]
call fcn.0043febe
lea eax, [ebp + 0x64]
push eax
call fcn.00439c95
jmp 0x40b35d
push 8
push dword [ebp + 0x64]
push str.poprmenu
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a7df
add dword [ebp + 0x64], 0x10
mov eax, dword [ebp + 0x64]
mov dword [ebp + 4], eax
lea eax, [ebp + 0x64]
push eax
call fcn.0040549b
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40a766
add dword [ebp + 0x64], 2
lea eax, [ebp + 0x64]
push eax
call fcn.00439c95
pop ecx
lea eax, [ebp - 0x160]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp + 4]
mov ax, word [eax]
cmp ax, bx
mov byte [ebp - 0x5d], 1
je 0x40a79c
cmp ax, 0x30
jb 0x40a798
cmp ax, 0x39
jbe 0x40a79c
add dword [ebp + 4], 2
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp + 4]
push eax
call fcn.0044b46e
mov eax, dword [ebp + 4]
mov ax, word [eax]
cmp ax, bx
pop ecx
pop ecx
je 0x40a7c9
cmp ax, 0x30
jb 0x40a7c5
cmp ax, 0x39
jbe 0x40a7c9
add dword [ebp + 4], 2
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp + 4]
push eax
call fcn.0044b46e
pop ecx
jmp 0x40b35d
push edi
push dword [ebp + 0x64]
push str.pid:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a81b
add dword [ebp + 0x64], 8
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.0040549b
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b1d8
lea ecx, [ebp - 0x108]
jmp 0x40b1cd
push 5
push dword [ebp + 0x64]
push str.hpid:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a858
add dword [ebp + 0x64], 0xa
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.0040549b
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b1d8
lea ecx, [ebp - 0x118]
jmp 0x40b1cd
push 5
push dword [ebp + 0x64]
push str.ppid:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a8cf
add dword [ebp + 0x64], 0xa
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp + 0x64]
push eax
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
call fcn.00442f35
cmp dword [ebp - 0x9c], ebx
pop ecx
pop ecx
jg 0x40a8c1
jl 0x40a8a2
cmp dword [ebp - 0xa0], ebx
jae 0x40a8c1
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
call fcn.00407e60
pop ecx
pop ecx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x1c], eax
jmp 0x40a45d
push edi
push dword [ebp + 0x64]
push str.exe:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40a9e7
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 - 0x40], ebx
jne 0x40a908
mov dword [ebp - 0x64], 1
cmp cx, 0x22
jne 0x40a97f
lea esi, [eax + 2]
mov edi, eax
mov ecx, esi
jmp 0x40a93d
cmp ax, 0x22
jne 0x40a93b
inc edx
test dl, 1
je 0x40a93b
xor eax, eax
mov ax, word [ecx + 2]
cmp ax, bx
je 0x40a948
call fcn.0040ea2b
test al, al
jne 0x40a948
or dword [ebp - 0x64], 2
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40a917
push 0x22
pop edx
cmp word [ecx], dx
jne 0x40a98c
or dword [ebp - 0x40], 0xffffffff
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
cmp word [ecx - 4], dx
mov edi, esi
mov byte [ebp + 0x2e], 2
je 0x40a973
mov ax, word [edi]
cmp ax, dx
jne 0x40a98c
cmp word [edi + 2], dx
jne 0x40a978
mov byte [ebp + 0x2e], bl
jmp 0x40a98c
cmp ax, dx
jne 0x40a98c
jmp 0x40a973
lea eax, [ebp + 0x64]
push eax
call fcn.0040549b
pop ecx
mov ecx, dword [ebp + 0x64]
sub ecx, edi
sar ecx, 1
add dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], ebx
jle 0x40b1d8
add edi, 0xfffffff6
push edi
lea ecx, [ebp - 0xd0]
call fcn.0044845d
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x40]
add eax, 0xa
mov word [eax + ecx*2], bx
cmp word [eax], 0x2a
mov dword [ebp + 0x4c], eax
jne 0x40b1d8
cmp word [eax + 2], bx
jne 0x40b1d8
lea eax, [ebp - 0xd0]
push eax
call fcn.00404682
pop ecx
mov dword [ebp + 0x4c], eax
jmp 0x40b1d8
push 3
push dword [ebp + 0x64]
push 0x4afd54
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40aaef
mov eax, dword [ebp + 0x64]
xor edi, edi
add eax, 6
jmp 0x40aa0e
inc edi
inc eax
inc eax
mov dword [ebp + 0x64], eax
cmp word [eax], 0x2a
je 0x40aa0b
cmp edi, 2
mov dword [ebp - 0x184], eax
mov dword [ebp], ebx
jge 0x40aaa1
movzx eax, word [eax]
cmp ax, bx
je 0x40aa6a
call fcn.0040ea2b
test al, al
jne 0x40aa6a
push 1
lea eax, [ebp]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.0041a38c
add esp, 0xc
cmp dword [ebp], ebx
mov dword [ebp + 0x64], eax
jle 0x40aa6a
push dword [ebp]
lea ecx, [ebp - 0x80]
push dword [ebp - 0x184]
call fcn.0043febe
mov eax, dword [ebp - 0x80]
mov dword [ebp + 0x58], eax
cmp edi, 1
jne 0x40aadb
cmp dword [ebp], ebx
jle 0x40aae3
mov eax, dword [ebp - 0x80]
push edi
lea ecx, [ebp - 0x80]
push ecx
push eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x80], ebx
call fcn.0048ae03
add esp, 0xc
lea ecx, [ebp - 0x120]
mov dword [ebp + 0x58], eax
call fcn.00439cfd
jmp 0x40b1d8
push 0x105
lea ecx, [ebp - 0x80]
call fcn.0043fddf
push 0x104
push dword [ebp - 0x80]
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
push 0x5c
push ebx
push dword [ebp - 0x80]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
je 0x40aad0
mov word [eax], bx
mov eax, dword [ebp - 0x80]
mov dword [ebp + 0x58], eax
jmp 0x40b1d8
cmp edi, ebx
jle 0x40b1d8
mov dword [ebp + 0x58], 0x4afcf8
jmp 0x40b1d8
push 5
push dword [ebp + 0x64]
push str.logs:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40ab67
mov eax, dword [ebp + 0x64]
add eax, 0xa
xor ecx, ecx
mov dword [ebp + 0x64], eax
mov dword [ebp - 0x44], eax
cmp word [eax], 0x3f
sete cl
mov edi, ecx
cmp edi, ebx
je 0x40ab26
add eax, 2
mov dword [ebp - 0x44], eax
mov esi, eax
push 1
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x44]
push eax
mov dword [ebp + 0x10], ebx
call fcn.0041a38c
add esp, 0xc
cmp dword [ebp + 0x10], ebx
mov dword [ebp + 0x64], eax
jle 0x40b1d8
cmp edi, ebx
je 0x40ab59
cmp dword [0x4c8ca0], ebx
je 0x40b1d8
push dword [ebp + 0x10]
lea ecx, [ebp - 0x130]
jmp 0x40b1d2
push 2
lea eax, [ebp + 0x64]
push eax
push 0x4afcf4
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ab87
mov byte [ebp - 0x5e], 1
jmp 0x40a45d
push 5
lea eax, [ebp + 0x64]
push eax
push str.nowin
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40aba7
mov byte [ebp - 0x29], 1
jmp 0x40a45d
push edi
lea eax, [ebp + 0x64]
push eax
push str.hide
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40abc9
mov dword [ebp - 0x38], 0x10000000
jmp 0x40a45d
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4afcdc
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40abf1
inc dword [ebp - 0xe8]
mov dword [ebp + 0x1c], 1
jmp 0x40a45d
push 5
lea eax, [ebp + 0x64]
push eax
push str.waiti
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ac11
mov byte [ebp + 0x2f], 1
jmp 0x40a45d
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4afcd0
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ac31
or byte [ebp + 0x32], 1
jmp 0x40a45d
push edi
lea eax, [ebp + 0x64]
push eax
push str.err
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ac50
or byte [ebp + 0x32], 3
jmp 0x40a45d
push 5
lea eax, [ebp + 0x64]
push eax
push str.limit
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ac70
mov byte [ebp - 0x6d], 1
jmp 0x40a45d
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4afcbc
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ac90
mov byte [ebp + 0x31], 1
jmp 0x40a45d
push edi
lea eax, [ebp + 0x64]
push eax
push str.hook
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40acb2
mov dword [ebp - 0x28], 1
jmp 0x40a45d
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4afcb0
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40acd5
mov dword [ebp - 0x38], 6
jmp 0x40a45d
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4afcac
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40acf8
mov dword [ebp - 0x38], 3
jmp 0x40a45d
push edi
lea eax, [ebp + 0x64]
push eax
push str.show
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ad1a
mov dword [ebp - 0x38], 1
jmp 0x40a45d
push edi
lea eax, [ebp + 0x64]
push eax
push str.runs
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ad39
mov byte [ebp - 0x4d], 1
jmp 0x40a45d
push 2
lea eax, [ebp + 0x64]
push eax
push 0x4afc98
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ad59
mov byte [ebp - 0x15], 1
jmp 0x40a45d
push edi
lea eax, [ebp + 0x64]
push eax
push str.no64
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ad77
mov byte [ebp - 0x15], bl
jmp 0x40a45d
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4afc8c
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ad97
mov byte [ebp - 0x65], 1
jmp 0x40a45d
push 2
lea eax, [ebp + 0x64]
push eax
push 0x4afc88
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40adb7
mov byte [ebp + 0xf], 1
jmp 0x40a45d
push 5
lea eax, [ebp + 0x64]
push eax
push str.incmd
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40add7
mov byte [ebp - 0x2a], 1
jmp 0x40a45d
push 3
lea eax, [ebp + 0x64]
push eax
push str.svr_
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40adf6
mov dword [ebp - 0x3c], ebx
jmp 0x40a45d
push 6
lea eax, [ebp + 0x64]
push eax
push str.svrsys
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ae19
mov dword [ebp - 0x3c], 0x20000
jmp 0x40a45d
push 7
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push str.svrsys_
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ae42
mov al, byte [0x4c8b9c]
neg al
sbb eax, eax
and eax, 0x20000
jmp 0x40ae83
push 6
lea eax, [ebp + 0x64]
push eax
push str.svrusr
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ae62
or dword [ebp - 0x3c], 1
jmp 0x40a45d
push edi
lea eax, [ebp + 0x64]
push eax
push str.svrusr_
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40ae8b
xor eax, eax
cmp byte [0x4c8b9c], bl
setne al
mov dword [ebp - 0x3c], eax
jmp 0x40a45d
push edi
lea eax, [ebp + 0x64]
push eax
push str.hidecmd
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40aeaa
mov byte [ebp - 0x31], 1
jmp 0x40a45d
push 8
lea eax, [ebp + 0x64]
push eax
push str.hidecmd_
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40aec9
mov byte [ebp - 0x31], bl
jmp 0x40a45d
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4afc40
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40aeec
mov dword [ebp + 0x24], 1
jmp 0x40a45d
push 3
push dword [ebp + 0x64]
push 0x4afc3c
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40af0f
add dword [ebp + 0x64], 6
mov dword [ebp + 0x24], 0x108
jmp 0x40af30
push 2
push dword [ebp + 0x64]
push 0x4afc38
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40af88
add dword [ebp + 0x64], 4
mov dword [ebp + 0x24], 8
xor ecx, ecx
jmp 0x40af78
mov eax, ecx
call fcn.0040ea2b
test al, al
jne 0x40b354
or ecx, 0x20
cmp cx, 0x61
jne 0x40af52
or dword [ebp + 0x24], 0x40
jmp 0x40af74
cmp cx, 0x65
jne 0x40af5e
or byte [ebp + 0x24], 0x80
jmp 0x40af74
cmp cx, 0x63
jne 0x40af6a
or byte [ebp + 0x25], 1
jmp 0x40af74
cmp cx, 0x64
jne 0x40af74
or byte [ebp + 0x25], 2
add dword [ebp + 0x64], 2
mov eax, dword [ebp + 0x64]
mov cx, word [eax]
cmp cx, bx
jne 0x40af34
jmp 0x40b354
push 3
push dword [ebp + 0x64]
push 0x4afc34
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40afda
add dword [ebp + 0x64], 6
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x3a
mov byte [ebp + 0x3e], 1
jne 0x40b1d8
add dword [ebp + 0x64], 2
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.0040549b
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b1d8
lea ecx, [ebp - 0xf8]
jmp 0x40b1cd
push 5
push dword [ebp + 0x64]
push str.code:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40b09b
add dword [ebp + 0x64], 0xa
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x24], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push eax
push str.UTF8
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b028
mov byte [ebp + 0x3f], 1
mov dword [ebp - 0x84], 0xfde9
jmp 0x40b354
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push eax
push str.ANSI
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b04e
mov byte [ebp + 0x3f], 1
mov dword [ebp - 0x84], ebx
jmp 0x40b354
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push eax
push 0x4afc18
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b078
mov byte [ebp + 0x3f], 2
mov dword [ebp - 0x84], 0x4b0
jmp 0x40b354
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0043c486
test eax, eax
pop ecx
pop ecx
jle 0x40b354
mov byte [ebp + 0x3f], 1
jmp 0x40b354
push edi
lea eax, [ebp + 0x64]
push eax
push str.timeout:
call fcn.00441c77
add esp, 0xc
test al, al
je 0x40b149
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x34], eax
mov cx, word [eax]
cmp cx, 0x23
mov byte [ebp - 0x1d], bl
jne 0x40b0cd
mov byte [ebp - 0x1d], 1
jmp 0x40b0d7
cmp cx, 0x2a
jne 0x40b0dd
mov byte [ebp - 0x1d], 2
add eax, 2
mov dword [ebp + 0x34], eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp + 0x34]
push eax
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
call fcn.0047c39d
test eax, eax
pop ecx
pop ecx
jle 0x40b354
mov eax, dword [ebp - 0x94]
cmp eax, ebx
jle 0x40b354
or dword [ebp + 0x1c], 0x10
mov dword [ebp - 0xc8], eax
mov al, byte [ebp - 0x1d]
mov byte [ebp + 0x19], al
mov eax, dword [ebp + 0x34]
cmp word [eax], 0x3a
jne 0x40b354
add dword [ebp + 0x34], 2
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.0043c486
pop ecx
pop ecx
jmp 0x40b354
push 5
push dword [ebp + 0x64]
push str.user:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40b17f
add dword [ebp + 0x64], 0xa
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.0040549b
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b1d8
lea ecx, [ebp - 0xd4]
jmp 0x40b1cd
push edi
push dword [ebp + 0x64]
push str.passwd:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40b199
mov byte [ebp - 0x2b], bl
jmp 0x40b1b2
push edi
push dword [ebp + 0x64]
push str.passwd
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40b1e7
mov byte [ebp - 0x2b], 1
add dword [ebp + 0x64], 0xe
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.0040549b
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b1d8
lea ecx, [ebp - 0x74]
sub eax, esi
sar eax, 1
push eax
push esi
call fcn.0043febe
lea eax, [ebp + 0x64]
push eax
call fcn.00439c95
pop ecx
jmp 0x40b33a
push 8
lea eax, [ebp + 0x64]
push eax
push str.REALTIME
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b20a
mov dword [ebp - 0x14], 0x100
jmp 0x40a45d
push 4
lea eax, [ebp + 0x64]
push eax
push str.HIGH
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b22d
mov dword [ebp - 0x14], 0x80
jmp 0x40a45d
push 0xb
lea eax, [ebp + 0x64]
push eax
push str.ABOVENORMAL
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b250
mov dword [ebp - 0x14], 0x8000
jmp 0x40a45d
push 6
lea eax, [ebp + 0x64]
push eax
push 0x4afbcc
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b273
mov dword [ebp - 0x14], 0x20
jmp 0x40a45d
push 0xb
lea eax, [ebp + 0x64]
push eax
push str.BELOWNORMAL
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b296
mov dword [ebp - 0x14], 0x4000
jmp 0x40a45d
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4afbbc
call fcn.00441bc4
add esp, 0xc
test al, al
jne 0x40b2d3
mov edi, dword [ebp + 0x64]
push 0x4afbb0
push 4
pop esi
call fcn.00402cfd
cmp al, bl
pop ecx
lea eax, [ebp + 0x64]
je 0x40b2df
add dword [ebp + 0x64], 8
push eax
call fcn.00439c95
mov esi, dword [ebp + 0x4c]
pop ecx
mov dword [ebp - 0x14], 0x40
jmp 0x40a45d
push 3
push eax
push 0x4afbac
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b2f9
mov byte [ebp + 0x30], 1
jmp 0x40b33a
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4afba8
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b31f
mov byte [ebp - 0x16], 1
mov byte [ebp + 0x3f], bl
mov dword [ebp - 0x84], ebx
jmp 0x40b33a
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4afba4
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40b342
mov byte [ebp - 0x56], 1
mov esi, dword [ebp + 0x4c]
jmp 0x40a45d
mov eax, dword [ebp - 0xbc]
cmp word [eax], 0x2d
mov esi, dword [ebp + 0x4c]
mov dword [ebp + 0x64], eax
jne 0x40b363
lea eax, [ebp + 0x64]
push eax
call fcn.00405444
pop ecx
jmp 0x40a45d
cmp dword [ebp + 0x24], ebx
je 0x40b38d
cmp byte [ebp - 0x29], bl
je 0x40b371
or dword [ebp + 0x24], 4
cmp dword [ebp + 0x24], ebx
je 0x40b38d
cmp byte [ebp + 0x2f], bl
je 0x40b37f
or dword [ebp + 0x24], 0x20
cmp dword [ebp + 0x24], ebx
je 0x40b38d
cmp byte [ebp - 0x2a], bl
je 0x40b38d
or byte [ebp + 0x25], 4
cmp dword [ebp - 0x1c], ebx
je 0x40b3bf
lea eax, [ebp - 0x264]
push eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1a0]
mov dword [eax], 0x48
call fcn.0040472d
mov eax, dword [ebp - 0x19c]
neg eax
sbb eax, eax
and eax, 0x80000
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x84], 0x4b0
jne 0x40b3cf
mov byte [ebp + 0x3f], 2
mov eax, dword [ebp - 0x138]
cmp eax, ebx
je 0x40b402
cmp byte [ebp + 0x53], bl
mov dword [ebp + 0x64], eax
jne 0x40b402
cmp dword [ebp + 0x38], ebx
jne 0x40b402
push 1
push ebx
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [ebp + 0x48]
push eax
call fcn.0044ed7d
mov eax, dword [ebp - 0xf4]
mov dword [ebp + 0x64], eax
cmp esi, ebx
mov dword [ebp - 0x194], ebx
mov dword [ebp - 0x190], ebx
mov dword [ebp - 0x18c], ebx
mov dword [ebp - 4], ebx
je 0x40b426
cmp word [esi], bx
je 0x40b426
cmp word [ebp - 0x64], bx
je 0x40b429
mov byte [ebp + 0x30], bl
cmp esi, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp - 0x180], 0x4af224
je 0x40b518
cmp word [esi], 0x2a
jne 0x40b458
inc esi
inc esi
inc dword [ebp - 0x10]
cmp word [esi], 0x2a
je 0x40b44a
mov dword [ebp + 0x4c], esi
cmp word [esi], 0x3f
jne 0x40b484
inc esi
inc esi
mov dword [ebp + 0x4c], esi
mov dword [ebp - 0x180], esi
jmp 0x40b476
inc esi
inc esi
cmp ax, 0x3a
mov dword [ebp + 0x4c], esi
je 0x40b480
mov ax, word [esi]
cmp ax, bx
jne 0x40b46b
jmp 0x40b484
mov word [esi - 2], bx
mov ax, word [esi]
push 0x20
pop ecx
or ax, cx
cmp ax, 0x63
jne 0x40b4c0
mov dx, word [esi + 2]
or dx, cx
cmp dx, 0x61
jne 0x40b4c0
mov dx, word [esi + 4]
or dx, cx
cmp dx, 0x62
jne 0x40b4c0
cmp word [esi + 6], 0x3a
jne 0x40b4c0
mov dword [ebp - 0x30], 1
add esi, 8
jmp 0x40b4e4
cmp ax, 0x65
jne 0x40b4e7
mov ax, word [esi + 2]
or ax, cx
cmp ax, 0x78
jne 0x40b4e7
cmp word [esi + 4], 0x3a
jne 0x40b4e7
mov dword [ebp - 0x30], 0x100
add esi, 6
mov dword [ebp + 0x4c], esi
cmp esi, ebx
je 0x40b518
mov ax, word [esi]
or ax, cx
cmp ax, 0x75
jne 0x40b518
mov ax, word [esi + 2]
or ax, cx
cmp ax, 0x64
jne 0x40b518
cmp word [esi + 4], 0x3a
jne 0x40b518
add esi, 6
mov dword [ebp + 0x14], 1
mov dword [ebp + 0x4c], esi
cmp byte [ebp + 0x30], bl
je 0x40b55f
cmp esi, ebx
je 0x40b55f
cmp word [ebp - 0x30], bx
jne 0x40b55f
cmp word [ebp + 0x14], bx
jne 0x40b55f
xor eax, eax
cmp byte [ebp + 0x2e], bl
mov ecx, esi
setne al
mov edi, eax
xor eax, eax
mov ax, word [esi]
jmp 0x40b55a
cmp ax, 0x22
jne 0x40b555
inc edi
cmp edi, 2
jl 0x40b555
cmp word [ecx + 2], bx
je 0x40b555
mov byte [ebp + 0x30], bl
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40b540
cmp word [ebp - 0x10], bx
jne 0x40b571
cmp word [ebp - 0x30], bx
jne 0x40b571
cmp word [ebp + 0x14], bx
je 0x40b574
mov byte [ebp + 0x2e], bl
cmp byte [ebp + 0x30], bl
je 0x40b5b9
xor eax, eax
cmp word [ebp + 0x14], bx
sete al
xor ecx, ecx
cmp word [ebp - 0x30], bx
sete cl
test ecx, eax
je 0x40b5b9
push 0x2a
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x40b5a7
mov word [eax], bx
inc eax
inc eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x194]
push eax
push esi
call fcn.00413b31
pop ecx
pop ecx
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp + 0x74]
xor ecx, ecx
inc ecx
mov dword [eax], ecx
xor eax, eax
lea edi, [ebp - 0x168]
mov dword [ebp - 0x16c], 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
stosd dword es:[edi], eax
xor eax, eax
cmp dword [ebp - 0x4c], ebx
mov dword [ebp - 0x88], ebx
setne al
cmp byte [ebp + 0xf], bl
mov dword [ebp + 8], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp + 4], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 8], eax
mov dword [ebp - 0x17c], 0xc
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x11c], ebx
je 0x40b666
lea eax, [ebp - 0x264]
or byte [eax + 0x2d], cl
mov dword [ebp - 8], ecx
mov ecx, dword [0x4c730c]
mov dword [eax + 0x3c], ecx
mov ecx, dword [0x4c7310]
mov dword [eax + 0x40], ecx
mov ecx, dword [0x4c7308]
mov dword [eax + 0x38], ecx
cmp byte [ebp + 0x53], bl
je 0x40bb7d
mov ecx, dword [ebp + 0x64]
cmp word [ecx], 0x7c
mov dword [ebp - 0x1c], ebx
jne 0x40b694
inc ecx
inc ecx
xor eax, eax
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, 0x7c
je 0x40b67b
call fcn.0040ea2b
test al, al
jne 0x40b67b
mov dword [ebp + 0x28], ecx
mov eax, dword [ebp + 0x64]
xor edx, edx
mov dword [ebp + 0x54], edx
cmp word [eax], bx
je 0x40b73f
cmp word [eax], 0x7c
jne 0x40b6c4
cmp word [eax + 2], 0x7c
je 0x40b6bc
mov edx, eax
mov dword [ebp + 0x54], edx
jmp 0x40b6c4
inc eax
inc eax
cmp word [eax], 0x7c
je 0x40b6bc
inc eax
inc eax
cmp word [eax], bx
jne 0x40b6a8
cmp edx, ebx
je 0x40b73f
lea eax, [ebp + 0x54]
mov word [edx], bx
add dword [ebp + 0x54], 2
push eax
call fcn.00439c95
mov edx, dword [ebp + 0x54]
xor eax, eax
mov ax, word [edx]
cmp ax, bx
pop ecx
mov esi, edx
je 0x40b697
cmp ax, 0x7c
jne 0x40b71e
lea edi, [esi + 2]
cmp word [edi], ax
jne 0x40b71e
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
shl eax, 1
push eax
push edi
push esi
call fcn.004131b9
add esp, 0xc
cmp word [esi], 0x7c
jne 0x40b71b
inc esi
inc esi
jmp 0x40b711
mov edx, dword [ebp + 0x54]
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
jne 0x40b6ef
cmp word [edx], bx
je 0x40b697
mov eax, dword [ebp + 0x28]
cmp word [eax], bx
mov cl, 1
je 0x40b741
mov al, cl
jmp 0x40b74d
xor cl, cl
xor al, al
cmp cl, bl
jne 0x40b74d
mov edx, dword [ebp + 0x28]
mov dword [ebp + 0x54], edx
cmp al, bl
mov dword [ebp + 0x38], edx
je 0x40b832
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
mov edi, eax
push ebx
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xc4]
push eax
xor esi, esi
lea eax, [ebp - 0xb4]
inc esi
push eax
mov dword [ebp - 0xac], 0xc
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], esi
call dword [sym.imp.KERNEL32.DLL_CreatePipe]
test eax, eax
jne 0x40b7a4
mov ecx, dword [ebp + 0x48]
push ebx
push ebx
push esi
call fcn.00414c28
mov esi, dword [sym.imp.KERNEL32.DLL_DuplicateHandle]
push 3
push ebx
push ebx
lea eax, [ebp - 0xb4]
push eax
push edi
push dword [ebp - 0xb4]
push edi
call esi
cmp dword [ebp - 0xc4], ebx
mov word [ebp + 0xe], bx
je 0x40b7f8
mov ecx, dword [ebp + 0x48]
push ebx
push dword [ebp - 0xc4]
lea eax, [ebp + 0xe]
push ebx
push ebx
push eax
push ecx
push dword [ebp + 0x28]
call fcn.00409c61
cmp dword [ebp - 0xc4], ebx
je 0x40b7f8
push dword [ebp - 0xc4]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push 3
push 1
push ebx
lea eax, [ebp - 0xb4]
push eax
push edi
push dword [ebp - 0xb4]
mov dword [ebp - 0xc4], ebx
push edi
call esi
mov ecx, dword [ebp - 0xb4]
cmp ecx, ebx
je 0x40b832
lea eax, [ebp - 0x264]
or byte [eax + 0x2d], 1
mov dword [ebp - 8], 1
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x54], eax
xor esi, esi
inc esi
mov cx, word [eax]
cmp cx, bx
je 0x40bb19
cmp cx, 0x3c
je 0x40b860
cmp cx, 0x3e
je 0x40b860
inc eax
inc eax
mov dword [ebp + 0x54], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40b847
mov cx, word [eax]
cmp cx, bx
je 0x40bb19
cmp cx, 0x3c
jne 0x40b964
mov word [eax], bx
add dword [ebp + 0x54], 2
lea eax, [ebp + 0x54]
push eax
call fcn.00439c95
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
pop ecx
je 0x40b964
mov dword [ebp + 0x34], eax
jmp 0x40b8a9
cmp cx, 0x3c
je 0x40b8b1
cmp cx, 0x3e
je 0x40b8b1
inc eax
inc eax
mov dword [ebp + 0x54], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40b898
sub eax, dword [ebp + 0x34]
lea ecx, [ebp - 0x90]
sar eax, 1
push eax
push dword [ebp + 0x34]
call fcn.004483b6
lea ecx, [ebp + 0x28]
call fcn.0043fd9a
mov ecx, dword [ebp + 0x48]
push esi
push ebx
lea eax, [ebp + 0x28]
push eax
push dword [ebp + 0x34]
call fcn.0044ed7d
mov eax, dword [ebp + 0x28]
push eax
mov dword [ebp + 0x34], eax
call fcn.0040fed5
lea eax, [ebp + 0x34]
push eax
call fcn.00439c95
cmp dword [ebp - 0x48], ebx
pop ecx
pop ecx
je 0x40b903
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push ebx
push ebx
push 3
lea eax, [ebp - 0x17c]
push eax
push 7
mov edi, 0xc0000000
push edi
push dword [ebp + 0x34]
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], ebx
call fcn.004054c4
cmp dword [ebp - 0x48], ebx
jne 0x40b94e
push ebx
push 0x2000000
push 3
lea eax, [ebp - 0x17c]
push eax
push 7
push edi
push dword [ebp + 0x34]
lea ecx, [ebp - 0x48]
call fcn.004054c4
cmp dword [ebp - 0x48], ebx
jne 0x40b94e
mov dword [ebp - 0x48], ebx
lea ecx, [ebp + 0x28]
call fcn.00439cfd
lea ecx, [ebp - 0x90]
call fcn.00439cfd
mov eax, dword [ebp + 0x54]
cmp word [eax], 0x3e
jne 0x40b83b
mov word [eax], bx
mov eax, dword [ebp + 0x54]
xor edi, edi
cmp word [eax - 2], 0x32
mov byte [ebp + 0x53], 1
jne 0x40b989
mov byte [ebp + 0x53], 2
mov word [eax - 2], bx
add dword [ebp + 0x54], 2
mov eax, dword [ebp + 0x54]
cmp word [eax], 0x3e
jne 0x40b99c
add dword [ebp + 0x54], 2
mov edi, esi
mov eax, dword [ebp + 0x54]
cmp word [eax], 0x26
jne 0x40b9ad
add dword [ebp + 0x54], 2
mov byte [ebp + 0x53], 3
lea eax, [ebp + 0x54]
push eax
call fcn.00439c95
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
pop ecx
je 0x40b83b
mov dword [ebp + 0x20], eax
jmp 0x40b9d9
cmp cx, 0x3c
je 0x40b9e1
cmp cx, 0x3e
je 0x40b9e1
inc eax
inc eax
mov dword [ebp + 0x54], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40b9c8
sub eax, dword [ebp + 0x20]
lea ecx, [ebp - 0x44]
sar eax, 1
push eax
push dword [ebp + 0x20]
call fcn.004483b6
lea ecx, [ebp - 0x24]
call fcn.0043fd9a
mov ecx, dword [ebp + 0x48]
push esi
push ebx
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x20]
call fcn.0044ed7d
mov eax, dword [ebp - 0x24]
push eax
mov dword [ebp + 0x20], eax
call fcn.0040fed5
lea eax, [ebp + 0x20]
push eax
call fcn.00439c95
test byte [ebp + 0x53], 1
pop ecx
pop ecx
je 0x40ba39
cmp dword [ebp + 4], ebx
je 0x40ba36
push dword [ebp + 4]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp + 4], ebx
test byte [ebp + 0x53], 2
je 0x40ba5c
cmp dword [ebp - 0xd8], ebx
je 0x40ba53
push dword [ebp - 0xd8]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0x1c], ebx
push ebx
push ebx
push 4
lea eax, [ebp - 0x17c]
push eax
push 7
push 0x40000000
push dword [ebp + 0x20]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], ebx
call fcn.004054c4
mov esi, eax
cmp esi, ebx
jne 0x40baee
push ebx
push 0x2000000
push 4
lea eax, [ebp - 0x17c]
push eax
push 7
push 0x40000000
push dword [ebp + 0x20]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], ebx
call fcn.004054c4
mov esi, eax
cmp esi, ebx
jne 0x40baee
push ebx
push 0x2000000
push 3
lea eax, [ebp - 0x17c]
push eax
push 7
push 0x40000000
push dword [ebp + 0x20]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], ebx
call fcn.004054c4
mov esi, eax
cmp esi, ebx
jne 0x40baee
lea ecx, [ebp - 0x24]
call fcn.00439cfd
lea ecx, [ebp - 0x44]
call fcn.00439cfd
mov eax, dword [ebp + 0x54]
jmp 0x40b838
cmp edi, ebx
je 0x40bafd
push 2
push ebx
push ebx
push esi
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
cmp byte [ebp + 0x53], 1
jne 0x40bb08
mov dword [ebp + 4], esi
jmp 0x40bad6
cmp byte [ebp + 0x53], 3
mov dword [ebp - 0x1c], esi
je 0x40bb03
mov dword [ebp - 0xd8], esi
jmp 0x40bad6
mov ecx, dword [ebp - 0x48]
cmp ecx, ebx
mov edx, 0x100
je 0x40bb34
lea eax, [ebp - 0x264]
or dword [eax + 0x2c], edx
mov dword [ebp - 8], esi
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x40bb4a
lea eax, [ebp - 0x264]
or dword [eax + 0x2c], edx
mov dword [ebp - 8], esi
mov dword [eax + 0x3c], ecx
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
je 0x40bb60
lea eax, [ebp - 0x264]
or dword [eax + 0x2c], edx
mov dword [ebp - 8], esi
mov dword [eax + 0x40], ecx
mov ecx, dword [ebp + 0x48]
push esi
push ebx
lea eax, [ebp - 0x11c]
push eax
push dword [ebp + 0x38]
call fcn.0044ed7d
mov eax, dword [ebp - 0x11c]
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 0x40bbbf
cmp ax, 0x2a
je 0x40bbbf
cmp ax, 0x40
jne 0x40bbc8
push str.WinSta0WinLogon
lea ecx, [ebp - 0xf0]
call fcn.0044845d
mov ecx, dword [ebp - 0xf0]
inc byte [ebp + 0x1b]
lea eax, [ebp - 0x264]
mov dword [eax + 8], ecx
mov dword [ebp - 0x38], esi
add dword [ebp + 0x64], 2
jmp 0x40bb85
cmp ax, 0x3d
jne 0x40bbda
or dword [ebp + 0x1c], 1
inc dword [ebp - 0xe8]
jmp 0x40bbc2
cmp ax, 0x24
jne 0x40bbe6
mov byte [ebp + 0x3e], 1
jmp 0x40bbc2
cmp ax, 0x26
jne 0x40bbf5
mov dword [ebp - 0x38], 3
jmp 0x40bbc2
cmp ax, 0x5e
jne 0x40bc00
mov dword [ebp - 0x38], edi
jmp 0x40bbc2
cmp ax, 0x5f
je 0x40bbfb
cmp dword [ebp - 0x38], esi
je 0x40bc2f
cmp byte [ebp + 0x33], bl
je 0x40bc2f
push str.WinSta0Default
lea ecx, [ebp - 0xf0]
call fcn.0044845d
mov ecx, dword [ebp - 0xf0]
lea eax, [ebp - 0x264]
mov dword [eax + 8], ecx
lea edi, [ebp - 0x264]
cmp dword [edi + 8], ebx
je 0x40bc4d
test byte [ebp + 0x1b], 1
je 0x40bc4d
call fcn.00409b42
cmp eax, 1
jge 0x40bc4d
mov dword [edi + 8], ebx
mov eax, dword [ebp + 0x78]
cmp eax, ebx
je 0x40bc68
or byte [edi + 0x2d], 1
mov dword [ebp + 0x1c], ebx
mov byte [ebp + 0x73], bl
mov dword [ebp - 8], 1
mov dword [edi + 0x3c], eax
cmp dword [ebp + 0x24], ebx
je 0x40bc76
cmp dword [ebp + 0x1c], ebx
je 0x40bc76
or dword [ebp + 0x24], 0x10
cmp byte [ebp + 0x3e], bl
je 0x40bc96
mov eax, dword [ebp - 0xf8]
cmp word [eax], bx
jne 0x40bc96
push 0x4afb54
lea ecx, [ebp - 0xf8]
call fcn.00448401
cmp byte [ebp - 0x4d], bl
je 0x40bce7
push 0x5c
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edi, eax
cmp edi, ebx
je 0x40bcb0
inc edi
inc edi
jmp 0x40bcb3
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 + 0x1c], ebx
push 1
setne al
push edi
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
add eax, 0x80000001
push eax
call fcn.0043add9
add esp, 0x18
mov ebx, eax
jmp 0x40e350
lea eax, [ebp + 0x64]
push eax
call fcn.00439c95
cmp dword [ebp - 0x4c], ebx
pop ecx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x114], ebx
je 0x40bd9a
lea ecx, [ebp - 0x24]
mov byte [ebp + 0x3e], bl
call fcn.0043fd9a
mov ecx, dword [ebp + 0x48]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x4c]
call fcn.00413e55
cmp eax, ebx
je 0x40bd88
mov ecx, dword [eax]
cmp word [ecx], bx
je 0x40bd88
push eax
lea ecx, [ebp - 0x24]
call fcn.0044842f
push dword [ebp + 0x64]
lea ecx, [ebp - 0x114]
call fcn.0044845d
push dword [ebp - 0x130]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x114]
push eax
push dword [ebp - 0x24]
call fcn.00407b15
mov edi, eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp - 0x114]
add esp, 0x14
lea ecx, [ebp - 0x24]
mov dword [ebp + 0x64], eax
call fcn.00439cfd
cmp edi, ebx
je 0x40bd9a
mov ebx, edi
jmp 0x40e33d
lea ecx, [ebp - 0x24]
call fcn.00439cfd
mov ebx, 0x80070057
jmp 0x40e33d
mov eax, dword [ebp - 0x10c]
cmp word [eax], bx
je 0x40bdfc
push dword [ebp + 0x64]
call fcn.00411f27
pop ecx
push 0xffffffffffffffff
push str.__k:0
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x64], eax
call fcn.004483cf
push dword [ebp + 0x64]
lea ecx, [ebp + 0x78]
call fcn.0043fe06
push 0x4afaec
lea ecx, [ebp + 0x78]
call fcn.0043fe06
push dword [ebp - 0x10c]
lea ecx, [ebp + 0x78]
call fcn.0043fe06
mov ecx, dword [ebp + 0x48]
push ebx
push dword [ebp + 0x78]
call fcn.00462dd7
mov ebx, eax
lea ecx, [ebp + 0x78]
jmp 0x40e338
cmp byte [ebp - 0x5d], bl
je 0x40bf6a
lea ecx, [ebp + 0x70]
call fcn.0043fd9a
push dword [ebp + 0x64]
mov dword [ebp + 0x28], ebx
call fcn.00411f27
pop ecx
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x64], eax
call fcn.0043fd9a
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x74]
push eax
push dword [ebp + 0x64]
mov dword [ebp + 0x10], ebx
call fcn.0048ae03
mov eax, dword [ebp + 0x10]
add esp, 0xc
cmp eax, ebx
jne 0x40be51
lea ecx, [ebp + 0x74]
call fcn.00439cfd
lea ecx, [ebp + 0x70]
jmp 0x40bd8b
mov word [eax - 2], bx
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push dword [ebp + 0x74]
lea ecx, [ebp]
mov dword [ebp + 0x78], eax
call fcn.00448399
push dword [ebp + 0x10]
mov esi, dword [ebp]
lea ecx, [ebp + 0x7c]
call fcn.00448399
push dword [ebp + 0x78]
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp + 0x28]
push eax
push dword [ebp + 0x7c]
push esi
call fcn.004064e0
mov edi, dword [ebp + 0x48]
add esp, 0x14
cmp dword [ebp + 0x28], ebx
jle 0x40bede
cmp dword [edi + 0x28], ebx
jne 0x40bea4
push ebx
push edi
call fcn.004117b3
pop ecx
pop ecx
mov eax, dword [edi + 0x28]
xor esi, esi
cmp eax, ebx
je 0x40beb0
mov esi, dword [eax + 0x18]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push ebx
push esi
push ebx
push dword [ebp - 0x15c]
push dword [ebp - 0x160]
push 0x128
push dword [ebp + 0x78]
call dword [sym.imp.USER32.dll_TrackPopupMenu]
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
push dword [ebp + 0x78]
call dword [sym.imp.USER32.dll_DestroyMenu]
cmp dword [ebp + 0x28], ebx
jle 0x40bf4a
mov esi, dword [ebp + 0x70]
lea eax, [ebp + 0x78]
mov dword [ebp + 0x78], esi
call fcn.004135f1
mov eax, dword [ebp + 0x78]
mov word [eax], bx
cmp word [esi], bx
je 0x40bf4a
push 0xffffffffffffffff
push str.__k:0
lea ecx, [ebp + 0x68]
call fcn.004483cf
push dword [ebp + 0x64]
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push 0x4afaec
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push esi
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push ebx
push dword [ebp + 0x68]
mov ecx, edi
call fcn.00462dd7
lea ecx, [ebp + 0x68]
mov ebx, eax
call fcn.00439cfd
lea ecx, [ebp + 0x7c]
call fcn.00439cfd
lea ecx, [ebp]
call fcn.00439cfd
lea ecx, [ebp + 0x74]
call fcn.00439cfd
lea ecx, [ebp + 0x70]
jmp 0x40e338
push dword [ebp + 0x64]
lea ecx, [ebp - 0xec]
call fcn.00448399
cmp byte [ebp - 0x2a], bl
je 0x40c02e
push str.PECMDpecmd_cmd
lea ecx, [ebp - 0xec]
call fcn.0044845d
push 1
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.0041a38c
add esp, 0xc
push eax
lea ecx, [ebp - 0xec]
mov dword [ebp + 0x64], eax
call fcn.0043fe06
lea eax, [ebp - 0xd0]
push eax
call fcn.00404682
pop ecx
mov dword [ebp + 0x4c], eax
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10000000
mov eax, dword [ebp - 0xec]
mov dword [ebp + 0x64], eax
je 0x40bfd8
cmp byte [ebp - 0x56], bl
je 0x40bfe2
lea eax, [ebp - 0x264]
or byte [eax + 0x2c], 0x80
xor edi, edi
cmp ecx, ebx
je 0x40bff6
lea eax, [ebp - 0x264]
or dword [eax + 0x2c], 1
mov word [eax + 0x30], cx
mov al, byte [ebp + 0x1b]
and al, 3
inc edi
cmp al, 3
je 0x40c005
cmp byte [ebp - 0x29], bl
je 0x40c00f
lea eax, [ebp - 0x264]
or byte [eax + 0x2f], 8
lea eax, [ebp - 0x264]
cmp dword [eax + 8], ebx
je 0x40c2e4
cmp byte [ebp + 0x1b], bl
jle 0x40c2e4
mov eax, edi
jmp 0x40c2e6
cmp byte [ebp - 0x31], bl
je 0x40bfbf
cmp dword [ebp - 0x38], esi
je 0x40bfbf
mov eax, dword [ebp - 0xec]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
mov dword [ebp - 0x5c], ebx
call fcn.0041a38c
mov esi, eax
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x5c], eax
push 3
lea eax, [ebp - 0x5c]
push eax
push 0x4afae8
call fcn.00441bc4
add esp, 0x18
test al, al
jne 0x40c134
push 7
lea eax, [ebp - 0x5c]
push eax
push str.cmd.exe
call fcn.00441bc4
add esp, 0xc
test al, al
jne 0x40c134
cmp dword [0x4c8c68], ebx
jne 0x40c0de
push ebx
push 0x24
lea eax, [ebp - 0x578]
push eax
push ebx
mov word [ebp - 0x578], bx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x578]
mov edi, 0x4c8c68
push eax
mov ecx, edi
call fcn.0044845d
push str.System32cmd.exe
mov ecx, edi
call fcn.0043fe06
push dword [0x4c8c68]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov word [0x4c8c14], ax
movsx eax, word [0x4c8c14]
push eax
push dword [ebp - 0x5c]
mov dword [ebp + 0x38], ebx
push dword [0x4c8c68]
call fcn.0040e912
add esp, 0xc
test al, al
je 0x40c1a9
movsx eax, word [0x4c8c14]
mov ecx, dword [ebp - 0x5c]
lea ecx, [ecx + eax*2]
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x22
je 0x40c127
call fcn.0040ea2b
test al, al
je 0x40c1a9
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0x5c], ecx
call fcn.00405444
pop ecx
push 2
lea eax, [ebp - 0x5c]
push eax
push 0x4afab8
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40c1a9
mov eax, dword [ebp - 0x5c]
cmp word [eax], 0x22
jne 0x40c18f
add eax, 2
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x22
pop ecx
je 0x40c184
push 4
lea eax, [ebp + 0x78]
push eax
push str.call
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x40c18c
mov eax, dword [ebp + 0x78]
mov dword [ebp - 0x5c], eax
jmp 0x40c18f
mov eax, dword [ebp - 0x5c]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.0041a38c
add esp, 0xc
mov esi, eax
mov dword [ebp + 0x38], 1
mov eax, esi
sub eax, dword [ebp + 0x64]
and eax, 0xfffffffe
cmp eax, 8
jle 0x40bfbf
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 0x40c1e6
push 4
push str..bat
lea eax, [esi - 8]
push eax
call edi
test eax, eax
jne 0x40bfbf
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 - 0x504]
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 + 0x28]
lea edi, [ebp - 0x504]
mov byte [ebp + 0x7b], bl
mov dword [ebp + 0x28], ebx
call fcn.004054c4
push ebx
lea eax, [ebp - 0x9c]
push eax
push 0x190
mov eax, edi
push eax
push dword [ebp + 0x28]
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 0x40c287
mov al, byte [ebp - 0x504]
mov dword [ebp - 0x38], 0x10000000
jmp 0x40c26f
cmp al, 0xd
je 0x40c276
cmp al, 0xa
je 0x40c276
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x40c264
jmp 0x40c276
inc edi
movsx ax, byte [edi]
push eax
call fcn.00439c7e
add esp, 4
test al, al
jne 0x40c275
cmp dword [ebp + 0x38], ebx
jne 0x40c2b7
cmp byte [edi], 0x3a
jne 0x40c29c
cmp byte [edi + 1], 0x3a
jne 0x40c29c
inc edi
inc edi
jmp 0x40c29c
inc edi
cmp byte [edi], 0x40
je 0x40c29b
push 7
push edi
push 0x4afa84
call dword [sym.imp.SHLWAPI.dll_StrCmpNIA]
test eax, eax
jne 0x40c2b7
mov byte [ebp + 0x7b], 1
lea ecx, [ebp + 0x28]
call fcn.00402c5b
cmp byte [ebp + 0x7b], bl
mov ax, word [ebp - 0x90]
mov word [esi], ax
je 0x40bfbf
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x48]
call fcn.004309f9
mov ebx, eax
jmp 0x40e332
xor eax, eax
cmp eax, ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp - 0x54], ebx
je 0x40c2fa
mov dword [ebp - 0x54], edi
mov dword [ebp + 0x54], 4
cmp byte [ebp - 0x5e], bl
je 0x40c303
or dword [ebp + 0x54], 0x10
push eax
lea ecx, [ebp - 0x90]
call fcn.00413876
cmp byte [0x4c8e2c], bl
mov esi, dword [ebp + 0x68]
mov dword [ebp + 0x38], 0x4c9048
jne 0x40c33c
cmp esi, ebx
je 0x40c32a
cmp byte [esi + 8], bl
jne 0x40c33c
cmp byte [ebp - 0x65], bl
mov byte [ebp + 0x7b], bl
je 0x40c340
cmp esi, ebx
je 0x40c340
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x38], eax
mov byte [ebp + 0x7b], 1
push ebx
lea ecx, [ebp + 0x28]
call fcn.00448399
cmp byte [ebp + 0x7b], bl
mov dword [ebp + 0x68], ebx
je 0x40c5d4
push 0x4c9c14
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
push ebx
lea ecx, [ebp - 0x300]
call fcn.00413d0d
cmp esi, ebx
je 0x40c37f
push dword [ebp + 0x38]
lea ecx, [ebp - 0x300]
push esi
call fcn.0043c264
call dword [sym.imp.KERNEL32.DLL_GetEnvironmentStringsW]
mov edi, eax
push 0x106
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0xb8], edi
call fcn.0043fdb8
mov eax, dword [ebp - 0x7c]
mov dword [ebp + 0x68], eax
jmp 0x40c41b
mov dword [ebp + 0x78], edi
jmp 0x40c3ad
cmp ax, 0x3d
je 0x40c3b7
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40c3a7
mov esi, edi
sub esi, dword [ebp + 0x78]
sar esi, 1
cmp word [edi], bx
je 0x40c419
cmp word [edi + 2], bx
je 0x40c414
cmp esi, 0x104
jg 0x40c414
push esi
push dword [ebp + 0x78]
push dword [ebp + 0x68]
call fcn.0040542c
mov eax, dword [ebp + 0x68]
add esp, 0xc
push ebx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x300]
mov word [eax + esi*2], bx
call fcn.0040fd4e
test eax, eax
jne 0x40c414
push 0xffffffffffffffff
push esi
lea eax, [edi + 2]
push eax
push dword [ebp + 0x78]
lea ecx, [ebp - 0x300]
call fcn.00413db1
jmp 0x40c414
inc edi
inc edi
cmp word [edi], bx
jne 0x40c412
inc edi
inc edi
cmp word [edi], bx
jne 0x40c3a2
push dword [ebp - 0xb8]
call dword [sym.imp.KERNEL32.DLL_FreeEnvironmentStringsW]
mov eax, dword [ebp - 0x2fc]
xor esi, esi
cmp eax, ebx
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x78], ebx
jle 0x40c4dc
mov eax, dword [ebp + 0x78]
mov dword [ebp - 0x78], eax
inc eax
cmp eax, dword [ebp + 0x34]
mov dword [ebp - 0xcc], eax
mov dword [ebp + 0x68], eax
jge 0x40c4ca
mov eax, dword [ebp + 0x78]
shl eax, 2
mov dword [ebp - 0xb8], eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebp - 0x300]
mov ecx, dword [ebp + 0x38]
mov ecx, dword [ecx + eax]
mov edi, dword [ebp + 0x68]
mov ecx, dword [ecx]
shl edi, 2
mov eax, dword [eax + edi]
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcmpW]
test eax, eax
jge 0x40c496
mov ecx, dword [ebp + 0x68]
mov dword [ebp - 0x78], ecx
mov dword [ebp + 0x38], edi
jmp 0x40c499
mov ecx, dword [ebp - 0x78]
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x34]
jl 0x40c466
cmp ecx, dword [ebp + 0x78]
je 0x40c4ca
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0xb8]
add eax, edx
mov edi, dword [eax]
shl ecx, 2
mov edx, dword [edx + ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x300]
mov dword [eax + ecx], edi
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp + 0x34]
mov dword [ebp + 0x78], eax
jl 0x40c442
cmp dword [ebp + 0x34], ebx
mov dword [ebp + 0x78], ebx
jle 0x40c51e
mov edi, dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov eax, dword [ebp - 0x300]
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 - 0x300]
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 + 0x34]
jl 0x40c4ea
add esi, 4
push esi
lea ecx, [ebp + 0x28]
call fcn.0043fddf
mov edi, dword [ebp + 0x28]
xor esi, esi
cmp dword [ebp + 0x34], ebx
mov dword [ebp + 0x68], edi
jle 0x40c5a0
mov eax, dword [ebp - 0x300]
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 + 0x10], eax
push edi
call fcn.0040542c
mov eax, dword [ebp + 0x10]
lea edi, [edi + eax*2]
mov word [edi], 0x3d
mov eax, dword [ebp - 0x300]
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 + 0x10], eax
push edi
call fcn.0040542c
mov eax, dword [ebp + 0x10]
lea edi, [edi + eax*2]
add esp, 0xc
mov word [edi], bx
inc edi
inc edi
inc esi
cmp esi, dword [ebp + 0x34]
jl 0x40c537
mov word [edi], bx
lea ecx, [ebp - 0x7c]
mov word [edi + 2], bx
call fcn.00439cfd
push ebx
lea ecx, [ebp - 0x300]
call fcn.00430616
lea ecx, [ebp - 0x2c0]
call fcn.00439cfd
push 0x4c9c14
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor edi, edi
inc edi
mov ecx, dword [ebp - 0x6c]
xor al, al
cmp word [ecx], 0x40
jne 0x40c5e3
inc al
jmp 0x40c5ed
cmp dword [ebp - 0xb0], ebx
je 0x40c5ed
mov al, 2
cmp byte [ebp + 0x73], bl
je 0x40c6ec
or dword [ebp + 0x1c], edi
or byte [ebp + 0x73], 8
neg al
sbb eax, eax
and eax, 0xfff01000
add eax, 0x100000
mov esi, eax
call fcn.0043c0b2
push eax
lea eax, [ebp - 0x284]
push str..pipepecmd_exec__u
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push ebx
push edi
push esi
push esi
push 0xff
push 6
push 0x40000003
lea eax, [ebp - 0x284]
push eax
call dword [sym.imp.KERNEL32.DLL_CreateNamedPipeA]
cmp eax, ebx
mov dword [ebp - 0x40], eax
je 0x40c688
cmp eax, 0xffffffff
je 0x40c688
push 0xffffffffffffffff
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp + 0x78]
call fcn.004483cf
push ebx
push ebx
push 3
lea ecx, [ebp - 0x17c]
push ecx
push 7
push 0xc0000000
push dword [eax]
lea ecx, [ebp - 0x64]
call fcn.004054c4
lea ecx, [ebp + 0x78]
call fcn.00439cfd
jmp 0x40c68f
push edi
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov esi, dword [ebp - 0x64]
push ebx
push ebx
lea eax, [ebp - 0xb8]
push eax
push esi
mov dword [ebp - 0xb8], 2
call dword [sym.imp.KERNEL32.DLL_SetNamedPipeHandleState]
push ebx
push edi
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateEventW]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x264]
or byte [eax + 0x2d], 1
test byte [ebp + 0x32], 2
mov dword [ebp - 0x8c], edi
mov dword [ebp - 8], edi
jne 0x40c6e0
cmp byte [ebp + 0x32], bl
jne 0x40c6e3
mov dword [eax + 0x3c], esi
test byte [ebp + 0x32], 1
je 0x40c6ec
mov dword [eax + 0x40], esi
push 0x4c9c14
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov eax, dword [ebp + 0x68]
neg eax
sbb eax, eax
and eax, 0x400
or eax, dword [ebp - 0x14]
mov dword [ebp + 0x34], ebx
or dword [ebp + 0x54], eax
cmp byte [ebp + 0x31], bl
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x1c], ebx
je 0x40c71e
or dword [ebp + 0x54], 0x1000004
cmp byte [ebp - 0x15], bl
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xcc], ebx
je 0x40c742
lea eax, [ebp - 0xb8]
push eax
call fcn.00403e2d
pop ecx
mov dword [ebp - 0xcc], eax
cmp byte [ebp + 0x3e], bl
mov esi, dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov edi, dword [ebp + 0x4c]
je 0x40c758
cmp edi, ebx
je 0x40d50b
cmp byte [ebp - 0x6d], bl
je 0x40c81a
cmp word [ebp - 0x30], bx
jne 0x40c81a
cmp word [ebp + 0x14], bx
jne 0x40c81a
push dword [ebp + 0x64]
lea eax, [ebp + 0x34]
push edi
push dword [ebp + 0x58]
push eax
call fcn.004045ae
mov esi, eax
push esi
call fcn.004046a6
add esp, 0x14
test eax, eax
jne 0x40ca01
cmp dword [ebp - 0x3c], ebx
push ebx
je 0x40c7de
movzx eax, word [ebp - 0x3c]
push 0x4af32c
push ebx
or eax, 2
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
mov eax, dword [ebp - 0xc]
or eax, dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 8]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.0040558b
add esp, 0x38
mov dword [ebp + 8], eax
jmp 0x40d2c1
call fcn.00404513
pop ecx
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
mov eax, dword [ebp - 0xc]
or eax, dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 8]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
push dword [ebp - 0x12c]
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
jmp 0x40c7d6
mov eax, dword [ebp - 0xd4]
cmp word [eax], bx
je 0x40c9d3
cmp word [ebp - 0x30], bx
jne 0x40c9d3
cmp word [ebp + 0x14], bx
jne 0x40c9d3
cmp byte [ebp - 0x2b], bl
mov dword [ebp + 8], ebx
je 0x40c8d4
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp]
call fcn.00402ce2
lea ecx, [ebp + 0x78]
call fcn.0043fc26
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, eax
push eax
push ebx
push dword [ebp - 0x74]
call fcn.0049a7e0
lea eax, [ebp + 0x78]
push eax
push dword [ebp]
call fcn.00444fc6
add esp, 0x14
push 0xffffffffffffffff
mov edi, eax
neg edi
push 0xffffffffffffffff
push dword [ebp + 0x78]
sbb edi, edi
lea ecx, [ebp - 0x74]
neg edi
call fcn.0043fe55
push dword [ebp]
call esi
push eax
push ebx
push dword [ebp]
call fcn.0049a7e0
add esp, 0xc
push dword [ebp + 0x78]
call esi
push eax
push ebx
push dword [ebp + 0x78]
call fcn.0049a7e0
add esp, 0xc
lea ecx, [ebp + 0x78]
call fcn.00439cfd
lea ecx, [ebp]
call fcn.00439cfd
cmp edi, ebx
je 0x40c99a
mov edi, dword [ebp - 0xd4]
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
push 0x40
push edi
call esi
cmp eax, ebx
jne 0x40c8f2
push 0x5c
push edi
call esi
cmp eax, ebx
je 0x40c900
mov word [eax], bx
mov esi, dword [ebp - 0xd4]
lea edi, [eax + 2]
jmp 0x40c905
mov esi, 0x4af32c
push dword [ebp + 0x64]
lea eax, [ebp + 0x34]
push dword [ebp + 0x4c]
push dword [ebp + 0x58]
push eax
call fcn.004045ae
push eax
mov dword [ebp + 0x58], eax
call fcn.004046a6
add esp, 0x14
test eax, eax
jne 0x40ca01
cmp dword [ebp - 0x3c], ebx
je 0x40c968
push dword [ebp - 0x74]
movzx eax, word [ebp - 0x3c]
push esi
push edi
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebp - 0xc]
push dword [ebp + 0x68]
or eax, 1
push eax
push ebx
push ebx
push ebx
push dword [ebp + 0x64]
push dword [ebp + 0x4c]
call fcn.0040558b
add esp, 0x38
jmp 0x40c997
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebp - 0xc]
push dword [ebp + 0x68]
or eax, 1
push dword [ebp + 0x54]
push dword [ebp + 0x64]
push dword [ebp + 0x4c]
push eax
push dword [ebp - 0x74]
push esi
push edi
call dword [sym.imp.ADVAPI32.dll_CreateProcessWithLogonW]
mov dword [ebp + 8], eax
push dword [ebp - 0x74]
mov esi, dword [sym.imp.KERNEL32.DLL_lstrlenW]
call esi
add eax, eax
push eax
push ebx
push dword [ebp - 0x74]
call fcn.0049a7e0
add esp, 0xc
push dword [ebp - 0xd4]
call esi
add eax, eax
push eax
push ebx
push dword [ebp - 0xd4]
call fcn.0049a7e0
add esp, 0xc
jmp 0x40d2c1
cmp byte [ebp + 0x30], bl
je 0x40ca50
cmp edi, ebx
je 0x40c9e2
cmp word [edi], 0x26
je 0x40ca50
cmp word [ebp - 0x10], bx
jne 0x40ca50
cmp word [ebp - 0x30], bx
jne 0x40ca50
cmp word [ebp + 0x14], bx
jne 0x40ca50
push dword [ebp + 0x58]
call fcn.004046a6
test eax, eax
pop ecx
je 0x40ca0d
mov dword [ebp + 0x78], 3
jmp 0x40d5f4
push dword [ebp - 4]
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x68]
push dword [ebp + 0x54]
push dword [ebp - 8]
push dword [ebp + 0x64]
push dword [ebp - 0x190]
push dword [ebp - 0x194]
call fcn.0048e5f7
xor ecx, ecx
add esp, 0x28
test eax, eax
setg cl
mov dword [ebp + 8], ecx
jmp 0x40d2c1
lea ecx, [ebp - 0xac]
mov dword [ebp + 0x20], ebx
mov dword [ebp + 8], ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp + 0x78], edi
mov dword [ebp - 0x4c], edi
call fcn.0043fc26
cmp word [ebp + 0x14], bx
lea eax, [ebp - 0x78]
mov dword [ebp - 0x7c], eax
lea eax, [ebp + 0x4c]
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x10], eax
je 0x40cb40
push 0x22
pop esi
cmp word [edi], si
jne 0x40caa9
add edi, 2
mov dword [ebp + 0x78], edi
push 0x3a
lea eax, [ebp + 0x78]
mov dword [ebp - 0xe4], edi
call fcn.0043f8e8
mov eax, dword [ebp + 0x78]
cmp eax, edi
pop ecx
je 0x40cacb
cmp word [eax - 2], si
jne 0x40cacb
mov word [eax - 2], bx
cmp word [eax], 0x3a
jne 0x40cad6
mov word [eax], bx
inc eax
inc eax
cmp word [eax], si
mov edi, eax
jne 0x40caef
lea edi, [eax + 2]
inc eax
inc eax
cmp word [eax], si
jne 0x40caea
mov word [eax], bx
cmp word [eax], bx
jne 0x40cae0
cmp word [ebp - 0x30], bx
je 0x40cb0d
push 0x3a
push edi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp + 0x20], eax
je 0x40cb0d
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x20], eax
push ebx
push ebx
push 0x10000
push edi
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xe4]
call fcn.00437959
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa4]
add esp, 0x18
add ecx, eax
mov dword [ebp - 4], ecx
jmp 0x40cd7c
cmp edi, ebx
je 0x40cc15
cmp word [edi], 0x26
jne 0x40cbf9
mov ecx, dword [ebp + 0x48]
push ebx
push 0xffffffffffffffff
push ebx
push edi
call fcn.0040fd4e
mov esi, eax
cmp esi, ebx
jne 0x40cbc0
lea ecx, [ebp + 0x4c]
call fcn.00439cfd
lea ecx, [ebp - 0xac]
call fcn.00439cfd
lea ecx, [ebp - 0x14]
call fcn.00439cfd
lea ecx, [ebp - 0x1c]
call fcn.00439cfd
lea ecx, [ebp + 0xc]
call fcn.00439cfd
lea ecx, [ebp + 0x34]
call fcn.00439cfd
push 0x4c9c14
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea ecx, [ebp + 0x28]
call fcn.00439cfd
lea ecx, [ebp - 0x90]
call fcn.00402d2c
mov ebx, 0x80070057
jmp 0x40e332
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xa8], eax
add eax, 0x10
push eax
lea ecx, [ebp - 0xac]
call fcn.0043fc68
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xa8]
inc eax
push eax
push dword [esi + 4]
push dword [ebp - 0xac]
call fcn.00413203
add esp, 0xc
jmp 0x40cd7c
mov al, byte [ebp + 0x2e]
neg al
sbb eax, eax
and eax, 2
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00446b69
pop ecx
pop ecx
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], ebx
mov dword [ebp - 0x188], ebx
jne 0x40ccba
mov eax, dword [ebp + 0x64]
cmp eax, ebx
je 0x40cc37
cmp word [eax], 0x2a
jne 0x40cc37
inc dword [ebp - 0x10]
cmp byte [ebp + 0x30], bl
je 0x40cc3f
mov dword [ebp - 0x10], ebx
cmp word [ebp - 0x30], bx
je 0x40d2da
push 0x3a
push ebx
push dword [ebp - 0x4c]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov esi, eax
cmp esi, ebx
mov dword [ebp + 0x20], esi
je 0x40ccae
push 2
pop eax
mov word [esi], bx
add esi, eax
mov dword [ebp + 0x20], esi
je 0x40ccae
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x4c]
cmp word [eax], 0x22
mov dword [ebp - 0x7c], ebx
mov dword [ebp + 0x10], ebx
jne 0x40cc9e
inc eax
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp + 0x78], eax
push 0x22
lea eax, [ebp + 0x78]
call fcn.0043f8e8
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
je 0x40cc9e
mov word [eax], bx
push dword [ebp - 0x4c]
lea ecx, [ebp + 0x4c]
call fcn.00448401
jmp 0x40cdae
cmp dword [ebp - 0xc0], ebx
je 0x40d2da
cmp word [ebp - 0x30], bx
mov edi, dword [ebp - 0xc0]
je 0x40ccdf
push 0x3a
push ebx
push edi
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
mov dword [ebp + 0x20], eax
je 0x40ccdf
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x20], eax
add dword [ebp - 0xc0], 2
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00446ab7
mov si, word [edi]
pop ecx
pop ecx
mov ecx, dword [0x4c8f04]
mov word [edi], bx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0xe4], eax
mov dword [ebp + 0x38], 0x20
mov ax, word [edx]
cmp ax, 0x2e
mov dword [ebp + 0x78], ebx
jne 0x40cd29
cmp word [edx + 2], bx
je 0x40cd3d
cmp ax, bx
je 0x40cd3d
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 0x40cd6e
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xe4]
mov dword [ebp + 0x38], 0x20
push dword [ebp - 0x188]
push ecx
call fcn.00414150
add esp, 0x14
mov dword [ebp - 4], eax
cmp dword [ebp + 0x78], ebx
je 0x40cd7c
push dword [ebp + 0x78]
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
cmp dword [ebp - 0xa8], ebx
je 0x40d2a6
cmp dword [ebp - 4], ebx
je 0x40d2a6
cmp word [ebp - 0x10], bx
mov dword [ebp - 0x170], 1
ja 0x40cdab
cmp word [ebp - 0x30], bx
je 0x40d1cc
mov esi, dword [ebp + 0x20]
cmp dword [ebp + 0x10], ebx
mov eax, dword [ebp - 0x180]
jne 0x40cdbe
mov eax, 0x4af224
push eax
push str.exedat
push dword [ebp - 0x7c]
lea eax, [ebp - 0x88]
push dword [ebp + 0x10]
push eax
call fcn.00405860
add esp, 0x14
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp + 0xc]
call fcn.0044842f
mov edi, dword [ebp - 0x78]
lea eax, [ebp + 0x4c]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x78]
cmp edi, ebx
mov dword [ebp - 0x7c], eax
setne al
cmp al, bl
mov dword [ebp - 0x9c], ebx
je 0x40ce2e
push ebx
lea eax, [ebp - 0x9c]
push eax
push dword [ebp - 0xa8]
push dword [ebp - 4]
push edi
call dword [sym.imp.KERNEL32.DLL_WriteFile]
push edi
call fcn.0043da71
pop ecx
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x40ce3b
cmp dword [ebp - 0x170], 1
jle 0x40d2a6
cmp esi, ebx
push dword [ebp - 0x88]
mov byte [ebp + 0x7b], bl
je 0x40cf9a
mov eax, dword [ebp + 0x4c]
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x4c], ebx
call fcn.0044845d
push 0x4afa50
lea ecx, [ebp + 0x4c]
call fcn.0043fe06
lea eax, [ebp + 0x4c]
push eax
lea ecx, [ebp + 0xc]
call fcn.0044842f
cmp word [esi], 0x5c
je 0x40ce84
add esi, 0xfffffffe
mov word [esi], 0x5c
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
cmp word [ebp - 0x30], 1
jne 0x40cedd
push 0x4afa3c
lea ecx, [ebp + 0x14]
call fcn.00448399
push dword [ebp + 0x38]
lea ecx, [ebp + 0x14]
call fcn.0043fe06
push 0x4afa34
lea ecx, [ebp + 0x14]
call fcn.0043fe06
push dword [ebp + 0x4c]
lea ecx, [ebp + 0x14]
call fcn.0043fe06
push dword [ebp + 0x14]
mov ecx, dword [ebp + 0x48]
call fcn.0042868a
lea ecx, [ebp + 0x14]
call fcn.00439cfd
jmp 0x40cf7b
cmp word [ebp - 0x30], 0x100
jne 0x40cf7b
push 0xf
pop ecx
xor eax, eax
mov dword [ebp - 0x370], 0x44
mov dword [ebp - 0x36c], ebx
lea edi, [ebp - 0x368]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1c8], ebx
lea edi, [ebp - 0x1c4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x370]
push eax
push dword [ebp + 0xc]
mov dword [ebp - 0x344], 0x80
push ebx
push dword [ebp - 0xc]
push ebx
push ebx
push ebx
push 0x4afa2c
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.DLL_CreateProcessW]
push 0xffffffffffffffff
push dword [ebp - 0x1c8]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
cmp dword [ebp - 0x1c8], ebx
je 0x40cf67
push dword [ebp - 0x1c8]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebp - 0x1c4], ebx
je 0x40cf7b
push dword [ebp - 0x1c4]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push esi
lea ecx, [ebp + 0x4c]
call fcn.0043fe06
lea eax, [ebp + 0x4c]
push eax
lea ecx, [ebp + 0x34]
call fcn.0044842f
lea ecx, [ebp + 0x38]
call fcn.00439cfd
jmp 0x40cfa2
lea ecx, [ebp + 0xc]
call fcn.0044845d
mov edx, dword [ebp + 0x64]
mov di, word [edx]
cmp di, 0x22
mov eax, edx
jne 0x40cfb3
lea eax, [edx + 2]
cmp word [eax], 0x3f
jne 0x40d040
lea esi, [eax + 2]
mov cx, word [esi]
cmp cx, 0x3f
jne 0x40cfd1
mov edi, dword [ebp + 0x4c]
lea esi, [eax + 4]
jmp 0x40d015
cmp cx, 0x5c
jne 0x40d040
cmp di, 0x22
je 0x40d012
mov eax, dword [ebp + 0xc]
mov edi, 0x104
push edi
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x38], eax
mov dword [ebp + 0xc], ebx
call fcn.0043fddf
mov eax, dword [ebp + 0xc]
push edi
mov word [eax], bx
push dword [ebp + 0xc]
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.DLL_GetShortPathNameW]
lea ecx, [ebp + 0x38]
call fcn.00439cfd
mov edx, dword [ebp + 0x64]
mov edi, dword [ebp + 0xc]
cmp word [edx], 0x22
jne 0x40d028
push 0x4aec4c
lea ecx, [ebp - 0x1c]
call fcn.0044845d
push edi
lea ecx, [ebp - 0x1c]
call fcn.0043fe06
push esi
lea ecx, [ebp - 0x1c]
call fcn.0043fe06
mov edx, dword [ebp - 0x1c]
mov dword [ebp + 0x64], edx
cmp dword [ebp + 0x20], ebx
je 0x40d0a3
cmp word [ebp - 0x10], bx
ja 0x40d079
lea eax, [ebp - 0xac]
push eax
push dword [ebp + 0x34]
mov dword [ebp + 0x20], ebx
call fcn.00413b31
cmp dword [ebp - 0xa8], ebx
pop ecx
pop ecx
je 0x40d0a0
mov eax, dword [ebp - 0xac]
mov byte [ebp + 0x7b], 1
mov dword [ebp - 4], eax
jmp 0x40d197
cmp byte [ebp + 0x3e], bl
je 0x40d0a3
cmp dword [ebp + 0x58], ebx
jne 0x40d089
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x58], eax
cmp word [ebp - 0x10], 2
mov dword [ebp + 0x20], ebx
mov byte [ebp + 0x7b], 2
jb 0x40d4f0
jmp 0x40d197
mov edx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x20]
cmp eax, ebx
mov edi, dword [ebp + 0x4c]
je 0x40d0b4
cmp word [eax], bx
jne 0x40d0b4
xor edi, edi
cmp dword [ebp + 0x58], ebx
jne 0x40d0bf
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x58], eax
push edx
push dword [ebp + 0x4c]
lea eax, [ebp + 0x34]
push dword [ebp + 0x58]
push eax
call fcn.004045ae
mov esi, eax
push esi
mov dword [ebp + 0x58], esi
call fcn.004046a6
add esp, 0x14
test eax, eax
jne 0x40d2fa
cmp dword [ebp + 0x24], ebx
je 0x40d119
push dword [ebp + 0x24]
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
mov eax, dword [ebp - 0xc]
or eax, dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 8]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00402fcc
add esp, 0x2c
jmp 0x40d180
cmp dword [ebp - 0x3c], ebx
je 0x40d156
movzx eax, word [ebp - 0x3c]
push ebx
push 0x4af32c
push ebx
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
mov eax, dword [ebp - 0xc]
or eax, dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 8]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.0040558b
add esp, 0x38
jmp 0x40d180
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
mov eax, dword [ebp - 0xc]
or eax, dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 8]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.0049a04c
add esp, 0x28
cmp byte [ebp - 0x10], 2
mov dword [ebp + 8], eax
jl 0x40d2a6
cmp word [ebp - 0x30], bx
jne 0x40d2a6
cmp byte [ebp + 0x7b], 1
jne 0x40d1a2
or eax, 0xffffffff
jmp 0x40d1ab
lea eax, [ebp - 0x158]
mov eax, dword [eax + 8]
push eax
push dword [ebp - 0x88]
call fcn.00403861
cmp byte [ebp + 0x7b], 1
mov eax, dword [ebp - 0x88]
pop ecx
pop ecx
mov word [eax], bx
jne 0x40d2d1
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x22
mov edi, eax
jne 0x40d1da
add eax, 2
cmp word [eax], 0x3f
mov dword [ebp + 0x38], ebx
jne 0x40d201
cmp word [eax + 2], 0x5c
jne 0x40d201
lea edi, [eax + 4]
cmp word [edi], 0x22
jne 0x40d201
dec edi
dec edi
mov ax, word [edi]
mov word [ebp + 0x38], ax
mov word [edi], 0x22
push dword [ebp + 0x58]
call fcn.004046a6
test eax, eax
pop ecx
jne 0x40d2fa
push ebx
lea esi, [ebp - 0x158]
push esi
lea eax, [ebp - 0x264]
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x68]
push dword [ebp + 0x54]
push dword [ebp - 8]
push edi
push dword [ebp - 0xa8]
push dword [ebp - 4]
call fcn.0048e5f7
add esp, 0x28
cmp word [ebp + 0x38], bx
mov dword [ebp - 0xe4], eax
je 0x40d252
mov ax, word [ebp + 0x38]
mov word [edi], ax
cmp dword [ebp - 0xe4], ebx
jl 0x40cdab
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x40cdab
push esi
push ebx
push 0x400
call dword [sym.imp.KERNEL32.DLL_OpenProcess]
cmp eax, ebx
je 0x40cdab
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
xor eax, eax
cmp dword [ebp - 0xe4], ebx
setg al
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x88]
cmp eax, ebx
je 0x40d2a6
cmp word [eax], bx
jne 0x40d197
lea ecx, [ebp + 0x4c]
call fcn.00439cfd
lea ecx, [ebp - 0xac]
call fcn.00439cfd
lea ecx, [ebp - 0x14]
call fcn.00439cfd
cmp dword [ebp + 8], ebx
je 0x40d5e6
xor eax, eax
jmp 0x40d5ec
cmp byte [ebp + 0x7b], 2
jmp 0x40d4ea
push dword [ebp + 0x64]
lea eax, [ebp + 0x34]
push edi
push dword [ebp + 0x58]
push eax
call fcn.004045ae
push eax
mov dword [ebp + 0x58], eax
call fcn.004046a6
add esp, 0x14
test eax, eax
je 0x40d321
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x78], 3
call fcn.00439cfd
lea ecx, [ebp - 0xac]
call fcn.00439cfd
lea ecx, [ebp - 0x14]
call fcn.00439cfd
jmp 0x40d5f4
cmp byte [ebp + 0x73], bl
jne 0x40d3a3
push 0x5c
push ebx
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov esi, eax
cmp esi, ebx
je 0x40d33c
inc esi
inc esi
jmp 0x40d33f
mov esi, dword [ebp + 0x64]
push 8
push esi
push str.winpeshl
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40d371
xor eax, eax
mov ax, word [esi + 0x10]
cmp ax, bx
je 0x40d36d
cmp ax, 0x2e
je 0x40d36d
call fcn.0040ea2b
test al, al
je 0x40d371
mov byte [ebp + 0x1a], 1
push 8
push esi
push str.wpeinit
call fcn.0043af58
add esp, 0xc
test al, al
je 0x40d3a3
xor eax, eax
mov ax, word [esi + 0xe]
cmp ax, bx
je 0x40d39f
cmp ax, 0x2e
je 0x40d39f
call fcn.0040ea2b
test al, al
je 0x40d3a3
mov byte [ebp + 0x1a], 1
test byte [ebp + 0x47], 1
jne 0x40d3ae
cmp dword [ebp - 0x28], ebx
je 0x40d3d6
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.0043add9
add esp, 0x18
cmp dword [ebp + 0x24], ebx
je 0x40d40c
push dword [ebp + 0x24]
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebp - 0xc]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x54]
push eax
push dword [ebp - 8]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00402fcc
add esp, 0x2c
jmp 0x40d477
cmp dword [ebp - 0x3c], ebx
je 0x40d44b
movzx eax, word [ebp - 0x3c]
push ebx
push 0x4af32c
push ebx
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebp - 0xc]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x54]
push eax
push dword [ebp - 8]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.0040558b
add esp, 0x38
jmp 0x40d477
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x264]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebp - 0xc]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x54]
push eax
push dword [ebp - 8]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.0049a04c
add esp, 0x28
cmp eax, ebx
mov dword [ebp + 8], eax
jne 0x40d481
mov byte [ebp + 0x1a], bl
cmp byte [ebp + 0x1a], bl
je 0x40d4ac
call fcn.0041a62f
test eax, eax
je 0x40d493
or dword [ebp + 0x1c], 1
cmp dword [ebp + 0x1c], ebx
jne 0x40d4ac
push str.waitpeinit.pecmd
call fcn.0049a075
neg eax
sbb eax, eax
neg eax
pop ecx
mov dword [ebp + 0x1c], eax
cmp dword [ebp + 8], ebx
jne 0x40d2a6
push dword [ebp - 0x28]
push ebx
push dword [ebp + 0x64]
push str._CreateProcess__s__d___d__r_n
push 0x4c9048
call fcn.0041009a
add esp, 0x14
cmp byte [ebp + 0x3e], bl
jne 0x40d2a6
cmp edi, ebx
jne 0x40d2a6
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xc1
jne 0x40d2a6
lea ecx, [ebp + 0x4c]
call fcn.00439cfd
lea ecx, [ebp - 0xac]
call fcn.00439cfd
lea ecx, [ebp - 0x14]
call fcn.00439cfd
push 0xd
xor eax, eax
pop ecx
lea edi, [ebp - 0x298]
mov dword [ebp - 0x2a0], 0x3c
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x38]
cmp eax, ebx
mov dword [ebp - 0x29c], 0x4540
jne 0x40d536
push 5
pop eax
movzx eax, ax
mov dword [ebp - 0x284], eax
mov eax, dword [ebp + 0x58]
cmp eax, ebx
je 0x40d551
cmp word [eax], bx
je 0x40d551
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x78], eax
mov dword [ebp - 0x290], eax
push 1
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x68], ebx
call fcn.0041a38c
mov esi, eax
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [esi], bx
jne 0x40d58d
cmp eax, dword [ebp + 0x64]
je 0x40d5a8
push dword [ebp + 0x68]
lea ecx, [ebp - 0x124]
push eax
call fcn.0043febe
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x290], eax
cmp word [esi], bx
je 0x40d5b3
mov dword [ebp - 0x28c], esi
lea eax, [ebp - 0x2a0]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x268]
lea esi, [ebp - 0x158]
push eax
mov dword [esi], eax
mov dword [ebp - 0x268], ebx
call dword [sym.imp.KERNEL32.DLL_GetProcessId]
mov dword [esi + 8], eax
jmp 0x40d2c1
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ecx, dword [ebp + 0x74]
mov dword [ecx], eax
mov dword [ebp + 0x78], eax
lea ecx, [ebp - 0x44]
call fcn.00402c5b
cmp dword [ebp - 0xcc], ebx
je 0x40d610
push dword [ebp - 0xb8]
call fcn.00403e3e
pop ecx
lea esi, [ebp - 0xc4]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d623
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebp - 0x108], ebx
mov dword [esi], ebx
je 0x40d647
push dword [ebp - 0x108]
lea eax, [ebp - 0x158]
push dword [eax + 8]
push dword [ebp + 0x48]
call fcn.00442209
add esp, 0xc
mov edx, dword [ebp - 0x118]
cmp edx, ebx
je 0x40d697
push 0x26
pop esi
cmp word [edx], si
mov ecx, edx
jne 0x40d66a
lea eax, [edx + 2]
jmp 0x40d665
mov ecx, eax
lea eax, [ecx + 2]
cmp word [eax], si
je 0x40d660
cmp word [ecx], si
mov eax, ecx
jne 0x40d678
lea eax, [ecx + 2]
jmp 0x40d678
inc eax
inc eax
cmp word [eax], 0x3a
je 0x40d676
cmp word [eax], bx
je 0x40d697
push edx
lea eax, [ebp - 0x158]
push dword [eax]
push dword [ebp + 0x48]
call fcn.0042b7a3
add esp, 0xc
cmp byte [ebp + 0x31], bl
je 0x40d6bd
lea esi, [ebp - 0x158]
cmp dword [esi], ebx
je 0x40d6bd
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateJobObjectW]
push dword [esi]
mov dword [ebp - 0xe0], eax
push eax
call dword [sym.imp.KERNEL32.DLL_AssignProcessToJobObject]
push str.__LastPID
lea edi, [ebp - 0x158]
push dword [edi + 8]
push dword [ebp + 0x48]
call fcn.00442209
push str.__LastTID
push dword [edi + 0xc]
push dword [ebp + 0x48]
call fcn.00442209
add esp, 0x18
cmp dword [ebp - 0x54], ebx
je 0x40d6fc
push dword [edi]
push 4
push str.SeDebugPrivilege
call fcn.0041238c
add esp, 0xc
test byte [ebp + 0x54], 4
je 0x40d710
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40d710
push eax
call dword [sym.imp.KERNEL32.DLL_ResumeThread]
lea ecx, [ebp - 0x1c]
call fcn.00439cfd
lea ecx, [ebp + 0xc]
call fcn.00439cfd
lea ecx, [ebp + 0x34]
call fcn.00439cfd
mov eax, 0x4c9c14
cmp eax, ebx
je 0x40d738
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea ecx, [ebp + 0x28]
call fcn.00439cfd
lea ecx, [ebp - 0x90]
call fcn.00402d2c
lea esi, [ebp - 0x64]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d75b
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi], ebx
lea esi, [ebp - 0xb4]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d770
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi], ebx
lea esi, [ebp - 0x48]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d782
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi], ebx
lea esi, [ebp + 4]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d794
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi], ebx
lea esi, [ebp - 0xd8]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d7a9
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp byte [ebp + 0x47], bl
mov dword [esi], ebx
jne 0x40d7b5
cmp byte [ebp + 0x2f], bl
je 0x40d802
mov eax, dword [edi]
cmp eax, ebx
je 0x40d7c7
push 0x1388
push eax
call dword [sym.imp.USER32.dll_WaitForInputIdle]
cmp byte [ebp + 0x47], bl
je 0x40d802
test byte [ebp + 0x47], 1
je 0x40d7e9
mov eax, dword [edi]
push dword [edi + 8]
neg eax
sbb eax, eax
and eax, 2
or eax, 1
push eax
call fcn.0041904e
pop ecx
pop ecx
cmp dword [ebp - 0x110], ebx
je 0x40d802
mov ecx, dword [ebp + 0x48]
push ebx
push ebx
push ebx
push dword [ebp - 0x110]
call fcn.0042e6e7
cmp dword [ebp + 8], ebx
je 0x40e11a
mov eax, dword [edi]
cmp eax, ebx
jne 0x40d814
mov dword [ebp + 0x1c], ebx
mov ecx, dword [ebp - 0x8c]
inc dword [ebp - 0x8c]
mov dword [ebp + ecx*4 - 0x16c], eax
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40d835
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebp - 0x28], ebx
mov dword [edi + 4], ebx
je 0x40d854
mov ecx, dword [ebp + 0x48]
push ebx
push ebx
push 0x3e8
call fcn.00414c28
push dword [edi]
call fcn.00410ecb
pop ecx
cmp dword [ebp + 0x1c], ebx
je 0x40e130
mov al, byte [0x4c72b4]
mov edi, 0x100000
push 0x100004
lea ecx, [ebp + 0x58]
mov byte [ebp + 0x6b], al
mov dword [ebp - 0x28], edi
xor esi, esi
call fcn.0043fc43
mov eax, dword [ebp - 0x6c]
cmp word [eax], 0x40
lea ecx, [eax + 2]
mov dword [ebp + 0x20], eax
mov dword [ebp - 0xcc], ecx
mov byte [ebp + 0x7b], bl
jne 0x40d947
mov byte [ebp + 0x7b], 1
mov dword [ebp + 0x20], ecx
cmp byte [ebp - 0x55], bl
je 0x40d8fa
mov ecx, dword [ebp + 0x48]
push ebx
lea eax, [ebp + 0x38]
push eax
push dword [ebp + 0x20]
mov dword [ebp + 0x38], ebx
call fcn.00446dde
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x38]
lea ecx, [ebp + 0x58]
call fcn.0043fd22
push dword [ebp + 0x58]
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov esi, eax
lea edi, [esi + 0x3ff]
and edi, 0xfffffc00
add edi, 0x100000
lea eax, [edi + 8]
push eax
lea ecx, [ebp + 0x58]
mov dword [ebp - 0x28], edi
call fcn.0043fc68
lea ecx, [ebp + 0x38]
call fcn.00439cfd
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]
test byte [ebp + 0x73], 8
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x7c], ebx
je 0x40dd31
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
cmp ax, 0x40
je 0x40d95c
cmp byte [ebp - 0x16], bl
je 0x40d95c
cmp ax, 0x26
je 0x40d941
mov eax, dword [ebp + 0x48]
test byte [eax + 9], 0xf
je 0x40d95c
mov byte [ebp + 0x2f], 1
jmp 0x40d95f
cmp dword [ebp - 0xb0], ebx
je 0x40d89f
mov byte [ebp + 0x7b], 2
jmp 0x40d89f
mov byte [ebp + 0x2f], bl
push ebx
mov dword [ebp - 0x9c], ebx
call dword [sym.imp.KERNEL32.DLL_SetLastError]
lea eax, [ebp - 0x40]
mov edi, dword [eax]
lea eax, [ebp - 0x1b8]
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_ConnectNamedPipe]
cmp byte [ebp + 0x7b], bl
mov dword [ebp - 0x78], esi
je 0x40d991
mov eax, dword [ebp - 0x28]
sub eax, esi
mov dword [ebp + 0x14], eax
jmp 0x40d998
mov dword [ebp + 0x14], 0x100000
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x9c]
push eax
push dword [ebp + 0x14]
mov eax, dword [ebp + 0x58]
add eax, esi
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
cmp dword [ebp - 0xdc], ebx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x90], eax
mov dword [ebp + 0x10], ebx
jg 0x40d9d4
mov dword [ebp - 0xdc], 0x3e8
lea ecx, [ebp]
mov byte [ebp + 0x31], bl
call fcn.0043fd9a
mov al, byte [0x4c72b4]
cmp al, bl
mov byte [ebp + 0x6b], al
jg 0x40d9f8
cmp dword [ebp - 0xe8], 2
jl 0x40dcb3
cmp dword [ebp - 0xc8], ebx
jle 0x40da2e
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [ebp - 0x7c], eax
sub eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0xc8]
jae 0x40dcb3
mov ecx, dword [ebp - 0xc8]
sub ecx, eax
cmp dword [ebp - 0xdc], ecx
jbe 0x40da2e
mov dword [ebp - 0xdc], ecx
mov ecx, dword [ebp + 0x48]
push 0x4ff
push dword [ebp - 0xdc]
lea eax, [ebp - 0x16c]
push ebx
push eax
push dword [ebp - 0x8c]
call fcn.00411d68
cmp eax, ebx
mov dword [ebp - 0x120], eax
jne 0x40dae3
lea eax, [ebp - 0x40]
mov edi, dword [eax]
push ebx
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1b8]
push eax
push edi
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.DLL_GetOverlappedResult]
cmp dword [ebp - 4], ebx
jle 0x40da91
mov eax, dword [ebp + 0x14]
cmp dword [ebp - 4], eax
jle 0x40da88
mov dword [ebp - 4], eax
add esi, dword [ebp - 4]
mov eax, dword [ebp + 0x58]
mov byte [eax + esi], bl
lea eax, [esi + 0x100000]
cmp eax, dword [ebp - 0x28]
jl 0x40dab2
add dword [ebp - 0x28], 0x100000
mov eax, dword [ebp - 0x28]
add eax, 4
push eax
lea ecx, [ebp + 0x58]
call fcn.0043fc68
cmp byte [ebp + 0x7b], bl
je 0x40dac1
mov eax, dword [ebp - 0x28]
sub eax, esi
mov dword [ebp + 0x14], eax
jmp 0x40dac8
mov dword [ebp + 0x14], 0x100000
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x14]
mov eax, dword [ebp + 0x58]
add eax, esi
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
cmp byte [ebp + 0x7b], bl
je 0x40db1a
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [ebp - 0x7c], eax
sub eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0xdc]
jge 0x40dbf5
cmp esi, dword [ebp + 0x10]
je 0x40dcaa
cmp eax, 0x14
jl 0x40dcaa
jmp 0x40dbf5
mov eax, dword [ebp - 0x8c]
cmp eax, 1
jle 0x40db49
dec eax
cmp eax, dword [ebp - 0x120]
jne 0x40db49
cmp byte [ebp + 0x7b], bl
mov byte [ebp + 0x31], 1
je 0x40dcb3
cmp esi, dword [ebp + 0x10]
je 0x40dcb3
jmp 0x40dbf5
test byte [ebp + 0x73], 1
je 0x40db87
cmp dword [ebp - 0x78], esi
jge 0x40db87
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x78]
mov edi, dword [ebp + 0x58]
cmp byte [ecx + edi], 0xa
jne 0x40db82
add eax, 0xffffffff
adc edx, 0xffffffff
js 0x40dcb3
inc ecx
cmp ecx, esi
jl 0x40db63
push 5
pop edi
dec edi
js 0x40d9df
cmp byte [0x4c72b4], bl
jle 0x40d9df
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x1d4]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x40d9df
cmp byte [ebp + 0x2f], bl
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp + 0x58]
mov dword [ebp + 0x10], esi
mov dword [ebp - 0x90], ecx
jne 0x40dc37
cmp dword [ebp - 0x84], 0x4b0
je 0x40dc2a
push dword [ebp - 0x84]
lea ecx, [ebp]
push esi
push eax
call fcn.0043fe55
mov eax, dword [ebp]
jmp 0x40dc37
mov word [eax + esi + 2], bx
mov ecx, dword [ebp + 0x58]
mov word [ecx + esi + 2], bx
cmp byte [ebp + 0x7b], 1
jne 0x40dc54
mov ecx, dword [ebp + 0x48]
push eax
push eax
push 0x4ae9fc
push dword [ebp + 0x20]
push dword [ebp + 0x20]
call fcn.0043c8fe
jmp 0x40dc7e
cmp byte [ebp + 0x2f], bl
je 0x40dc72
push ebx
lea eax, [ebp + 0x58]
push eax
push esi
push dword [ebp + 0x58]
push dword [ebp - 0x6c]
push dword [ebp + 0x48]
call fcn.0044b72d
add esp, 0x18
jmp 0x40dc7e
mov ecx, dword [ebp + 0x48]
push eax
push dword [ebp + 0x20]
call fcn.0043f62b
cmp dword [ebp - 0xb0], ebx
je 0x40dcaa
cmp byte [ebp + 0x31], bl
je 0x40db1a
lea ecx, [ebp]
call fcn.00439cfd
cmp dword [ebp + 0x1c], 0xffffff9c
mov eax, dword [ebp + 0x58]
mov byte [eax + esi + 2], bl
mov eax, dword [ebp + 0x58]
mov byte [eax + esi + 1], bl
mov eax, dword [ebp + 0x58]
mov byte [eax + esi], bl
mov dword [ebp - 0x10], ebx
je 0x40de99
cmp byte [ebp + 0x6b], bl
jle 0x40de99
cmp byte [ebp + 0x19], 1
je 0x40de99
cmp byte [ebp + 0x19], 2
jne 0x40de6b
lea eax, [ebp - 0x158]
push dword [eax + 8]
lea eax, [ebp - 0x2c8]
push dword [ebp - 0xfc]
push str._force__exitcode_d__tree__d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x48]
add esp, 0x10
lea eax, [ebp - 0x2c8]
push eax
call fcn.00417980
jmp 0x40de99
cmp dword [ebp + 0x1c], 0xffffff9c
je 0x40dcbb
mov al, byte [0x4c72b4]
cmp al, bl
mov byte [ebp + 0x6b], al
jg 0x40dd50
cmp dword [ebp - 0xe8], 2
jl 0x40dcbb
cmp dword [ebp - 0xc8], ebx
mov dword [ebp - 0x90], 0x3e8
jle 0x40dd8d
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0xc8]
jae 0x40dcbb
mov ecx, dword [ebp - 0xc8]
sub ecx, eax
cmp ecx, 0x3e8
jae 0x40dd8d
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp + 0x48]
push 0x4ff
push dword [ebp - 0x90]
lea eax, [ebp - 0x16c]
push ebx
push eax
push dword [ebp - 0x8c]
call fcn.00411d68
mov ecx, dword [ebp - 0x8c]
dec ecx
cmp ecx, eax
je 0x40dcbb
cmp dword [ebp - 0x8c], 1
jle 0x40de5e
cmp eax, ebx
jne 0x40de5e
lea eax, [esi + 0x100000]
cmp eax, edi
jl 0x40ddee
add edi, 0x100000
lea eax, [edi + 4]
push eax
lea ecx, [ebp + 0x58]
call fcn.0043fc68
mov eax, dword [ebp + 0x58]
push ebx
lea ecx, [ebp + 0x78]
push ecx
add eax, esi
push 1
push eax
lea eax, [ebp - 0x40]
push dword [eax]
mov dword [ebp + 0x78], ebx
call dword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
je 0x40de5e
cmp dword [ebp + 0x78], ebx
jbe 0x40de5e
add esi, dword [ebp + 0x78]
mov eax, dword [ebp + 0x58]
mov byte [eax + esi], bl
jmp 0x40de5e
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x280]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x40dd37
cmp dword [ebp - 0x27c], 0x12
je 0x40dd37
lea eax, [ebp - 0x280]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x280]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp byte [0x4c72b4], bl
jg 0x40de1d
jmp 0x40dd37
cmp dword [ebp - 0xe0], ebx
je 0x40de85
push dword [ebp - 0xfc]
push dword [ebp - 0xe0]
call dword [sym.imp.KERNEL32.DLL_TerminateJobObject]
push dword [ebp - 0xfc]
lea eax, [ebp - 0x158]
push dword [eax]
call dword [sym.imp.KERNEL32.DLL_TerminateProcess]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x158]
push dword [eax]
call dword [sym.imp.KERNEL32.DLL_GetExitCodeProcess]
cmp byte [ebp + 0x73], bl
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x74]
mov dword [ecx], eax
je 0x40e0bc
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
xor edi, edi
cmp ax, 0x40
je 0x40dee4
cmp byte [ebp - 0x16], bl
je 0x40dee4
cmp ax, 0x26
je 0x40dede
mov eax, dword [ebp + 0x48]
test byte [eax + 9], 0xf
je 0x40dee4
mov byte [ebp + 0x77], 1
jmp 0x40dee7
mov byte [ebp + 0x77], bl
lea ecx, [ebp - 0x98]
call fcn.00402cce
cmp byte [ebp + 0x77], bl
jne 0x40e052
cmp byte [ebp + 0x3f], 2
jne 0x40df0d
mov eax, dword [ebp + 0x58]
mov word [eax + esi], bx
mov edi, dword [ebp + 0x58]
jmp 0x40df76
cmp byte [ebp + 0x3f], 1
lea ecx, [ebp - 0x98]
jne 0x40df2a
push dword [ebp - 0x84]
push esi
push dword [ebp + 0x58]
call fcn.0043fe55
jmp 0x40df7a
lea eax, [esi + 0x18]
push eax
call fcn.0043fddf
lea eax, [esi + 1]
push eax
push dword [ebp + 0x58]
mov dword [ebp - 0x90], esi
push dword [ebp - 0x98]
mov dword [ebp - 0x94], esi
call fcn.00413203
mov eax, dword [ebp - 0x98]
push 0x10
add eax, esi
push ebx
push eax
call fcn.0049a7e0
lea eax, [ebp - 0x98]
push 0x2004
push eax
call fcn.0048ec3b
add esp, 0x20
cmp edi, ebx
jne 0x40df80
mov edi, dword [ebp - 0x98]
test byte [ebp + 0x73], 4
je 0x40dfb8
push edi
mov dword [ebp + 0x70], edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [edi + eax*2 - 2]
jmp 0x40dfae
mov cx, word [eax]
cmp cx, 0xd
je 0x40dfa9
cmp eax, dword [ebp + 0x70]
jae 0x40df96
jmp 0x40e052
test byte [ebp + 0x73], 1
je 0x40e01b
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x9c], eax
jmp 0x40e00e
mov ax, word [edi]
cmp ax, bx
jne 0x40dfd2
test byte [ebp + 0x73], 2
je 0x40e052
jmp 0x40e04a
mov eax, dword [ebp - 0x6c]
cmp word [eax], 0x40
jne 0x40e082
push dword [ebp - 0x98]
mov ecx, dword [ebp + 0x48]
push dword [ebp - 0x98]
push 0x4ae9fc
push dword [ebp - 0xcc]
push dword [ebp - 0xcc]
call fcn.0043c8fe
jmp 0x40e0ae
cmp byte [ebp + 0x77], bl
je 0x40e09f
push 1
lea ecx, [ebp + 0x58]
push ecx
push esi
push dword [ebp + 0x58]
push eax
push dword [ebp + 0x48]
call fcn.0044b72d
add esp, 0x18
jmp 0x40e0ae
push dword [ebp - 0x98]
mov ecx, dword [ebp + 0x48]
push eax
call fcn.0043f62b
lea ecx, [ebp - 0x98]
call fcn.00439cfd
mov eax, dword [ebp - 0x10]
push eax
mov dword [ebp + 0x78], eax
lea eax, [ebp - 0x36c]
push 0x4af910
push eax
mov word [ebp - 0x36c], bx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x48]
add esp, 0xc
lea eax, [ebp - 0x36c]
push eax
push str.ERRORLEVEL
call fcn.0043f62b
cmp dword [ebp - 0xe0], ebx
je 0x40e110
cmp byte [ebp + 0x19], 1
je 0x40e110
push dword [ebp - 0xfc]
push dword [ebp - 0xe0]
call dword [sym.imp.KERNEL32.DLL_TerminateJobObject]
lea ecx, [ebp + 0x58]
call fcn.00439cfd
jmp 0x40e130
mov eax, dword [ebp - 0x6c]
cmp word [eax], bx
je 0x40e130
mov ecx, dword [ebp + 0x48]
push 0x4ae9fc
push eax
call fcn.0043f62b
mov ecx, dword [ebp + 0x7c]
cmp ecx, ebx
je 0x40e141
lea eax, [ebp - 0x158]
mov eax, dword [eax]
mov dword [ecx], eax
cmp byte [ebp + 0x1a], bl
lea eax, [ebp - 0x158]
mov dword [eax], ebx
je 0x40e285
cmp dword [eax + 8], ebx
je 0x40e285
cmp byte [0x4c8c94], bl
jne 0x40e285
cmp dword [ebp + 0x1c], ebx
mov byte [0x4c8c94], 1
jne 0x40e210
push 0x1000
lea ecx, [ebp + 0x70]
call fcn.00402cbc
mov eax, dword [ebp + 0x70]
push ebx
mov dword [ebp + 0x68], ebx
mov word [eax], bx
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x70]
push eax
push str.SystemStartOptions
push str.SYSTEMCurrentControlSetControl
push 0x80000002
call fcn.00443e59
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00439c95
add esp, 0x1c
jmp 0x40e1f2
push 8
push eax
push str.PECMDHB
call fcn.0040e912
add esp, 0xc
test al, al
jne 0x40e1fc
push 6
push dword [ebp + 0x74]
push str.WIMHB
call fcn.0040e912
add esp, 0xc
test al, al
jne 0x40e1fc
lea eax, [ebp + 0x74]
push eax
call fcn.00405444
pop ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], bx
jne 0x40e1be
jmp 0x40e203
mov dword [ebp + 0x1c], 1
lea ecx, [ebp + 0x70]
call fcn.00439cfd
cmp dword [ebp + 0x1c], ebx
je 0x40e231
call fcn.0041a62f
test eax, eax
je 0x40e228
push str.exec
push dword [ebp + 0x48]
call fcn.0041a6d0
pop ecx
pop ecx
push ebx
call fcn.00415827
pop ecx
jmp 0x40e285
lea eax, [ebp - 0x158]
push dword [eax + 8]
lea eax, [ebp - 0x32c]
push str.__nfb__incmd_pecmd_TEAM_WAIT__InitSys__ncd__lu
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x32c]
push eax
push str.DELAY_bwinpeshl____s__r_n
push dword [ebp + 0x48]
call fcn.0041009a
mov ecx, dword [ebp + 0x48]
add esp, 0x18
push 0x4c8bbc
push ebx
push ebx
push ebx
lea eax, [ebp + 0x76]
push eax
push dword [ebp + 0x48]
lea eax, [ebp - 0x32c]
push eax
mov word [ebp + 0x76], bx
call fcn.00409c61
mov ecx, dword [ebp - 0x88]
cmp ecx, ebx
je 0x40e2a5
cmp word [ecx], bx
je 0x40e2a5
lea eax, [ebp - 0x158]
push dword [eax + 8]
push ecx
call fcn.00403861
pop ecx
pop ecx
mov esi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
lea edi, [ebp - 0x48]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e2b7
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp + 4]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e2c5
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0xd8]
cmp dword [edi], ebx
je 0x40e2d4
push ebx
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x64]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e2e2
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x40]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e2f0
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0xbc]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e301
push eax
call esi
cmp dword [ebp - 0x1a8], ebx
mov dword [edi], ebx
je 0x40e313
push dword [ebp - 0x1a8]
call esi
lea edi, [ebp - 0x158]
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40e323
push eax
call esi
mov ecx, dword [ebp + 0x48]
push ebx
mov dword [edi + 4], ebx
call fcn.0046496c
mov ebx, dword [ebp + 0x78]
lea ecx, [ebp - 0xec]
call fcn.00439cfd
lea ecx, [ebp - 0x114]
call fcn.00439cfd
lea ecx, [ebp - 0x44]
call fcn.00402c5b
lea ecx, [ebp - 0x11c]
call fcn.00439cfd
lea ecx, [ebp - 0xc4]
call fcn.00402c5b
lea ecx, [ebp - 0xb4]
call fcn.00402c5b
lea ecx, [ebp - 0xd8]
call fcn.00402c5b
lea ecx, [ebp + 4]
call fcn.00402c5b
lea ecx, [ebp - 0x48]
call fcn.00402c5b
lea ecx, [ebp - 0xbc]
call fcn.00402c5b
lea ecx, [ebp - 0x64]
call fcn.00402c5b
lea ecx, [ebp - 0x40]
call fcn.00402c5b
lea ecx, [ebp - 0x88]
call fcn.00439cfd
lea ecx, [ebp - 0x194]
call fcn.00439cfd
lea ecx, [ebp - 0xf4]
call fcn.00439cfd
lea ecx, [ebp - 0x80]
call fcn.00439cfd
lea ecx, [ebp - 0x124]
call fcn.00439cfd
lea ecx, [ebp - 0xf8]
call fcn.00439cfd
lea ecx, [ebp - 0x108]
call fcn.00439cfd
lea ecx, [ebp - 0x118]
call fcn.00439cfd
lea ecx, [ebp - 0xd0]
call fcn.00439cfd
lea ecx, [ebp - 0xe0]
call fcn.00402c5b
lea ecx, [ebp - 0x12c]
call fcn.00402c5b
lea ecx, [ebp - 0x1a0]
call fcn.004047f0
lea ecx, [ebp - 0x164]
call fcn.00439cfd
lea ecx, [ebp - 0x74]
call fcn.00439cfd
lea ecx, [ebp - 0xd4]
call fcn.00439cfd
lea ecx, [ebp - 0x6c]
call fcn.00439cfd
lea ecx, [ebp - 0x130]
call fcn.00439cfd
lea ecx, [ebp - 0x10c]
call fcn.00439cfd
lea ecx, [ebp - 0x134]
call fcn.00439cfd
lea ecx, [ebp - 0x128]
call fcn.00439cfd
lea ecx, [ebp - 0x110]
call fcn.00439cfd
lea ecx, [ebp - 0xf0]
call fcn.00439cfd
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x5c
leave
ret 0x1c