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

Disassembly:
push ebp
lea ebp, [esp - 0x5c]
sub esp, 0x5fc
mov eax, dword [ebp + 0x6c]
push ebx
xor ebx, ebx
cmp eax, ebx
push esi
push edi
push 0x20
mov dword [ebp + 0x4c], ecx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0x128], ebx
mov byte [ebp + 0x12], bl
mov byte [ebp - 0x25], bl
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x134], ebx
pop edi
je 0x40a56d
lea eax, [ebp + 0x6c]
push eax
call fcn.0043dcd9
pop ecx
mov ecx, dword [ebp + 0x6c]
cmp ecx, ebx
je 0x40a56d
cmp word [ecx], 0x2f
jne 0x40a56d
mov dx, word [ecx + 2]
or dx, di
cmp dx, 0x69
push 0x73
pop esi
jne 0x40a414
mov ax, word [ecx + 4]
or ax, di
cmp ax, 0x6e
jne 0x40a414
mov ax, word [ecx + 6]
or ax, di
cmp ax, si
jne 0x40a414
mov ax, word [ecx + 8]
or ax, di
cmp ax, 0x74
jne 0x40a414
mov ax, word [ecx + 0xa]
or ax, di
cmp ax, 0x61
jne 0x40a414
mov ax, word [ecx + 0xc]
or ax, di
cmp ax, 0x6c
jne 0x40a414
mov ax, word [ecx + 0xe]
or ax, di
cmp ax, 0x6c
jne 0x40a414
mov ax, word [ecx + 0x10]
or ax, di
cmp ax, si
jne 0x40a414
mov ax, word [ecx + 0x12]
or ax, di
cmp ax, 0x65
jne 0x40a414
mov ax, word [ecx + 0x14]
or ax, di
cmp ax, 0x72
jne 0x40a414
mov ax, word [ecx + 0x16]
or ax, di
cmp ax, 0x76
jne 0x40a414
mov ax, word [ecx + 0x18]
or ax, di
cmp ax, dx
jne 0x40a414
mov ax, word [ecx + 0x1a]
or ax, di
cmp ax, 0x63
jne 0x40a414
mov ax, word [ecx + 0x1c]
or ax, di
cmp ax, 0x65
jne 0x40a414
mov ax, word [ecx + 0x1e]
call fcn.0040f4c7
test al, al
jne 0x40a541
cmp dx, si
jne 0x40a478
mov ax, word [ecx + 4]
or ax, di
cmp ax, 0x65
jne 0x40a478
mov ax, word [ecx + 6]
or ax, di
cmp ax, 0x72
jne 0x40a478
mov ax, word [ecx + 8]
or ax, di
cmp ax, 0x76
jne 0x40a478
mov ax, word [ecx + 0xa]
or ax, di
cmp ax, 0x69
jne 0x40a478
mov ax, word [ecx + 0xc]
or ax, di
cmp ax, 0x63
jne 0x40a478
mov ax, word [ecx + 0xe]
or ax, di
cmp ax, 0x65
jne 0x40a478
mov ax, word [ecx + 0x10]
call fcn.0040f4c7
test al, al
jne 0x40a541
cmp dx, 0x72
jne 0x40a56d
mov dx, word [ecx + 4]
push 0x65
or dx, di
pop eax
cmp dx, ax
jne 0x40a56d
mov dx, word [ecx + 6]
or dx, di
cmp dx, 0x6d
jne 0x40a56d
mov dx, word [ecx + 8]
or dx, di
cmp dx, 0x6f
jne 0x40a56d
mov dx, word [ecx + 0xa]
or dx, di
cmp dx, 0x76
jne 0x40a56d
mov dx, word [ecx + 0xc]
or dx, di
cmp dx, ax
jne 0x40a56d
mov dx, word [ecx + 0xe]
or dx, di
cmp dx, si
jne 0x40a56d
mov dx, word [ecx + 0x10]
or dx, di
cmp dx, ax
jne 0x40a56d
mov dx, word [ecx + 0x12]
or dx, di
cmp dx, 0x72
jne 0x40a56d
mov dx, word [ecx + 0x14]
or dx, di
cmp dx, 0x76
jne 0x40a56d
mov dx, word [ecx + 0x16]
or dx, di
cmp dx, 0x69
jne 0x40a56d
mov dx, word [ecx + 0x18]
or dx, di
cmp dx, 0x63
jne 0x40a56d
mov dx, word [ecx + 0x1a]
or dx, di
cmp dx, ax
jne 0x40a56d
mov ax, word [ecx + 0x1c]
call fcn.0040f4c7
test al, al
je 0x40a56d
mov edi, 0x4d7c80
push str.PECMD_EXEC
mov ecx, edi
call fcn.0044cff1
push dword [ebp + 0x6c]
mov ecx, edi
call fcn.0044420d
mov eax, dword [ebp + 0x4c]
mov word [eax + 0x88], 2
jmp 0x40ef20
mov eax, dword [ebp + 0x70]
and eax, 1
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x70]
shr eax, 1
and eax, 1
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x70]
shr eax, 2
and al, 1
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x100], ebx
mov byte [ebp + 0x1b], bl
mov byte [ebp + 0x13], bl
mov byte [ebp + 0x73], al
mov byte [ebp + 0x30], bl
call fcn.004441a1
cmp dword [ebp + 0x64], ebx
je 0x40a5cc
push dword [ebp + 0x64]
lea ecx, [ebp - 0x15c]
call fcn.0044cff1
mov eax, dword [ebp - 0x15c]
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push eax
call fcn.0043dcd9
pop ecx
lea ecx, [ebp - 0x154]
call fcn.004441a1
mov eax, dword [ebp + 0x6c]
cmp eax, ebx
je 0x40a5f3
push eax
lea ecx, [ebp - 0x154]
call fcn.0044cff1
mov eax, dword [ebp - 0x154]
mov dword [ebp + 0x6c], eax
cmp dword [ebp + 0x74], ebx
jne 0x40a601
lea ecx, [ebp - 0x144]
mov dword [ebp + 0x74], ecx
mov ecx, dword [ebp + 0x64]
cmp ecx, ebx
push 0x5e
pop esi
mov dword [ebp + 0x38], ecx
mov dword [ebp - 0x1c0], esi
jne 0x40a644
cmp eax, ebx
mov dword [ebp + 0x64], eax
je 0x40a644
push 5
push eax
push str._shel
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40a644
lea eax, [ebp - 0x1c0]
mov dword [ebp + 0x6c], eax
xor eax, eax
inc eax
mov dword [ebp + 0x20], eax
mov dword [ebp - 0x4c], eax
mov byte [ebp + 0x73], al
lea ecx, [ebp - 0x140]
mov dword [ebp + 0x34], ebx
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], ebx
mov byte [ebp + 0x32], bl
mov byte [ebp - 0x39], 1
mov byte [ebp - 0x51], bl
mov byte [ebp + 0x1f], bl
mov byte [ebp - 0x6b], bl
mov byte [ebp - 0x6a], bl
mov byte [ebp - 0x2e], bl
mov byte [ebp + 0x47], bl
mov byte [ebp - 0x71], bl
mov byte [ebp - 0x31], bl
mov byte [ebp - 0x61], bl
call fcn.004441a1
mov al, byte [0x4d7be0]
neg al
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x194], ebx
mov dword [ebp - 0x190], ebx
mov byte [ebp - 0x69], bl
mov byte [ebp + 0x33], bl
mov byte [ebp - 0x26], bl
sbb eax, eax
and eax, 0x10000
mov byte [ebp - 0x2d], bl
mov byte [ebp - 0x41], 1
mov byte [ebp - 0x59], bl
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x24], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
call fcn.004441a1
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x94], ebx
mov byte [ebp + 0x46], bl
call fcn.004441a1
lea ecx, [ebp - 0xbc]
call fcn.004441a1
lea ecx, [ebp - 0xb8]
call fcn.004441a1
or dword [ebp - 0x9c], 0xffffffff
lea ecx, [ebp - 0x198]
mov byte [ebp - 9], bl
mov byte [ebp - 0x2f], bl
mov byte [ebp + 0x2f], bl
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x108], ebx
call fcn.004441a1
xor eax, eax
push 0x10
pop ecx
mov dword [ebp - 0x270], 0x44
mov dword [ebp - 0x26c], ebx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
push 0x12
mov dword [ebp - 0x18c], ebx
pop ecx
lea edi, [ebp - 0x228]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x188]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x17c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 0x6c]
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x1cc], ebx
mov dword [ebp - 0x1c8], ebx
mov dword [ebp - 0x1c4], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x78], ebx
cmp eax, ebx
jne 0x40a786
mov byte [ebp + 0x2f], 1
jmp 0x40a7e0
cmp word [eax], 0x23
jne 0x40a79c
cmp eax, dword [ebp + 0x64]
jne 0x40a795
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
jmp 0x40a7a9
test byte [0x4db003], 3
je 0x40a7a9
mov byte [ebp + 0x2f], 3
cmp eax, ebx
je 0x40a7e0
cmp word [eax], si
jne 0x40a7c4
cmp eax, dword [ebp + 0x64]
jne 0x40a7bb
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x73], 1
cmp eax, ebx
je 0x40a7e0
cmp word [eax], 0x24
jne 0x40a7e0
cmp eax, dword [ebp + 0x64]
jne 0x40a7d7
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x47], 1
cmp eax, ebx
mov dword [ebp + 0x40], ebx
je 0x40a802
cmp word [eax], 0x7c
jne 0x40a802
cmp eax, dword [ebp + 0x64]
jne 0x40a7f6
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x40], 1
mov eax, dword [ebp - 0x8c]
cmp eax, ebx
je 0x40a8ed
cmp word [eax], 0x2a
jne 0x40a8ed
add dword [ebp + 0x64], 2
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, bx
mov dword [ebp + 0x34], 0x10
je 0x40a8e3
push 2
xor esi, esi
pop edi
inc esi
cmp ax, 0x7c
jne 0x40a848
mov dword [ebp + 0x40], esi
jmp 0x40a8d1
cmp ax, 0x30
jb 0x40a8a5
cmp ax, 0x39
ja 0x40a8a5
or dword [ebp + 0x34], esi
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.004472e3
cmp dword [ebp - 0x138], ebx
pop ecx
pop ecx
jg 0x40a887
jl 0x40a87b
cmp dword [ebp - 0x13c], ebx
ja 0x40a887
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x138], ebx
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x24
jne 0x40a899
or byte [ebp + 0x35], 1
jmp 0x40a8d1
cmp ax, 0x5e
jne 0x40a8d4
or byte [ebp + 0x35], 2
jmp 0x40a8d1
mov ecx, eax
or ecx, 0x20
cmp cx, 0x6e
jne 0x40a8b8
add dword [ebp + 0x64], edi
or dword [ebp + 0x34], edi
jmp 0x40a8d4
cmp ax, 0x2d
jne 0x40a8c7
add dword [ebp + 0x64], edi
or dword [ebp + 0x34], 4
jmp 0x40a8d4
cmp ax, 0x23
jne 0x40a8e3
mov byte [ebp + 0x12], 1
add dword [ebp + 0x64], edi
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, bx
jne 0x40a83a
lea eax, [ebp + 0x64]
push eax
call fcn.00405676
pop ecx
lea eax, [ebp + 0x64]
push eax
call fcn.0043dcd9
cmp word [ebp + 0x34], bx
pop ecx
jne 0x40a998
lea eax, [ebp + 0x64]
push eax
call fcn.0043dcd9
cmp dword [ebp - 0xcc], ebx
mov eax, dword [ebp + 0x64]
pop ecx
mov dword [ebp + 0x48], eax
je 0x40a923
cmp word [ebp + 0x34], bx
jne 0x40aa76
push 2
pop esi
cmp word [eax], 0x2d
mov edi, eax
jne 0x40a93a
add eax, 2
cmp word [eax], 0x2d
jne 0x40a93a
mov dword [ebp + 0x48], eax
push 1
lea eax, [ebp + 0x48]
push eax
push 0x4bdf24
call fcn.004460ea
add esp, 0xc
test al, al
jne 0x40aa76
mov eax, dword [ebp + 0x48]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40a96b
cmp ax, 0x2f
jne 0x40aa76
add dword [ebp + 0x48], esi
push 5
lea eax, [ebp + 0x48]
push eax
push str.catch
call fcn.0044615f
add esp, 0xc
test al, al
je 0x40aa16
mov al, byte [ebp + 0x34]
or dword [ebp + 0x34], 0x10
cmp al, bl
jne 0x40ac49
mov esi, dword [ebp + 0x64]
xor ecx, ecx
xor eax, eax
mov ax, word [esi]
inc ecx
cmp ax, bx
mov dword [ebp + 0x20], ecx
mov edi, esi
je 0x40acec
push 2
pop edx
cmp ax, 0x3d
je 0x40a9c4
add edi, edx
mov ax, word [edi]
cmp ax, bx
jne 0x40a9b4
cmp edi, esi
je 0x40acec
cmp word [edi], 0x3d
jne 0x40acec
sub edi, edx
cmp word [edi], 0x2b
jne 0x40a9e5
mov al, byte [edi]
mov byte [ebp - 0x69], al
sub edi, edx
cmp edi, esi
mov ecx, edi
jbe 0x40a9fd
mov ax, word [ecx]
call fcn.0040f4c7
test al, al
je 0x40a9fd
sub ecx, edx
cmp ecx, esi
ja 0x40a9eb
mov ax, word [ecx]
call fcn.0040f4c7
test al, al
jne 0x40ace4
mov edx, ecx
inc ecx
inc ecx
jmp 0x40ac76
push 4
push dword [ebp + 0x48]
push str.cmd:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40abb9
add dword [ebp + 0x48], 8
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x4c]
call fcn.0040825e
add esp, 0x14
mov dword [ebp - 0xcc], eax
jmp 0x40aa67
mov word [edi], 0x20
add edi, esi
cmp edi, dword [ebp + 0x48]
jb 0x40aa60
cmp word [ebp + 0x34], bx
je 0x40ac49
lea eax, [ebp + 0x64]
push eax
call fcn.0043dcd9
mov eax, dword [ebp - 0xcc]
cmp eax, ebx
pop ecx
je 0x40aa95
cmp word [eax], bx
jne 0x40aa95
mov dword [ebp - 0xcc], ebx
cmp dword [ebp + 0x40], ebx
jne 0x40aaa2
cmp dword [ebp + 0x78], ebx
mov byte [ebp + 0x57], bl
je 0x40aaa6
mov byte [ebp + 0x57], 1
or dword [ebp - 0x114], 0xffffffff
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x130], ebx
call fcn.004441a1
lea ecx, [ebp - 0x16c]
call fcn.004441a1
cmp byte [ebp + 0x57], bl
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x10c], ebx
mov byte [ebp + 0x31], bl
mov dword [ebp - 0x68], ebx
jne 0x40ab21
cmp dword [ebp + 0x38], ebx
jne 0x40ab21
mov ecx, dword [ebp + 0x4c]
push 1
push ebx
lea eax, [ebp - 0x10c]
push eax
push dword [ebp + 0x64]
call fcn.00454cef
mov eax, dword [ebp - 0x10c]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x2d
mov dword [ebp - 0x8c], eax
jne 0x40ab3c
add eax, 2
cmp word [eax], 0x2d
jne 0x40ab3c
mov dword [ebp + 0x64], eax
xor esi, esi
inc esi
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4bdf24
call fcn.004460ea
add esp, 0xc
test al, al
jne 0x40bb17
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40ab6f
cmp ax, 0x2f
jne 0x40bb17
push 2
pop edi
add dword [ebp + 0x64], edi
push 5
lea eax, [ebp + 0x64]
push eax
push str.catch
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40acf3
mov dword [ebp + 0x34], 0x10
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4bdf10
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40ad3d
mov dword [ebp - 4], esi
jmp 0x40ab21
push 3
push dword [ebp + 0x48]
push 0x4bdf0c
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40abe3
add dword [ebp + 0x48], 6
jmp 0x40abd8
add dword [ebp + 0x48], esi
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x2a
je 0x40abd5
jmp 0x40ac27
push 4
push dword [ebp + 0x48]
push str.exe:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40ac0d
add dword [ebp + 0x48], 8
jmp 0x40ac02
add dword [ebp + 0x48], esi
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x2a
je 0x40abff
jmp 0x40ac27
push 5
push dword [ebp + 0x48]
push str.logs:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40ac49
add dword [ebp + 0x48], 0xa
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x22
jne 0x40ac49
add dword [ebp + 0x48], esi
jmp 0x40ac3e
add dword [ebp + 0x48], esi
cmp ax, 0x22
je 0x40ac49
mov eax, dword [ebp + 0x48]
mov ax, word [eax]
cmp ax, bx
jne 0x40ac35
lea eax, [ebp + 0x48]
push eax
call fcn.00408ddd
mov eax, dword [ebp + 0x48]
pop ecx
jmp 0x40a926
lea eax, [edx - 2]
mov dword [ebp - 0x8c], eax
mov ax, word [eax]
call fcn.0040f4c7
test al, al
jne 0x40ac7a
mov edx, dword [ebp - 0x8c]
cmp edx, esi
ja 0x40ac5b
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x60]
call fcn.004442c5
mov esi, dword [ebp + 0x4c]
push ebx
lea eax, [ebp - 0x60]
push eax
mov ecx, esi
call fcn.00402ed1
cmp byte [esi + 0x92], bl
jne 0x40aca5
test byte [esi + 9], 0xf
je 0x40acbb
push ebx
lea eax, [ebp - 0x60]
push eax
mov ecx, esi
call fcn.00402ed1
jmp 0x40acbb
cmp ax, 0x3d
je 0x40acc9
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40acb3
cmp ax, 0x3d
jne 0x40ace4
lea eax, [ebp - 0x14c]
add edi, 2
push eax
mov dword [ebp - 0x14c], edi
call fcn.0043dcd9
pop ecx
jmp 0x40a901
xor ebx, ebx
inc ebx
jmp 0x40eec0
mov ebx, ecx
jmp 0x40eec0
push 6
push dword [ebp + 0x64]
push str.clone:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40ab97
add dword [ebp + 0x64], 0xc
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405676
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40ad2c
mov word [eax], bx
add dword [ebp + 0x64], edi
cmp word [esi], bx
je 0x40ae10
mov dword [ebp - 0x70], esi
jmp 0x40ae10
push 4
lea eax, [ebp + 0x64]
push eax
push str.shel
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40ad67
or byte [ebp + 0x73], 2
and byte [ebp + 0x2f], 0xfe
mov dword [ebp - 0x4c], esi
mov dword [ebp + 0x20], esi
jmp 0x40ab21
push 5
push dword [ebp + 0x64]
push str.shel:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40add5
add dword [ebp + 0x64], 0xa
mov eax, dword [ebp + 0x64]
or byte [ebp + 0x73], 2
and byte [ebp + 0x2f], 0xfe
mov dword [ebp - 0x98], eax
push 5
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0x4c], esi
mov dword [ebp + 0x20], esi
mov dword [ebp + 0x40], ebx
call fcn.00419ea1
add esp, 0xc
cmp dword [ebp + 0x40], ebx
mov dword [ebp + 0x64], eax
jle 0x40ab21
push dword [ebp + 0x40]
lea ecx, [ebp - 0x134]
push dword [ebp - 0x98]
call fcn.004442c5
jmp 0x40ab21
push 9
push dword [ebp + 0x64]
push str.runrmenu:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40ae1e
add dword [ebp + 0x64], 0x12
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405676
mov eax, dword [ebp + 0x64]
pop ecx
lea ecx, [ebp - 0x140]
sub eax, edi
sar eax, 1
push eax
push edi
call fcn.004442c5
lea eax, [ebp + 0x64]
push eax
call fcn.0043dcd9
jmp 0x40bb0e
push 8
push dword [ebp + 0x64]
push str.poprmenu
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40aece
add dword [ebp + 0x64], 0x10
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x64]
push eax
call fcn.00405676
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40ae57
add dword [ebp + 0x64], edi
lea eax, [ebp + 0x64]
push eax
call fcn.0043dcd9
pop ecx
lea eax, [ebp - 0x194]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, bx
mov byte [ebp - 0x71], 1
je 0x40ae8c
cmp ax, 0x30
jb 0x40ae89
cmp ax, 0x39
jbe 0x40ae8c
add dword [ebp - 0x18], edi
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004504ce
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, bx
pop ecx
pop ecx
je 0x40aeb8
cmp ax, 0x30
jb 0x40aeb5
cmp ax, 0x39
jbe 0x40aeb8
add dword [ebp - 0x18], edi
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004504ce
pop ecx
jmp 0x40bb0e
push 4
push dword [ebp + 0x64]
push str.pid:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40af48
add dword [ebp + 0x64], 8
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
mov dword [ebp - 0x8c], edi
call fcn.00405676
mov ax, word [edi]
cmp ax, 0x28
pop ecx
je 0x40af2e
cmp ax, 0x30
jne 0x40af18
mov ax, word [edi + 2]
or ax, 0x20
cmp ax, 0x78
je 0x40af2e
mov eax, dword [ebp + 0x64]
cmp edi, eax
je 0x40ae10
lea ecx, [ebp - 0x130]
jmp 0x40ae05
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0044073a
pop ecx
pop ecx
jmp 0x40ae10
push 5
push dword [ebp + 0x64]
push str.hpid:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40af85
add dword [ebp + 0x64], 0xa
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405676
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40ae10
lea ecx, [ebp - 0x164]
jmp 0x40b990
push 5
push dword [ebp + 0x64]
push str.ppid:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40affc
add dword [ebp + 0x64], 0xa
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp + 0x64]
push eax
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
call fcn.0044746e
cmp dword [ebp - 0xac], ebx
pop ecx
pop ecx
jg 0x40afee
jl 0x40afcf
cmp dword [ebp - 0xb0], ebx
jae 0x40afee
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
call fcn.00408392
pop ecx
pop ecx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x78], eax
jmp 0x40ab21
push 4
push dword [ebp + 0x64]
push str.exe:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40b111
mov eax, dword [ebp + 0x64]
add eax, 8
mov dword [ebp + 0x64], eax
mov cx, word [eax]
xor edx, edx
cmp cx, 0x23
mov edi, eax
mov dword [ebp], ebx
jne 0x40b032
mov dword [ebp - 0x68], esi
cmp cx, 0x22
jne 0x40b0a9
lea esi, [eax + 2]
mov edi, eax
mov ecx, esi
jmp 0x40b067
cmp ax, 0x22
jne 0x40b065
inc edx
test dl, 1
je 0x40b065
xor eax, eax
mov ax, word [ecx + 2]
cmp ax, bx
je 0x40b072
call fcn.0040f4c7
test al, al
jne 0x40b072
or dword [ebp - 0x68], 2
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40b041
push 0x22
pop edx
cmp word [ecx], dx
jne 0x40b0b6
or dword [ebp], 0xffffffff
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
cmp word [ecx - 4], dx
mov edi, esi
mov byte [ebp + 0x31], 2
je 0x40b09d
mov ax, word [edi]
cmp ax, dx
jne 0x40b0b6
cmp word [edi + 2], dx
jne 0x40b0a2
mov byte [ebp + 0x31], bl
jmp 0x40b0b6
cmp ax, dx
jne 0x40b0b6
jmp 0x40b09d
lea eax, [ebp + 0x64]
push eax
call fcn.00405676
pop ecx
mov ecx, dword [ebp + 0x64]
sub ecx, edi
sar ecx, 1
add dword [ebp], ecx
cmp dword [ebp], ebx
jle 0x40ae10
add edi, 0xfffffff6
push edi
lea ecx, [ebp - 0xe8]
call fcn.0044cff1
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp]
add eax, 0xa
mov word [eax + ecx*2], bx
cmp word [eax], 0x2a
mov dword [ebp + 0x28], eax
jne 0x40ae10
cmp word [eax + 2], bx
jne 0x40ae10
lea eax, [ebp - 0xe8]
push eax
call fcn.004047f3
pop ecx
mov dword [ebp + 0x28], eax
jmp 0x40ae10
push 3
push dword [ebp + 0x64]
push 0x4bdf0c
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40b23e
mov eax, dword [ebp + 0x64]
xor edi, edi
add eax, 6
jmp 0x40b138
inc edi
inc eax
inc eax
mov dword [ebp + 0x64], eax
cmp word [eax], 0x2a
je 0x40b135
cmp edi, 2
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x48], ebx
jge 0x40b1e4
movzx eax, word [eax]
cmp ax, bx
je 0x40b19d
call fcn.0040f4c7
test al, al
jne 0x40b19d
push esi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00419ea1
add esp, 0xc
cmp dword [ebp - 0x48], ebx
mov dword [ebp + 0x64], eax
jle 0x40b19d
push dword [ebp - 0x48]
lea ecx, [ebp - 0x88]
push dword [ebp - 0x84]
call fcn.004442c5
mov eax, dword [ebp - 0x88]
mov dword [ebp + 0x50], eax
cmp edi, esi
jne 0x40b22a
cmp dword [ebp - 0x48], ebx
jle 0x40b232
mov eax, dword [ebp - 0x88]
push esi
lea ecx, [ebp - 0x88]
push ecx
push eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x88], ebx
call fcn.004959d9
add esp, 0xc
lea ecx, [ebp - 0x150]
mov dword [ebp + 0x50], eax
call fcn.0043dd41
jmp 0x40ae10
push 0x105
lea ecx, [ebp - 0x88]
call fcn.004441e6
push 0x104
push dword [ebp - 0x88]
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push ebx
push dword [ebp - 0x88]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
je 0x40b21c
mov word [eax], bx
mov eax, dword [ebp - 0x88]
mov dword [ebp + 0x50], eax
jmp 0x40ae10
cmp edi, ebx
jle 0x40ae10
mov dword [ebp + 0x50], 0x4bdeb0
jmp 0x40ae10
push 5
push dword [ebp + 0x64]
push str.logs:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40b2b7
mov eax, dword [ebp + 0x64]
add eax, 0xa
xor ecx, ecx
mov dword [ebp + 0x64], eax
mov dword [ebp + 0x40], eax
cmp word [eax], 0x3f
sete cl
mov edi, ecx
cmp edi, ebx
je 0x40b275
add eax, 2
mov dword [ebp + 0x40], eax
mov esi, dword [ebp + 0x40]
push 1
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x40]
push eax
mov dword [ebp + 8], ebx
call fcn.00419ea1
add esp, 0xc
cmp dword [ebp + 8], ebx
mov dword [ebp + 0x64], eax
jle 0x40ae10
cmp edi, ebx
je 0x40b2a9
cmp dword [0x4d7cf0], ebx
je 0x40ae10
push dword [ebp + 8]
lea ecx, [ebp - 0x158]
jmp 0x40b995
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4bdeac
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b2d6
mov byte [ebp - 0x61], 1
jmp 0x40ab21
push 5
lea eax, [ebp + 0x64]
push eax
push str.nowin
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b2f6
mov byte [ebp - 0x31], 1
jmp 0x40ab21
push 4
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push str.hide
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b31b
mov dword [ebp - 0x14], 0x10000000
jmp 0x40ab21
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4bde94
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b33f
inc dword [ebp - 0x100]
mov dword [ebp + 0x20], esi
jmp 0x40ab21
push 5
lea eax, [ebp + 0x64]
push eax
push str.waiti
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b35f
mov byte [ebp + 0x30], 1
jmp 0x40ab21
push 3
pop esi
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4bde88
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b381
or byte [ebp + 0x32], 1
jmp 0x40ab21
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4bde84
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b3a0
mov byte [ebp - 0x25], 1
jmp 0x40ab21
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4bde80
call fcn.004460ea
add esp, 0xc
test al, al
jne 0x40ab21
push edi
lea eax, [ebp + 0x64]
push eax
push str.err
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b3d9
or byte [ebp + 0x32], 3
jmp 0x40ab21
push 5
lea eax, [ebp + 0x64]
push eax
push str.limit
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b3f9
mov byte [ebp - 0x6a], 1
jmp 0x40ab21
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4bde6c
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b418
mov byte [ebp - 0x2e], 1
jmp 0x40ab21
push edi
lea eax, [ebp + 0x64]
push eax
push str.hook
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b43a
mov dword [ebp - 0x4c], 1
jmp 0x40ab21
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4bde60
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b45c
mov dword [ebp - 0x14], 6
jmp 0x40ab21
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4bde5c
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b47a
mov dword [ebp - 0x14], esi
jmp 0x40ab21
push edi
lea eax, [ebp + 0x64]
push eax
push str.show
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b49c
mov dword [ebp - 0x14], 1
jmp 0x40ab21
push edi
lea eax, [ebp + 0x64]
push eax
push str.runs
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b4bb
mov byte [ebp - 0x6b], 1
jmp 0x40ab21
push 2
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4bde48
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b4dd
mov byte [ebp - 0x39], 1
jmp 0x40ab21
push 4
lea eax, [ebp + 0x64]
push eax
push str.no64
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b4fc
mov byte [ebp - 0x39], bl
jmp 0x40ab21
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4bde3c
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b51c
mov byte [ebp - 0x51], 1
jmp 0x40ab21
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4bde38
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b53b
mov byte [ebp + 0x1f], 1
jmp 0x40ab21
push 5
lea eax, [ebp + 0x64]
push eax
push str.incmd
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b55b
mov byte [ebp - 0x2d], 1
jmp 0x40ab21
push 3
lea eax, [ebp + 0x64]
push eax
push str.svr_
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b57a
mov dword [ebp - 0x10], ebx
jmp 0x40ab21
push 6
lea eax, [ebp + 0x64]
push eax
push str.svrsys
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b59d
mov dword [ebp - 0x10], 0x20000
jmp 0x40ab21
push 7
pop esi
push esi
lea eax, [ebp + 0x64]
push eax
push str.svrsys_
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b5c6
mov al, byte [0x4d7be0]
neg al
sbb eax, eax
and eax, 0x20000
jmp 0x40b607
push 6
lea eax, [ebp + 0x64]
push eax
push str.svrusr
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b5e6
or dword [ebp - 0x10], 1
jmp 0x40ab21
push esi
lea eax, [ebp + 0x64]
push eax
push str.svrusr_
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b60f
xor eax, eax
cmp byte [0x4d7be0], bl
setne al
mov dword [ebp - 0x10], eax
jmp 0x40ab21
push esi
lea eax, [ebp + 0x64]
push eax
push str.hidecmd
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b62e
mov byte [ebp - 0x41], 1
jmp 0x40ab21
push 8
lea eax, [ebp + 0x64]
push eax
push str.hidecmd_
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b64d
mov byte [ebp - 0x41], bl
jmp 0x40ab21
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4bddf0
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b670
mov dword [ebp + 0x24], 1
jmp 0x40ab21
push 3
push dword [ebp + 0x64]
push 0x4bddec
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40b693
add dword [ebp + 0x64], 6
mov dword [ebp + 0x24], pe_nt_image_headers32
jmp 0x40b6b3
push edi
push dword [ebp + 0x64]
push 0x4bdde8
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40b70a
add dword [ebp + 0x64], 4
mov dword [ebp + 0x24], 8
xor ecx, ecx
jmp 0x40b6fa
mov eax, ecx
call fcn.0040f4c7
test al, al
jne 0x40bb05
or ecx, 0x20
cmp cx, 0x61
jne 0x40b6d5
or dword [ebp + 0x24], 0x40
jmp 0x40b6f7
cmp cx, 0x65
jne 0x40b6e1
or byte [ebp + 0x24], 0x80
jmp 0x40b6f7
cmp cx, 0x63
jne 0x40b6ed
or byte [ebp + 0x25], 1
jmp 0x40b6f7
cmp cx, 0x64
jne 0x40b6f7
or byte [ebp + 0x25], 2
add dword [ebp + 0x64], edi
mov eax, dword [ebp + 0x64]
mov cx, word [eax]
cmp cx, bx
jne 0x40b6b7
jmp 0x40bb05
push 3
push dword [ebp + 0x64]
push 0x4bdde4
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40b75b
add dword [ebp + 0x64], 6
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x3a
mov byte [ebp + 0x47], 1
jne 0x40ae10
add dword [ebp + 0x64], edi
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405676
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40ae10
lea ecx, [ebp - 0x110]
jmp 0x40b990
push 5
push dword [ebp + 0x64]
push str.code:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40b81c
add dword [ebp + 0x64], 0xa
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x40], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push str.UTF8
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b7a9
mov byte [ebp + 0x46], 1
mov dword [ebp - 0x94], 0xfde9
jmp 0x40bb05
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push str.ANSI
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b7cf
mov byte [ebp + 0x46], 1
mov dword [ebp - 0x94], ebx
jmp 0x40bb05
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push 0x4bddc8
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b7f9
mov byte [ebp + 0x46], 2
mov dword [ebp - 0x94], 0x4b0
jmp 0x40bb05
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0044073a
test eax, eax
pop ecx
pop ecx
jle 0x40bb05
mov byte [ebp + 0x46], 1
jmp 0x40bb05
push esi
lea eax, [ebp + 0x64]
push eax
push str.timeout:
call fcn.0044619d
add esp, 0xc
test al, al
je 0x40b8c9
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x3c], eax
mov cx, word [eax]
cmp cx, 0x23
mov byte [ebp - 0x30], bl
jne 0x40b84e
mov byte [ebp - 0x30], 1
jmp 0x40b858
cmp cx, 0x2a
jne 0x40b85e
mov byte [ebp - 0x30], 2
add eax, 2
mov dword [ebp + 0x3c], eax
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp + 0x3c]
push eax
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], ebx
call fcn.00488005
test eax, eax
pop ecx
pop ecx
jle 0x40bb05
mov eax, dword [ebp - 0x148]
cmp eax, ebx
jle 0x40bb05
or dword [ebp + 0x20], 0x10
mov dword [ebp - 0xec], eax
mov al, byte [ebp - 0x30]
mov byte [ebp + 0x12], al
mov eax, dword [ebp + 0x3c]
cmp word [eax], 0x3a
jne 0x40bb05
add dword [ebp + 0x3c], edi
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.0044073a
pop ecx
pop ecx
jmp 0x40bb05
push 5
push dword [ebp + 0x64]
push str.user:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40b92a
add dword [ebp + 0x64], 0xa
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405676
mov eax, dword [ebp + 0x64]
cmp edi, eax
pop ecx
je 0x40ae10
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0xbc]
call fcn.004442c5
cmp word [edi], 0x23
jne 0x40b922
cmp word [edi + 2], 0x23
jne 0x40b922
mov byte [ebp - 0x2f], 1
jmp 0x40ae10
mov byte [ebp - 0x2f], bl
jmp 0x40ae10
push esi
push dword [ebp + 0x64]
push str.passwd:
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40b955
mov eax, dword [ebp + 0x64]
cmp word [eax + 0xe], 0x23
jne 0x40b950
cmp word [eax + 0x10], 0x23
je 0x40b96a
mov byte [ebp - 9], bl
jmp 0x40b96e
push esi
push dword [ebp + 0x64]
push str.passwd
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40b99b
mov byte [ebp - 9], 1
add dword [ebp + 0x64], 0xe
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405676
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40ae10
lea ecx, [ebp - 0xb8]
sub eax, esi
sar eax, 1
push eax
push esi
jmp 0x40ae0b
push 8
lea eax, [ebp + 0x64]
push eax
push str.REALTIME
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b9be
mov dword [ebp - 0x24], 0x100
jmp 0x40ab21
push 4
lea eax, [ebp + 0x64]
push eax
push str.HIGH
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40b9e1
mov dword [ebp - 0x24], 0x80
jmp 0x40ab21
push 0xb
lea eax, [ebp + 0x64]
push eax
push str.ABOVENORMAL
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40ba04
mov dword [ebp - 0x24], 0x8000
jmp 0x40ab21
push 6
lea eax, [ebp + 0x64]
push eax
push str.NORMAL
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40ba27
mov dword [ebp - 0x24], 0x20
jmp 0x40ab21
push 0xb
lea eax, [ebp + 0x64]
push eax
push str.BELOWNORMAL
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40ba4a
mov dword [ebp - 0x24], 0x4000
jmp 0x40ab21
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4bdd6c
call fcn.004460ea
add esp, 0xc
test al, al
jne 0x40ba84
mov edi, dword [ebp + 0x64]
push 0x4bdd60
push 4
pop esi
call fcn.00402d57
cmp al, bl
pop ecx
lea eax, [ebp + 0x64]
je 0x40ba90
add dword [ebp + 0x64], 8
push eax
call fcn.0043dcd9
pop ecx
mov dword [ebp - 0x24], 0x40
jmp 0x40ab21
push 3
push eax
push 0x4bdd5c
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40baad
mov byte [ebp + 0x33], 1
jmp 0x40ab21
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4bdd58
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40bad6
mov byte [ebp - 0x26], 1
mov byte [ebp + 0x46], bl
mov dword [ebp - 0x94], ebx
jmp 0x40ab21
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4bdd54
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40baf6
mov byte [ebp - 0x59], 1
jmp 0x40ab21
mov eax, dword [ebp - 0x8c]
cmp word [eax], 0x2d
mov dword [ebp + 0x64], eax
jne 0x40bb14
lea eax, [ebp + 0x64]
push eax
call fcn.00408ddd
pop ecx
jmp 0x40ab21
xor esi, esi
inc esi
cmp dword [ebp + 0x24], ebx
je 0x40bb41
cmp byte [ebp - 0x31], bl
je 0x40bb25
or dword [ebp + 0x24], 4
cmp dword [ebp + 0x24], ebx
je 0x40bb41
cmp byte [ebp + 0x30], bl
je 0x40bb33
or dword [ebp + 0x24], 0x20
cmp dword [ebp + 0x24], ebx
je 0x40bb41
cmp byte [ebp - 0x2d], bl
je 0x40bb41
or byte [ebp + 0x25], 4
cmp dword [ebp - 0x78], ebx
je 0x40bb73
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x78]
lea ecx, [ebp - 0x1cc]
mov dword [eax], 0x48
call fcn.004048a5
mov eax, dword [ebp - 0x1c8]
neg eax
sbb eax, eax
and eax, 0x80000
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x94], 0x4b0
jne 0x40bb83
mov byte [ebp + 0x46], 2
mov eax, dword [ebp - 0x14c]
cmp eax, ebx
je 0x40bbb5
cmp byte [ebp + 0x57], bl
mov dword [ebp + 0x64], eax
jne 0x40bbb5
cmp dword [ebp + 0x38], ebx
jne 0x40bbb5
push esi
push ebx
lea ecx, [ebp - 0x10c]
push ecx
mov ecx, dword [ebp + 0x4c]
push eax
call fcn.00454cef
mov eax, dword [ebp - 0x10c]
mov dword [ebp + 0x64], eax
mov edi, dword [ebp + 0x28]
cmp edi, ebx
mov dword [ebp - 0x1bc], ebx
mov dword [ebp - 0x1b8], ebx
mov dword [ebp - 0x1b4], ebx
mov dword [ebp - 0x7c], ebx
je 0x40bbdc
cmp word [edi], bx
je 0x40bbdc
cmp word [ebp - 0x68], bx
je 0x40bbdf
mov byte [ebp + 0x33], bl
cmp edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x124], 0x4bd294
je 0x40bcc6
cmp word [edi], 0x2a
jne 0x40bc0e
inc edi
inc edi
inc dword [ebp - 0x20]
cmp word [edi], 0x2a
je 0x40bc00
mov dword [ebp + 0x28], edi
cmp word [edi], 0x3f
jne 0x40bc3a
inc edi
inc edi
mov dword [ebp + 0x28], edi
mov dword [ebp - 0x124], edi
jmp 0x40bc2c
inc edi
inc edi
cmp ax, 0x3a
mov dword [ebp + 0x28], edi
je 0x40bc36
mov ax, word [edi]
cmp ax, bx
jne 0x40bc21
jmp 0x40bc3a
mov word [edi - 2], bx
mov ax, word [edi]
push 0x20
pop ecx
or ax, cx
cmp ax, 0x63
jne 0x40bc72
mov dx, word [edi + 2]
or dx, cx
cmp dx, 0x61
jne 0x40bc72
mov dx, word [edi + 4]
or dx, cx
cmp dx, 0x62
jne 0x40bc72
cmp word [edi + 6], 0x3a
jne 0x40bc72
mov dword [ebp - 0x2c], esi
add edi, 8
jmp 0x40bc96
cmp ax, 0x65
jne 0x40bc99
mov ax, word [edi + 2]
or ax, cx
cmp ax, 0x78
jne 0x40bc99
cmp word [edi + 4], 0x3a
jne 0x40bc99
mov dword [ebp - 0x2c], 0x100
add edi, 6
mov dword [ebp + 0x28], edi
cmp edi, ebx
je 0x40bcc6
mov ax, word [edi]
or ax, cx
cmp ax, 0x75
jne 0x40bcc6
mov ax, word [edi + 2]
or ax, cx
cmp ax, 0x64
jne 0x40bcc6
cmp word [edi + 4], 0x3a
jne 0x40bcc6
add edi, 6
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x28], edi
cmp byte [ebp + 0x33], bl
je 0x40bd0b
cmp edi, ebx
je 0x40bd0b
cmp word [ebp - 0x2c], bx
jne 0x40bd0b
cmp word [ebp + 0xc], bx
jne 0x40bd0b
xor edx, edx
cmp byte [ebp + 0x31], bl
mov ecx, edi
setne dl
xor eax, eax
mov ax, word [edi]
jmp 0x40bd06
cmp ax, 0x22
jne 0x40bd01
inc edx
cmp edx, 2
jl 0x40bd01
cmp word [ecx + 2], bx
je 0x40bd01
mov byte [ebp + 0x33], bl
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40bcec
cmp word [ebp - 0x20], bx
jne 0x40bd1d
cmp word [ebp - 0x2c], bx
jne 0x40bd1d
cmp word [ebp + 0xc], bx
je 0x40bd20
mov byte [ebp + 0x31], bl
cmp edi, ebx
je 0x40bd3c
push 0x2a
push edi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp - 0x7c], eax
je 0x40bd3c
mov word [eax], bx
inc eax
inc eax
mov dword [ebp - 0x7c], eax
cmp byte [ebp + 0x33], bl
je 0x40bd69
xor eax, eax
cmp word [ebp + 0xc], bx
sete al
xor ecx, ecx
cmp word [ebp - 0x2c], bx
sete cl
test ecx, eax
je 0x40bd69
lea eax, [ebp - 0x1bc]
push eax
push edi
call fcn.00414946
pop ecx
pop ecx
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp + 0x74]
mov dword [eax], esi
xor eax, eax
cmp dword [ebp - 0x70], ebx
lea edi, [ebp - 0x1ac]
mov dword [ebp - 0x1b0], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x1e0], ebx
lea edi, [ebp - 0x1dc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 8], ebx
mov dword [ebp + 0x14], esi
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xc8], ebx
stosd dword es:[edi], eax
je 0x40bdcb
mov dword [ebp - 4], esi
cmp byte [ebp + 0x1f], bl
mov dword [ebp - 0x1a8], 0xc
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x1a0], esi
mov dword [ebp - 0x168], ebx
je 0x40be14
mov ecx, dword [0x4d633c]
lea eax, [ebp - 0x270]
or byte [eax + 0x2d], 1
mov dword [eax + 0x3c], ecx
mov ecx, dword [0x4d6340]
mov dword [eax + 0x40], ecx
mov ecx, dword [0x4d6338]
mov dword [ebp - 4], esi
mov dword [eax + 0x38], ecx
cmp byte [ebp + 0x57], bl
je 0x40c331
mov ecx, dword [ebp + 0x64]
cmp word [ecx], 0x7c
mov dword [ebp], ebx
jne 0x40be42
inc ecx
inc ecx
xor eax, eax
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, 0x7c
je 0x40be29
call fcn.0040f4c7
test al, al
jne 0x40be29
mov dword [ebp + 0x40], ecx
mov eax, dword [ebp + 0x64]
xor edx, edx
mov dword [ebp + 0x58], edx
cmp word [eax], bx
je 0x40beed
cmp word [eax], 0x7c
jne 0x40be72
cmp word [eax + 2], 0x7c
je 0x40be6a
mov edx, eax
mov dword [ebp + 0x58], edx
jmp 0x40be72
inc eax
inc eax
cmp word [eax], 0x7c
je 0x40be6a
inc eax
inc eax
cmp word [eax], bx
jne 0x40be56
cmp edx, ebx
je 0x40beed
lea eax, [ebp + 0x58]
mov word [edx], bx
add dword [ebp + 0x58], 2
push eax
call fcn.0043dcd9
mov edx, dword [ebp + 0x58]
xor eax, eax
mov ax, word [edx]
cmp ax, bx
pop ecx
mov edi, edx
je 0x40be45
cmp ax, 0x7c
jne 0x40becc
lea esi, [edi + 2]
cmp word [esi], ax
jne 0x40becc
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
push eax
push esi
push edi
call fcn.00413f99
add esp, 0xc
cmp word [edi], 0x7c
jne 0x40bec9
inc edi
inc edi
jmp 0x40bebf
mov edx, dword [ebp + 0x58]
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40be9d
cmp word [edx], bx
je 0x40be45
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
mov cl, 1
je 0x40beef
mov al, cl
jmp 0x40befb
xor cl, cl
xor al, al
cmp cl, bl
jne 0x40befb
mov edx, dword [ebp + 0x40]
mov dword [ebp + 0x58], edx
cmp al, bl
mov dword [ebp + 0x38], edx
je 0x40bfe0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
push ebx
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0xc8]
push eax
xor edi, edi
lea eax, [ebp - 0xc0]
inc edi
push eax
mov dword [ebp - 0xf8], 0xc
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], edi
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x40bf52
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push edi
call fcn.00415bb5
mov edi, dword [sym.imp.KERNEL32.dll_DuplicateHandle]
push 3
push ebx
push ebx
lea eax, [ebp - 0xc0]
push eax
push esi
push dword [ebp - 0xc0]
push esi
call edi
cmp dword [ebp - 0xc8], ebx
mov word [ebp + 0x1e], bx
je 0x40bfa6
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp - 0xc8]
lea eax, [ebp + 0x1e]
push ebx
push ebx
push eax
push ecx
push dword [ebp + 0x40]
call fcn.0040a2d5
cmp dword [ebp - 0xc8], ebx
je 0x40bfa6
push dword [ebp - 0xc8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 3
push 1
push ebx
lea eax, [ebp - 0xc0]
push eax
push esi
push dword [ebp - 0xc0]
mov dword [ebp - 0xc8], ebx
push esi
call edi
mov ecx, dword [ebp - 0xc0]
cmp ecx, ebx
je 0x40bfe0
lea eax, [ebp - 0x270]
or byte [eax + 0x2d], 1
mov dword [ebp - 4], 1
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x58], eax
xor edi, edi
inc edi
mov cx, word [eax]
cmp cx, bx
je 0x40c2cd
cmp cx, 0x3c
je 0x40c00e
cmp cx, 0x3e
je 0x40c00e
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40bff5
mov cx, word [eax]
cmp cx, bx
je 0x40c2cd
cmp cx, 0x3c
jne 0x40c112
mov word [eax], bx
add dword [ebp + 0x58], 2
lea eax, [ebp + 0x58]
push eax
call fcn.0043dcd9
mov eax, dword [ebp + 0x58]
cmp word [eax], bx
pop ecx
je 0x40c112
mov dword [ebp + 0x3c], eax
jmp 0x40c057
cmp cx, 0x3c
je 0x40c05f
cmp cx, 0x3e
je 0x40c05f
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c046
sub eax, dword [ebp + 0x3c]
lea ecx, [ebp - 0xa8]
sar eax, 1
push eax
push dword [ebp + 0x3c]
call fcn.0044cf4a
lea ecx, [ebp + 0x40]
call fcn.004441a1
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x3c]
call fcn.00454cef
mov eax, dword [ebp + 0x40]
push eax
mov dword [ebp + 0x3c], eax
call fcn.00410a39
lea eax, [ebp + 0x3c]
push eax
call fcn.0043dcd9
cmp dword [ebp - 0x50], ebx
pop ecx
pop ecx
je 0x40c0b1
push dword [ebp - 0x50]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
push ebx
push 3
lea eax, [ebp - 0x1a8]
push eax
push 7
mov esi, 0xc0000000
push esi
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], ebx
call fcn.0040569f
cmp dword [ebp - 0x50], ebx
jne 0x40c0fc
push ebx
push 0x2000000
push 3
lea eax, [ebp - 0x1a8]
push eax
push 7
push esi
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x50]
call fcn.0040569f
cmp dword [ebp - 0x50], ebx
jne 0x40c0fc
mov dword [ebp - 0x50], ebx
lea ecx, [ebp + 0x40]
call fcn.0043dd41
lea ecx, [ebp - 0xa8]
call fcn.0043dd41
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x3e
jne 0x40bfe9
mov word [eax], bx
mov eax, dword [ebp + 0x58]
xor esi, esi
cmp word [eax - 2], 0x32
mov byte [ebp + 0x57], 1
jne 0x40c137
mov byte [ebp + 0x57], 2
mov word [eax - 2], bx
add dword [ebp + 0x58], 2
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x3e
jne 0x40c14a
add dword [ebp + 0x58], 2
mov esi, edi
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x26
jne 0x40c15b
add dword [ebp + 0x58], 2
mov byte [ebp + 0x57], 3
lea eax, [ebp + 0x58]
push eax
call fcn.0043dcd9
mov eax, dword [ebp + 0x58]
cmp word [eax], bx
pop ecx
je 0x40bfe9
mov dword [ebp + 4], eax
jmp 0x40c187
cmp cx, 0x3c
je 0x40c18f
cmp cx, 0x3e
je 0x40c18f
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c176
sub eax, dword [ebp + 4]
lea ecx, [ebp - 0x98]
sar eax, 1
push eax
push dword [ebp + 4]
call fcn.0044cf4a
lea ecx, [ebp - 0x40]
call fcn.004441a1
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp - 0x40]
push eax
push dword [ebp + 4]
call fcn.00454cef
mov eax, dword [ebp - 0x40]
push eax
mov dword [ebp + 4], eax
call fcn.00410a39
lea eax, [ebp + 4]
push eax
call fcn.0043dcd9
test byte [ebp + 0x57], 1
pop ecx
pop ecx
je 0x40c1ea
cmp dword [ebp - 0x18], ebx
je 0x40c1e7
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18], ebx
test byte [ebp + 0x57], 2
je 0x40c20d
cmp dword [ebp - 0xe0], ebx
je 0x40c204
push dword [ebp - 0xe0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xe0], ebx
mov dword [ebp], ebx
push ebx
push ebx
push 4
lea eax, [ebp - 0x1a8]
push eax
push 7
push 0x40000000
push dword [ebp + 4]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], ebx
call fcn.0040569f
mov edi, eax
cmp edi, ebx
jne 0x40c2a2
push ebx
push 0x2000000
push 4
lea eax, [ebp - 0x1a8]
push eax
push 7
push 0x40000000
push dword [ebp + 4]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], ebx
call fcn.0040569f
mov edi, eax
cmp edi, ebx
jne 0x40c2a2
push ebx
push 0x2000000
push 3
lea eax, [ebp - 0x1a8]
push eax
push 7
push 0x40000000
push dword [ebp + 4]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], ebx
call fcn.0040569f
mov edi, eax
cmp edi, ebx
jne 0x40c2a2
lea ecx, [ebp - 0x40]
call fcn.0043dd41
lea ecx, [ebp - 0x98]
call fcn.0043dd41
mov eax, dword [ebp + 0x58]
jmp 0x40bfe6
cmp esi, ebx
je 0x40c2b1
push 2
push ebx
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp byte [ebp + 0x57], 1
jne 0x40c2bc
mov dword [ebp - 0x18], edi
jmp 0x40c287
cmp byte [ebp + 0x57], 3
mov dword [ebp], edi
je 0x40c2b7
mov dword [ebp - 0xe0], edi
jmp 0x40c287
mov ecx, dword [ebp - 0x50]
cmp ecx, ebx
mov edx, 0x100
je 0x40c2e8
lea eax, [ebp - 0x270]
or dword [eax + 0x2c], edx
mov dword [ebp - 4], edi
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x40c2fe
lea eax, [ebp - 0x270]
or dword [eax + 0x2c], edx
mov dword [ebp - 4], edi
mov dword [eax + 0x3c], ecx
mov ecx, dword [ebp]
cmp ecx, ebx
je 0x40c314
lea eax, [ebp - 0x270]
or dword [eax + 0x2c], edx
mov dword [ebp - 4], edi
mov dword [eax + 0x40], ecx
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp - 0x168]
push eax
push dword [ebp + 0x38]
call fcn.00454cef
mov eax, dword [ebp - 0x168]
mov dword [ebp + 0x64], eax
push 6
pop edi
mov esi, 0x10000000
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x21
je 0x40c373
cmp ax, 0x2a
je 0x40c373
cmp ax, 0x40
jne 0x40c37c
push str.WinSta0WinLogon
lea ecx, [ebp - 0x11c]
call fcn.0044cff1
mov ecx, dword [ebp - 0x11c]
inc byte [ebp + 0x1b]
lea eax, [ebp - 0x270]
mov dword [eax + 8], ecx
mov dword [ebp - 0x14], esi
add dword [ebp + 0x64], 2
jmp 0x40c339
cmp ax, 0x3d
jne 0x40c38e
or dword [ebp + 0x20], 1
inc dword [ebp - 0x100]
jmp 0x40c376
cmp ax, 0x24
jne 0x40c39a
mov byte [ebp + 0x47], 1
jmp 0x40c376
cmp ax, 0x26
jne 0x40c3a9
mov dword [ebp - 0x14], 3
jmp 0x40c376
cmp ax, 0x5e
jne 0x40c3b4
mov dword [ebp - 0x14], edi
jmp 0x40c376
cmp ax, 0x5f
je 0x40c3af
cmp dword [ebp - 0x14], esi
je 0x40c3e3
cmp byte [ebp + 0x2f], bl
je 0x40c3e3
push str.WinSta0Default
lea ecx, [ebp - 0x11c]
call fcn.0044cff1
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0x270]
mov dword [eax + 8], ecx
lea edi, [ebp - 0x270]
cmp dword [edi + 8], ebx
je 0x40c401
test byte [ebp + 0x1b], 1
je 0x40c401
call fcn.0040a1b6
cmp eax, 1
jge 0x40c401
mov dword [edi + 8], ebx
mov eax, dword [ebp + 0x78]
cmp eax, ebx
je 0x40c41c
or byte [edi + 0x2d], 1
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp - 4], 1
mov dword [edi + 0x3c], eax
cmp dword [ebp + 0x24], ebx
je 0x40c42a
cmp dword [ebp + 0x20], ebx
je 0x40c42a
or dword [ebp + 0x24], 0x10
cmp byte [ebp + 0x47], bl
je 0x40c44a
mov eax, dword [ebp - 0x110]
cmp word [eax], bx
jne 0x40c44a
push str.open
lea ecx, [ebp - 0x110]
call fcn.0044cf95
cmp byte [ebp - 0x6b], bl
je 0x40c49b
push 0x5c
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edi, eax
cmp edi, ebx
je 0x40c464
inc edi
inc edi
jmp 0x40c467
mov edi, dword [ebp + 0x64]
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
push eax
push dword [ebp + 0x64]
xor eax, eax
cmp dword [ebp + 0x20], ebx
push 1
setne al
push edi
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
add eax, 0x80000001
push eax
call fcn.0043ef9c
add esp, 0x18
mov ebx, eax
jmp 0x40edf0
lea eax, [ebp + 0x64]
push eax
call fcn.0043dcd9
cmp dword [ebp - 0x70], ebx
pop ecx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x12c], ebx
je 0x40c554
lea ecx, [ebp - 0x40]
mov byte [ebp + 0x47], bl
call fcn.004441a1
mov ecx, dword [ebp + 0x4c]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x70]
call fcn.00414c87
cmp eax, ebx
je 0x40c542
mov ecx, dword [eax]
cmp word [ecx], bx
je 0x40c542
push eax
lea ecx, [ebp - 0x40]
call fcn.0044cfc3
push dword [ebp + 0x64]
lea ecx, [ebp - 0x12c]
call fcn.0044cff1
push dword [ebp - 0x158]
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x40]
call fcn.0040800c
mov edi, eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp + 0x28], eax
mov eax, dword [ebp - 0x12c]
add esp, 0x14
lea ecx, [ebp - 0x40]
mov dword [ebp + 0x64], eax
call fcn.0043dd41
cmp edi, ebx
je 0x40c554
mov ebx, edi
jmp 0x40edda
lea ecx, [ebp - 0x40]
call fcn.0043dd41
mov ebx, 0x80070057
jmp 0x40edda
mov eax, dword [ebp - 0x140]
cmp word [eax], bx
je 0x40c5b6
push dword [ebp + 0x64]
call fcn.00412ce4
pop ecx
push 0xffffffffffffffff
push str.__k:0
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x64], eax
call fcn.0044cf63
push dword [ebp + 0x64]
lea ecx, [ebp + 0x74]
call fcn.0044420d
push 0x4bdc98
lea ecx, [ebp + 0x74]
call fcn.0044420d
push dword [ebp - 0x140]
lea ecx, [ebp + 0x74]
call fcn.0044420d
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp + 0x74]
call fcn.00469eab
mov ebx, eax
lea ecx, [ebp + 0x74]
jmp 0x40edd5
cmp byte [ebp - 0x71], bl
je 0x40c783
lea ecx, [ebp + 0x78]
call fcn.004441a1
push dword [ebp + 0x64]
mov dword [ebp + 0x40], ebx
call fcn.00412ce4
pop ecx
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x64], eax
call fcn.004441a1
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x70]
push eax
push dword [ebp + 0x64]
mov dword [ebp + 8], ebx
call fcn.004959d9
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, ebx
jne 0x40c60b
lea ecx, [ebp + 0x70]
call fcn.0043dd41
lea ecx, [ebp + 0x78]
jmp 0x40c545
mov word [eax - 2], bx
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push dword [ebp + 0x70]
lea ecx, [ebp - 0x48]
mov dword [ebp + 0x74], eax
call fcn.0044cf2d
push dword [ebp + 8]
mov edi, dword [ebp - 0x48]
lea ecx, [ebp + 0x7c]
call fcn.0044cf2d
push dword [ebp + 0x74]
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x7c]
push edi
call fcn.00406730
add esp, 0x14
cmp dword [ebp + 0x40], ebx
mov edi, 0x100
jle 0x40c6a2
mov eax, dword [ebp + 0x4c]
cmp dword [eax + 0x28], ebx
jne 0x40c663
push ebx
push eax
call fcn.00412570
pop ecx
pop ecx
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax + 0x28]
xor esi, esi
cmp eax, ebx
je 0x40c672
mov esi, dword [eax + 0x18]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push ebx
push esi
push ebx
push dword [ebp - 0x190]
push dword [ebp - 0x194]
push 0x128
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_TrackPopupMenu]
push ebx
push ebx
push ebx
push esi
mov edi, eax
call dword [sym.imp.USER32.dll_PostMessageW]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_DestroyMenu]
lea eax, [edi - 0x100]
cmp eax, ebx
jl 0x40c763
cmp eax, dword [ebp + 0x40]
jge 0x40c763
cmp eax, ebx
mov ecx, dword [ebp + 0x78]
mov dword [ebp + 0x74], ecx
jle 0x40c707
mov esi, eax
lea eax, [ebp + 0x74]
call fcn.004143d1
mov eax, dword [ebp + 0x74]
movzx eax, word [eax]
push eax
call fcn.0043dcc2
add esp, 4
test al, al
je 0x40c6ed
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
movzx eax, word [eax]
push eax
call fcn.0043dcc2
add esp, 4
test al, al
je 0x40c704
add dword [ebp + 0x74], 2
dec esi
jne 0x40c6ce
mov esi, dword [ebp + 0x74]
lea eax, [ebp + 0x74]
call fcn.004143d1
mov eax, dword [ebp + 0x74]
mov word [eax], bx
cmp word [esi], bx
je 0x40c763
push 0xffffffffffffffff
push str.__k:0
lea ecx, [ebp + 0x68]
call fcn.0044cf63
push dword [ebp + 0x64]
lea ecx, [ebp + 0x68]
call fcn.0044420d
push 0x4bdc98
lea ecx, [ebp + 0x68]
call fcn.0044420d
push esi
lea ecx, [ebp + 0x68]
call fcn.0044420d
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp + 0x68]
call fcn.00469eab
lea ecx, [ebp + 0x68]
mov ebx, eax
call fcn.0043dd41
lea ecx, [ebp + 0x7c]
call fcn.0043dd41
lea ecx, [ebp - 0x48]
call fcn.0043dd41
lea ecx, [ebp + 0x70]
call fcn.0043dd41
lea ecx, [ebp + 0x78]
jmp 0x40edd5
push dword [ebp + 0x64]
lea ecx, [ebp - 0x120]
call fcn.0044cf2d
cmp byte [ebp - 0x2d], bl
je 0x40c853
push str.PECMDpecmd_cmd
lea ecx, [ebp - 0x120]
call fcn.0044cff1
push 1
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.00419ea1
add esp, 0xc
push eax
lea ecx, [ebp - 0x120]
mov dword [ebp + 0x64], eax
call fcn.0044420d
lea eax, [ebp - 0xe8]
push eax
call fcn.004047f3
pop ecx
mov dword [ebp + 0x28], eax
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10000000
mov eax, dword [ebp - 0x120]
mov dword [ebp + 0x64], eax
je 0x40c7f1
cmp byte [ebp - 0x59], bl
je 0x40c7fb
lea eax, [ebp - 0x270]
or byte [eax + 0x2c], 0x80
xor edi, edi
cmp ecx, ebx
je 0x40c80f
lea eax, [ebp - 0x270]
or dword [eax + 0x2c], 1
mov word [eax + 0x30], cx
mov al, byte [ebp + 0x1b]
and al, 3
inc edi
cmp al, 3
je 0x40c81e
cmp byte [ebp - 0x31], bl
je 0x40c828
lea eax, [ebp - 0x270]
or byte [eax + 0x2f], 8
cmp dword [ebp - 0x114], ebx
jg 0x40dfc7
lea eax, [ebp - 0x270]
cmp dword [eax + 8], ebx
je 0x40cb0d
cmp byte [ebp + 0x1b], bl
jle 0x40cb0d
mov eax, edi
jmp 0x40cb0f
cmp byte [ebp - 0x41], bl
je 0x40c7d8
cmp dword [ebp - 0x14], esi
je 0x40c7d8
mov eax, dword [ebp - 0x120]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
mov dword [ebp + 4], ebx
call fcn.00419ea1
mov esi, eax
mov eax, dword [ebp + 0x64]
mov dword [ebp + 4], eax
push 3
lea eax, [ebp + 4]
push eax
push 0x4bdc94
call fcn.004460ea
add esp, 0x18
test al, al
jne 0x40c95d
push 7
lea eax, [ebp + 4]
push eax
push str.cmd.exe
call fcn.004460ea
add esp, 0xc
test al, al
jne 0x40c95d
cmp dword [0x4d7cb8], ebx
jne 0x40c907
push ebx
push 0x24
lea eax, [ebp - 0x5a0]
push eax
push ebx
mov word [ebp - 0x5a0], bx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x5a0]
mov edi, 0x4d7cb8
push eax
mov ecx, edi
call fcn.0044cff1
push str.System32cmd.exe
mov ecx, edi
call fcn.0044420d
push dword [0x4d7cb8]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x4d7c68], ax
movsx eax, word [0x4d7c68]
push eax
push dword [ebp + 4]
mov dword [ebp + 0x38], ebx
push dword [0x4d7cb8]
call fcn.00402cee
add esp, 0xc
test al, al
je 0x40c9d2
movsx eax, word [0x4d7c68]
mov ecx, dword [ebp + 4]
lea ecx, [ecx + eax*2]
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x22
je 0x40c950
call fcn.0040f4c7
test al, al
je 0x40c9d2
lea eax, [ebp + 4]
push eax
mov dword [ebp + 4], ecx
call fcn.00408ddd
pop ecx
push 2
lea eax, [ebp + 4]
push eax
push 0x4bdc64
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40c9d2
mov eax, dword [ebp + 4]
cmp word [eax], 0x22
jne 0x40c9b8
add eax, 2
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043dcd9
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x22
pop ecx
je 0x40c9ad
push 4
lea eax, [ebp + 0x78]
push eax
push str.call
call fcn.004460ea
add esp, 0xc
test al, al
je 0x40c9b5
mov eax, dword [ebp + 0x78]
mov dword [ebp + 4], eax
jmp 0x40c9b8
mov eax, dword [ebp + 4]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.00419ea1
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 0x40c7d8
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 0x40ca0f
push 4
push str..bat
lea eax, [esi - 8]
push eax
call edi
test eax, eax
jne 0x40c7d8
mov ax, word [esi]
push 0x64
pop ecx
push ebx
push 0x80
push 3
mov word [ebp - 0xa8], ax
xor eax, eax
push ebx
lea edi, [ebp - 0x52c]
rep stosd dword es:[edi], eax
push 7
push 0xc0000000
mov word [esi], bx
push dword [ebp + 0x64]
stosb byte es:[edi], al
lea ecx, [ebp + 0x40]
lea edi, [ebp - 0x52c]
mov byte [ebp + 0x7b], bl
mov dword [ebp + 0x40], ebx
call fcn.0040569f
push ebx
lea eax, [ebp - 0xac]
push eax
push 0x190
mov eax, edi
push eax
push dword [ebp + 0x40]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0xb
mov eax, edi
push eax
push str.::hidecmd::
call dword [sym.imp.SHLWAPI.dll_StrCmpNIA]
test eax, eax
jne 0x40cab0
mov al, byte [ebp - 0x52c]
mov dword [ebp - 0x14], 0x10000000
jmp 0x40ca98
cmp al, 0xd
je 0x40ca9f
cmp al, 0xa
je 0x40ca9f
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x40ca8d
jmp 0x40ca9f
inc edi
movsx ax, byte [edi]
push eax
call fcn.0043dcc2
add esp, 4
test al, al
jne 0x40ca9e
cmp dword [ebp + 0x38], ebx
jne 0x40cae0
cmp byte [edi], 0x3a
jne 0x40cac5
cmp byte [edi + 1], 0x3a
jne 0x40cac5
inc edi
inc edi
jmp 0x40cac5
inc edi
cmp byte [edi], 0x40
je 0x40cac4
push 7
push edi
push 0x4bdc30
call dword [sym.imp.SHLWAPI.dll_StrCmpNIA]
test eax, eax
jne 0x40cae0
mov byte [ebp + 0x7b], 1
lea ecx, [ebp + 0x40]
call fcn.00402c9f
cmp byte [ebp + 0x7b], bl
mov ax, word [ebp - 0xa8]
mov word [esi], ax
je 0x40c7d8
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x4c]
call fcn.0042300e
mov ebx, eax
jmp 0x40edcf
xor eax, eax
cmp eax, ebx
mov dword [ebp + 0x1c], ebx
mov dword [ebp - 0x80], ebx
je 0x40cb23
mov dword [ebp - 0x80], edi
mov dword [ebp + 0x1c], 4
cmp byte [ebp - 0x61], bl
je 0x40cb2c
or dword [ebp + 0x1c], 0x10
push eax
lea ecx, [ebp - 0xa8]
call fcn.00402d86
cmp byte [0x4d7e7c], bl
mov esi, dword [ebp + 0x68]
mov dword [ebp + 0x38], 0x4d80e0
jne 0x40cb65
cmp esi, ebx
je 0x40cb53
cmp byte [esi + 8], bl
jne 0x40cb65
cmp byte [ebp - 0x51], bl
mov byte [ebp + 0x7b], bl
je 0x40cb69
cmp esi, ebx
je 0x40cb69
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x38], eax
mov byte [ebp + 0x7b], 1
push ebx
lea ecx, [ebp + 0x40]
call fcn.0044cf2d
cmp byte [ebp + 0x7b], bl
mov dword [ebp + 0x68], ebx
je 0x40ce06
push 0x4d8d1c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push ebx
lea ecx, [ebp - 0x30c]
call fcn.00414b22
cmp esi, ebx
je 0x40cba8
push dword [ebp + 0x38]
lea ecx, [ebp - 0x30c]
push esi
call fcn.00440512
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov edi, eax
push 0x106
lea ecx, [ebp]
mov dword [ebp - 0xc4], edi
call fcn.004441bf
mov eax, dword [ebp]
mov dword [ebp + 0x68], eax
jmp 0x40cc44
mov dword [ebp + 0x78], edi
jmp 0x40cbd6
cmp ax, 0x3d
je 0x40cbe0
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40cbd0
mov esi, edi
sub esi, dword [ebp + 0x78]
sar esi, 1
cmp word [edi], bx
je 0x40cc42
cmp word [edi + 2], bx
je 0x40cc3d
cmp esi, 0x104
jg 0x40cc3d
push esi
push dword [ebp + 0x78]
push dword [ebp + 0x68]
call fcn.0040561e
mov eax, dword [ebp + 0x68]
add esp, 0xc
push ebx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x30c]
mov word [eax + esi*2], bx
call fcn.004108b2
test eax, eax
jne 0x40cc3d
push 0xffffffffffffffff
push esi
lea eax, [edi + 2]
push eax
push dword [ebp + 0x78]
lea ecx, [ebp - 0x30c]
call fcn.00414be3
jmp 0x40cc3d
inc edi
inc edi
cmp word [edi], bx
jne 0x40cc3b
inc edi
inc edi
cmp word [edi], bx
jne 0x40cbcb
push dword [ebp - 0xc4]
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, dword [ebp - 0x308]
xor esi, esi
cmp eax, ebx
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x78], ebx
jle 0x40cd0e
mov eax, dword [ebp + 0x78]
mov dword [ebp - 0x90], eax
inc eax
cmp eax, dword [ebp + 0x3c]
mov dword [ebp - 0xe4], eax
mov dword [ebp + 0x68], eax
jge 0x40ccfc
mov eax, dword [ebp + 0x78]
shl eax, 2
mov dword [ebp - 0xc4], eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp + 0x38]
mov ecx, dword [ecx + eax]
mov edi, dword [ebp + 0x68]
mov ecx, dword [ecx]
shl edi, 2
mov eax, dword [edi + eax]
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jge 0x40ccc5
mov ecx, dword [ebp + 0x68]
mov dword [ebp - 0x90], ecx
mov dword [ebp + 0x38], edi
jmp 0x40cccb
mov ecx, dword [ebp - 0x90]
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x3c]
jl 0x40cc92
cmp ecx, dword [ebp + 0x78]
je 0x40ccfc
mov edx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0xc4]
add eax, edx
mov edi, dword [eax]
shl ecx, 2
mov edx, dword [ecx + edx]
mov dword [eax], edx
mov eax, dword [ebp - 0x30c]
mov dword [ecx + eax], edi
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp + 0x3c]
mov dword [ebp + 0x78], eax
jl 0x40cc6b
cmp dword [ebp + 0x3c], ebx
mov dword [ebp + 0x78], ebx
jle 0x40cd50
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp + 0x78]
mov eax, dword [eax + ecx*4]
push dword [eax]
call edi
mov ecx, dword [ebp + 0x78]
lea esi, [esi + eax + 1]
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + ecx*4]
push dword [eax + 4]
call edi
inc dword [ebp + 0x78]
lea esi, [esi + eax + 3]
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x3c]
jl 0x40cd1c
add esi, 4
push esi
lea ecx, [ebp + 0x40]
call fcn.004441e6
mov edi, dword [ebp + 0x40]
xor esi, esi
cmp dword [ebp + 0x3c], ebx
mov dword [ebp + 0x68], edi
jle 0x40cdd2
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + esi*4]
mov eax, dword [eax]
push eax
mov dword [ebp + 0x78], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push dword [ebp + 0x78]
mov dword [ebp + 8], eax
push edi
call fcn.0040561e
mov eax, dword [ebp + 8]
lea edi, [edi + eax*2]
mov word [edi], 0x3d
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 4]
add esp, 0xc
inc edi
push eax
inc edi
mov dword [ebp + 0x78], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push dword [ebp + 0x78]
mov dword [ebp + 8], eax
push edi
call fcn.0040561e
mov eax, dword [ebp + 8]
lea edi, [edi + eax*2]
add esp, 0xc
mov word [edi], bx
inc edi
inc edi
inc esi
cmp esi, dword [ebp + 0x3c]
jl 0x40cd69
mov word [edi], bx
lea ecx, [ebp]
mov word [edi + 2], bx
call fcn.0043dd41
push ebx
lea ecx, [ebp - 0x30c]
call fcn.00435590
lea ecx, [ebp - 0x2cc]
call fcn.0043dd41
push 0x4d8d1c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor edi, edi
inc edi
mov ecx, dword [ebp - 0x60]
xor al, al
cmp word [ecx], 0x40
jne 0x40ce15
inc al
jmp 0x40ce1f
cmp dword [ebp - 0xcc], ebx
je 0x40ce1f
mov al, 2
cmp word [ebp + 0x34], bx
je 0x40cf25
or dword [ebp + 0x20], edi
or dword [ebp + 0x34], 8
neg al
sbb eax, eax
and eax, 0xfff01000
add eax, 0x100000
mov esi, eax
call fcn.00440360
push eax
lea eax, [ebp - 0x290]
push str..pipepecmd_exec__u
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push ebx
push edi
push esi
push esi
push 0xff
push 6
push 0x40000003
lea eax, [ebp - 0x290]
push eax
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
cmp eax, ebx
mov dword [ebp - 0x78], eax
je 0x40cebe
cmp eax, 0xffffffff
je 0x40cebe
push 0xffffffffffffffff
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp + 0x78]
call fcn.0044cf63
push ebx
push ebx
push 3
lea ecx, [ebp - 0x1a8]
push ecx
push 7
push 0xc0000000
push dword [eax]
lea ecx, [ebp - 0xdc]
call fcn.0040569f
lea ecx, [ebp + 0x78]
call fcn.0043dd41
jmp 0x40cec5
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [ebp - 0xdc]
push ebx
push ebx
lea eax, [ebp - 0xc4]
push eax
push esi
mov dword [ebp - 0xc4], 2
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
push ebx
push edi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x270]
or byte [eax + 0x2d], 1
test byte [ebp + 0x32], 2
mov dword [ebp - 0xa0], edi
mov dword [ebp - 4], edi
jne 0x40cf19
cmp byte [ebp + 0x32], bl
jne 0x40cf1c
mov dword [eax + 0x3c], esi
test byte [ebp + 0x32], 1
je 0x40cf25
mov dword [eax + 0x40], esi
mov eax, 0x4d8d1c
push eax
mov dword [ebp - 0xac], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0x68]
neg eax
sbb eax, eax
and eax, 0x400
or eax, dword [ebp - 0x24]
mov dword [ebp + 0x3c], ebx
or dword [ebp + 0x1c], eax
cmp byte [ebp - 0x2e], bl
mov dword [ebp - 0x38], ebx
mov dword [ebp], ebx
je 0x40cf5e
or dword [ebp + 0x1c], 0x1000004
cmp byte [ebp - 0x39], bl
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xe4], ebx
je 0x40cf82
lea eax, [ebp - 0xc4]
push eax
call fcn.00403ecb
pop ecx
mov dword [ebp - 0xe4], eax
cmp byte [ebp + 0x47], bl
mov esi, dword [ebp + 0x28]
je 0x40cf92
cmp esi, ebx
je 0x40dd54
cmp byte [ebp - 0x6a], bl
je 0x40d054
cmp word [ebp - 0x2c], bx
jne 0x40d054
cmp word [ebp + 0xc], bx
jne 0x40d054
push dword [ebp + 0x64]
lea eax, [ebp + 0x3c]
push esi
push dword [ebp + 0x50]
push eax
call fcn.0040471f
mov edi, eax
push edi
call fcn.00404817
add esp, 0x14
test eax, eax
jne 0x40d26e
cmp dword [ebp - 0x10], ebx
push ebx
je 0x40d018
movzx eax, word [ebp - 0x10]
push 0x4bd418
push ebx
or eax, 2
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp + 0x1c]
push edi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.00405766
add esp, 0x38
mov dword [ebp - 8], eax
jmp 0x40db22
call fcn.00404684
pop ecx
mov dword [ebp - 0x160], eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp + 0x1c]
push edi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
push dword [ebp - 0x160]
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
jmp 0x40d010
mov eax, dword [ebp - 0xbc]
cmp word [eax], bx
je 0x40d240
cmp word [ebp - 0x2c], bx
jne 0x40d240
cmp word [ebp + 0xc], bx
jne 0x40d240
xor edi, edi
inc edi
cmp byte [ebp - 0x2f], bl
mov dword [ebp - 8], ebx
je 0x40d0e0
push eax
lea ecx, [ebp - 0x84]
call fcn.00402d18
lea ecx, [ebp + 0x78]
call fcn.0044402d
push dword [ebp - 0xbc]
call fcn.0043dc4f
lea eax, [ebp + 0x78]
push eax
push dword [ebp - 0x84]
call fcn.00449613
add esp, 0xc
push 0xffffffffffffffff
mov edi, eax
neg edi
push 0xffffffffffffffff
push dword [ebp + 0x78]
sbb edi, edi
lea ecx, [ebp - 0xbc]
neg edi
call fcn.0044425c
lea ecx, [ebp + 0x78]
call fcn.0043dc90
lea ecx, [ebp - 0x84]
call fcn.0043dc90
cmp byte [ebp - 9], bl
je 0x40d14f
push dword [ebp - 0xb8]
lea ecx, [ebp - 0x84]
call fcn.00402d18
lea ecx, [ebp + 0x78]
call fcn.0044402d
push dword [ebp - 0xb8]
call fcn.0043dc4f
cmp edi, ebx
pop ecx
je 0x40d128
lea eax, [ebp + 0x78]
push eax
push dword [ebp - 0x84]
call fcn.00449613
test eax, eax
pop ecx
pop ecx
je 0x40d128
xor edi, edi
inc edi
jmp 0x40d12a
xor edi, edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x78]
lea ecx, [ebp - 0xb8]
call fcn.0044425c
lea ecx, [ebp + 0x78]
call fcn.0043dc90
lea ecx, [ebp - 0x84]
call fcn.0043dc90
cmp edi, ebx
je 0x40d223
mov edi, dword [ebp - 0xbc]
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
push 0x40
push edi
call esi
cmp eax, ebx
jne 0x40d175
push 0x5c
push edi
call esi
cmp eax, ebx
je 0x40d183
mov word [eax], bx
mov esi, dword [ebp - 0xbc]
lea edi, [eax + 2]
jmp 0x40d188
mov esi, 0x4bd418
push dword [ebp + 0x64]
lea eax, [ebp + 0x3c]
push dword [ebp + 0x28]
push dword [ebp + 0x50]
push eax
call fcn.0040471f
push eax
mov dword [ebp + 0x50], eax
call fcn.00404817
add esp, 0x14
test eax, eax
jne 0x40d26e
cmp dword [ebp - 0x10], ebx
je 0x40d1ee
push dword [ebp - 0xb8]
movzx eax, word [ebp - 0x10]
push esi
push edi
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x68]
or eax, 1
push eax
push ebx
push ebx
push ebx
push dword [ebp + 0x64]
push dword [ebp + 0x28]
call fcn.00405766
add esp, 0x38
jmp 0x40d220
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x68]
or eax, 1
push dword [ebp + 0x1c]
push dword [ebp + 0x64]
push dword [ebp + 0x28]
push eax
push dword [ebp - 0xb8]
push esi
push edi
call dword [sym.imp.ADVAPI32.dll_CreateProcessWithLogonW]
mov dword [ebp - 8], eax
push dword [ebp - 0xb8]
call fcn.0043dc4f
push dword [ebp - 0xbc]
call fcn.0043dc4f
pop ecx
pop ecx
jmp 0x40db22
cmp byte [ebp + 0x33], bl
je 0x40d2c1
cmp esi, ebx
je 0x40d24f
cmp word [esi], 0x26
je 0x40d2c1
cmp word [ebp - 0x20], bx
jne 0x40d2c1
cmp word [ebp - 0x2c], bx
jne 0x40d2c1
cmp word [ebp + 0xc], bx
jne 0x40d2c1
push dword [ebp + 0x50]
call fcn.00404817
test eax, eax
pop ecx
je 0x40d27a
mov dword [ebp + 0x14], 3
jmp 0x40de5f
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
push dword [ebp + 0x68]
push dword [ebp + 0x1c]
push dword [ebp - 4]
push dword [ebp + 0x64]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.00499a95
xor ecx, ecx
add esp, 0x2c
test eax, eax
setg cl
mov dword [ebp - 8], ecx
jmp 0x40db22
lea ecx, [ebp - 0xd8]
mov dword [ebp + 0x28], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp + 0x78], esi
mov dword [ebp - 0x68], esi
call fcn.0044402d
cmp word [ebp + 0xc], bx
lea eax, [ebp - 0x90]
mov dword [ebp - 0x7c], eax
lea eax, [ebp + 0x58]
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 8], eax
je 0x40d3b4
push 0x22
pop edi
cmp word [esi], di
jne 0x40d31d
add esi, 2
mov dword [ebp + 0x78], esi
push 0x3a
lea eax, [ebp + 0x78]
mov dword [ebp - 0xa4], esi
call fcn.00405636
mov eax, dword [ebp + 0x78]
cmp eax, esi
pop ecx
je 0x40d33f
cmp word [eax - 2], di
jne 0x40d33f
mov word [eax - 2], bx
cmp word [eax], 0x3a
jne 0x40d34a
mov word [eax], bx
inc eax
inc eax
cmp word [eax], di
mov esi, eax
jne 0x40d363
lea esi, [eax + 2]
inc eax
inc eax
cmp word [eax], di
jne 0x40d35e
mov word [eax], bx
cmp word [eax], bx
jne 0x40d354
cmp word [ebp - 0x2c], bx
je 0x40d381
push 0x3a
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp + 0x28], eax
je 0x40d381
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x28], eax
push ebx
push ebx
push 0x10000
push esi
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0xa4]
call fcn.0043b8c1
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd0]
add esp, 0x18
add ecx, eax
mov dword [ebp + 0x14], ecx
jmp 0x40d5e5
cmp esi, ebx
je 0x40d486
cmp word [esi], 0x26
jne 0x40d46d
mov ecx, dword [ebp + 0x4c]
push ebx
push 0xffffffffffffffff
push ebx
push esi
call fcn.004108b2
mov esi, eax
cmp esi, ebx
jne 0x40d434
lea ecx, [ebp + 0x58]
call fcn.0043dd41
lea ecx, [ebp - 0xd8]
call fcn.0043dd41
lea ecx, [ebp - 0x24]
call fcn.0043dd41
lea ecx, [ebp]
call fcn.0043dd41
lea ecx, [ebp - 0x38]
call fcn.0043dd41
lea ecx, [ebp + 0x3c]
call fcn.0043dd41
push 0x4d8d1c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp + 0x40]
call fcn.0043dd41
lea ecx, [ebp - 0xa8]
call fcn.0043ddaa
mov ebx, 0x80070057
jmp 0x40edcf
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xd4], eax
add eax, 0x10
push eax
lea ecx, [ebp - 0xd8]
call fcn.0044406f
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xd4]
inc eax
push eax
push dword [esi + 4]
push dword [ebp - 0xd8]
call fcn.00413fe3
add esp, 0xc
jmp 0x40d5e5
mov al, byte [ebp + 0x31]
neg al
sbb eax, eax
and eax, 2
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.0044b806
pop ecx
pop ecx
mov dword [ebp - 0x70], eax
mov edi, dword [ebp - 0x70]
cmp edi, ebx
mov dword [ebp - 0x19c], ebx
jne 0x40d529
mov eax, dword [ebp + 0x64]
cmp eax, ebx
je 0x40d4a7
cmp word [eax], 0x2a
jne 0x40d4a7
inc dword [ebp - 0x20]
cmp byte [ebp + 0x33], bl
je 0x40d4af
mov dword [ebp - 0x20], ebx
cmp word [ebp - 0x2c], bx
je 0x40db3b
push 0x3a
push ebx
push dword [ebp - 0x68]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov edi, eax
cmp edi, ebx
mov dword [ebp + 0x28], edi
je 0x40d51e
push 2
pop eax
mov word [edi], bx
add edi, eax
mov dword [ebp + 0x28], edi
je 0x40d51e
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x68]
cmp word [eax], 0x22
mov dword [ebp - 0x7c], ebx
mov dword [ebp + 8], ebx
jne 0x40d50e
inc eax
inc eax
mov dword [ebp - 0x68], eax
mov dword [ebp + 0x78], eax
push 0x22
lea eax, [ebp + 0x78]
call fcn.00405636
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
je 0x40d50e
mov word [eax], bx
push dword [ebp - 0x68]
lea ecx, [ebp + 0x58]
call fcn.0044cf95
jmp 0x40d617
mov edi, dword [ebp - 0x70]
cmp edi, ebx
je 0x40db3b
cmp word [ebp - 0x2c], bx
je 0x40d548
push 0x3a
push ebx
push edi
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
mov dword [ebp + 0x28], eax
je 0x40d548
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x28], eax
add dword [ebp - 0x70], 2
push str.EXEDATA
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00453671
mov ecx, dword [0x4d7f98]
mov si, word [edi]
mov word [edi], bx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0xa4], eax
mov dword [ebp + 0x38], 0x20
mov ax, word [edx]
add esp, 0xc
cmp ax, 0x2e
mov dword [ebp + 0x78], ebx
jne 0x40d592
cmp word [edx + 2], bx
je 0x40d5a6
cmp ax, bx
je 0x40d5a6
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 0x40d5d7
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0xa4]
mov dword [ebp + 0x38], 0x20
push dword [ebp - 0x19c]
push ecx
call fcn.00414f82
add esp, 0x14
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x78], ebx
je 0x40d5e5
push dword [ebp + 0x78]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0xd4], ebx
je 0x40db07
cmp dword [ebp + 0x14], ebx
je 0x40db07
cmp word [ebp - 0x20], bx
mov dword [ebp - 0x118], 1
ja 0x40d614
cmp word [ebp - 0x2c], bx
je 0x40da2c
mov edi, dword [ebp + 0x28]
cmp dword [ebp + 8], ebx
mov eax, dword [ebp - 0x124]
jne 0x40d627
mov eax, 0x4bd294
push eax
push str.exedat
push dword [ebp - 0x7c]
lea eax, [ebp - 0x58]
push dword [ebp + 8]
push eax
call fcn.00405a60
add esp, 0x14
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x38]
call fcn.0044cfc3
mov esi, dword [ebp - 0x90]
lea eax, [ebp + 0x58]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x90]
cmp esi, ebx
mov dword [ebp - 0x7c], eax
setne al
cmp al, bl
mov dword [ebp - 0x144], ebx
je 0x40d697
push ebx
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0xd4]
push dword [ebp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call fcn.00441b80
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40d6a4
cmp dword [ebp - 0x118], 1
jle 0x40db07
cmp edi, ebx
push dword [ebp - 0x58]
mov byte [ebp + 0x7b], bl
je 0x40d802
mov eax, dword [ebp + 0x58]
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x58], ebx
call fcn.0044cff1
push str..ex
lea ecx, [ebp + 0x58]
call fcn.0044420d
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp - 0x38]
call fcn.0044cfc3
cmp word [edi], 0x5c
mov esi, edi
je 0x40d6ec
lea esi, [edi - 2]
mov word [esi], 0x5c
push ebx
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp word [ebp - 0x2c], 1
jne 0x40d745
push 0x4bdbd8
lea ecx, [ebp + 0xc]
call fcn.00401000
push dword [ebp + 0x38]
lea ecx, [ebp + 0xc]
call fcn.0044420d
push 0x4bdbd0
lea ecx, [ebp + 0xc]
call fcn.0044420d
push dword [ebp + 0x58]
lea ecx, [ebp + 0xc]
call fcn.0044420d
push dword [ebp + 0xc]
mov ecx, dword [ebp + 0x4c]
call fcn.004301e8
lea ecx, [ebp + 0xc]
call fcn.0043dd41
jmp 0x40d7e3
cmp word [ebp - 0x2c], 0x100
jne 0x40d7e3
push 0xf
pop ecx
xor eax, eax
mov dword [ebp - 0x398], 0x44
mov dword [ebp - 0x394], ebx
lea edi, [ebp - 0x390]
rep stosd dword es:[edi], eax
mov dword [ebp - 0xfc], ebx
lea edi, [ebp - 0xf8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x398]
push eax
push dword [ebp - 0x38]
mov dword [ebp - 0x36c], 0x80
push ebx
push dword [ebp - 0x1c]
push ebx
push ebx
push ebx
push 0x4bdbc8
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
push 0xffffffffffffffff
push dword [ebp - 0xfc]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [ebp - 0xfc], ebx
je 0x40d7cf
push dword [ebp - 0xfc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0xf8], ebx
je 0x40d7e3
push dword [ebp - 0xf8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
lea ecx, [ebp + 0x58]
call fcn.0044420d
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp + 0x3c]
call fcn.0044cfc3
lea ecx, [ebp + 0x38]
call fcn.0043dd41
jmp 0x40d80a
lea ecx, [ebp - 0x38]
call fcn.0044cff1
mov edx, dword [ebp + 0x64]
mov si, word [edx]
cmp si, 0x22
mov eax, edx
jne 0x40d81b
lea eax, [edx + 2]
cmp word [eax], 0x3f
jne 0x40d8a8
lea edi, [eax + 2]
mov cx, word [edi]
cmp cx, 0x3f
jne 0x40d839
mov esi, dword [ebp + 0x58]
lea edi, [eax + 4]
jmp 0x40d87d
cmp cx, 0x5c
jne 0x40d8a8
cmp si, 0x22
je 0x40d87a
mov eax, dword [ebp - 0x38]
mov esi, 0x104
push esi
lea ecx, [ebp - 0x38]
mov dword [ebp + 0x38], eax
mov dword [ebp - 0x38], ebx
call fcn.004441e6
mov eax, dword [ebp - 0x38]
push esi
mov word [eax], bx
push dword [ebp - 0x38]
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
lea ecx, [ebp + 0x38]
call fcn.0043dd41
mov edx, dword [ebp + 0x64]
mov esi, dword [ebp - 0x38]
cmp word [edx], 0x22
jne 0x40d890
push 0x4bcca8
lea ecx, [ebp]
call fcn.0044cff1
push esi
lea ecx, [ebp]
call fcn.0044420d
push edi
lea ecx, [ebp]
call fcn.0044420d
mov edx, dword [ebp]
mov dword [ebp + 0x64], edx
cmp dword [ebp + 0x28], ebx
je 0x40d90b
cmp word [ebp - 0x20], bx
ja 0x40d8e1
lea eax, [ebp - 0xd8]
push eax
push dword [ebp + 0x3c]
mov dword [ebp + 0x28], ebx
call fcn.00414946
cmp dword [ebp - 0xd4], ebx
pop ecx
pop ecx
je 0x40d908
mov eax, dword [ebp - 0xd8]
mov byte [ebp + 0x7b], 1
mov dword [ebp + 0x14], eax
jmp 0x40d9fd
cmp byte [ebp + 0x47], bl
je 0x40d90b
cmp dword [ebp + 0x50], ebx
jne 0x40d8f1
mov eax, dword [ebp - 0x38]
mov dword [ebp + 0x50], eax
cmp word [ebp - 0x20], 2
mov dword [ebp + 0x28], ebx
mov byte [ebp + 0x7b], 2
jb 0x40dd39
jmp 0x40d9fd
mov edx, dword [ebp + 0x64]
cmp dword [ebp + 0x28], ebx
mov edi, dword [ebp + 0x58]
je 0x40d91d
mov eax, dword [ebp + 0x28]
cmp word [eax], bx
jne 0x40d91d
xor edi, edi
mov eax, dword [ebp + 0x50]
cmp eax, ebx
jne 0x40d927
mov eax, dword [ebp - 0x38]
push edx
push dword [ebp + 0x58]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.0040471f
mov esi, eax
push esi
mov dword [ebp + 0x50], esi
call fcn.00404817
add esp, 0x14
test eax, eax
jne 0x40db5b
cmp dword [ebp + 0x24], ebx
je 0x40d97f
push dword [ebp + 0x24]
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp + 0x1c]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.0040305b
add esp, 0x2c
jmp 0x40d9e6
cmp dword [ebp - 0x10], ebx
je 0x40d9bc
movzx eax, word [ebp - 0x10]
push ebx
push 0x4bd418
push ebx
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp + 0x1c]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00405766
add esp, 0x38
jmp 0x40d9e6
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp + 0x1c]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.004a985f
add esp, 0x28
cmp byte [ebp - 0x20], 2
mov dword [ebp - 8], eax
jl 0x40db07
cmp word [ebp - 0x2c], bx
jne 0x40db07
cmp byte [ebp + 0x7b], 1
jne 0x40da08
or eax, 0xffffffff
jmp 0x40da11
lea eax, [ebp - 0x18c]
mov eax, dword [eax + 8]
push eax
push dword [ebp - 0x58]
call fcn.004038ff
cmp byte [ebp + 0x7b], 1
mov eax, dword [ebp - 0x58]
pop ecx
pop ecx
mov word [eax], bx
jne 0x40db32
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x22
mov edi, eax
jne 0x40da3a
add eax, 2
cmp word [eax], 0x3f
mov dword [ebp + 0x38], ebx
jne 0x40da61
cmp word [eax + 2], 0x5c
jne 0x40da61
lea edi, [eax + 4]
cmp word [edi], 0x22
jne 0x40da61
dec edi
dec edi
mov ax, word [edi]
mov word [ebp + 0x38], ax
mov word [edi], 0x22
push dword [ebp + 0x50]
call fcn.00404817
test eax, eax
pop ecx
jne 0x40db5b
lea eax, [ebp - 0x58]
push eax
push ebx
lea esi, [ebp - 0x18c]
push esi
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
push dword [ebp + 0x68]
push dword [ebp + 0x1c]
push dword [ebp - 4]
push edi
push dword [ebp - 0xd4]
push dword [ebp + 0x14]
call fcn.00499a95
add esp, 0x2c
cmp word [ebp + 0x38], bx
mov dword [ebp - 0xa4], eax
je 0x40dab6
mov ax, word [ebp + 0x38]
mov word [edi], ax
cmp dword [ebp - 0xa4], ebx
jl 0x40d614
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x40d614
push esi
push ebx
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, ebx
je 0x40d614
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
cmp dword [ebp - 0xa4], ebx
setg al
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x58]
cmp eax, ebx
je 0x40db07
cmp word [eax], bx
jne 0x40d9fd
lea ecx, [ebp + 0x58]
call fcn.0043dd41
lea ecx, [ebp - 0xd8]
call fcn.0043dd41
lea ecx, [ebp - 0x24]
call fcn.0043dd41
cmp dword [ebp - 8], ebx
je 0x40de51
xor eax, eax
jmp 0x40de57
cmp byte [ebp + 0x7b], 2
jmp 0x40dd33
push dword [ebp + 0x64]
lea eax, [ebp + 0x3c]
push esi
push dword [ebp + 0x50]
push eax
call fcn.0040471f
push eax
mov dword [ebp + 0x50], eax
call fcn.00404817
add esp, 0x14
test eax, eax
je 0x40db82
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x14], 3
call fcn.0043dd41
lea ecx, [ebp - 0xd8]
call fcn.0043dd41
lea ecx, [ebp - 0x24]
call fcn.0043dd41
jmp 0x40de5f
cmp word [ebp + 0x34], bx
jne 0x40dc05
push 0x5c
push ebx
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov edi, eax
cmp edi, ebx
je 0x40db9e
inc edi
inc edi
jmp 0x40dba1
mov edi, dword [ebp + 0x64]
push 8
push edi
push str.winpeshl
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40dbd3
xor eax, eax
mov ax, word [edi + 0x10]
cmp ax, bx
je 0x40dbcf
cmp ax, 0x2e
je 0x40dbcf
call fcn.0040f4c7
test al, al
je 0x40dbd3
mov byte [ebp + 0x13], 1
push 8
push edi
push str.wpeinit
call fcn.0043f11b
add esp, 0xc
test al, al
je 0x40dc05
xor eax, eax
mov ax, word [edi + 0xe]
cmp ax, bx
je 0x40dc01
cmp ax, 0x2e
je 0x40dc01
call fcn.0040f4c7
test al, al
je 0x40dc05
mov byte [ebp + 0x13], 1
test byte [ebp + 0x73], 1
jne 0x40dc10
cmp dword [ebp - 0x4c], ebx
je 0x40dc38
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.0043ef9c
add esp, 0x18
cmp dword [ebp + 0x24], ebx
je 0x40dc6e
push dword [ebp + 0x24]
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x1c]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.0040305b
add esp, 0x2c
jmp 0x40dcd9
cmp dword [ebp - 0x10], ebx
je 0x40dcad
movzx eax, word [ebp - 0x10]
push ebx
push 0x4bd418
push ebx
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x1c]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.00405766
add esp, 0x38
jmp 0x40dcd9
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x270]
push eax
push dword [ebp + 0x50]
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x1c]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push esi
call fcn.004a985f
add esp, 0x28
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x40dce3
mov byte [ebp + 0x13], bl
cmp byte [ebp + 0x13], bl
je 0x40dd0e
call fcn.0041a1a9
test eax, eax
je 0x40dcf5
or dword [ebp + 0x20], 1
cmp dword [ebp + 0x20], ebx
jne 0x40dd0e
push str.waitpeinit.pecmd
call fcn.004a9888
neg eax
sbb eax, eax
neg eax
pop ecx
mov dword [ebp + 0x20], eax
cmp dword [ebp - 8], ebx
jne 0x40db07
cmp byte [ebp + 0x47], bl
jne 0x40db07
cmp esi, ebx
jne 0x40db07
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xc1
jne 0x40db07
lea ecx, [ebp + 0x58]
call fcn.0043dd41
lea ecx, [ebp - 0xd8]
call fcn.0043dd41
lea ecx, [ebp - 0x24]
call fcn.0043dd41
push 0xd
xor eax, eax
pop ecx
lea edi, [ebp - 0x2a4]
mov dword [ebp - 0x2ac], 0x3c
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov dword [ebp - 0x2a8], 0x4540
jne 0x40dd7f
push 5
pop eax
movzx eax, ax
mov dword [ebp - 0x290], eax
mov eax, dword [ebp + 0x50]
cmp eax, ebx
je 0x40dd9a
cmp word [eax], bx
je 0x40dd9a
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x78], eax
mov dword [ebp - 0x29c], eax
push 1
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x68], ebx
call fcn.00419ea1
mov esi, eax
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [esi], bx
jne 0x40ddd6
cmp eax, dword [ebp + 0x64]
je 0x40ddf1
push dword [ebp + 0x68]
lea ecx, [ebp - 0x16c]
push eax
call fcn.004442c5
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x29c], eax
cmp word [esi], bx
je 0x40ddfc
mov dword [ebp - 0x298], esi
push ebx
push 0x4d7bd8
push str.Kernel32.DLL
push str.GetProcessID
call fcn.0043f18a
mov edi, dword [0x4d7bd8]
add esp, 0x10
lea eax, [ebp - 0x2ac]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp edi, ebx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x274]
lea esi, [ebp - 0x18c]
mov dword [esi], eax
mov dword [ebp - 0x274], ebx
je 0x40db22
push eax
call edi
mov dword [esi + 8], eax
jmp 0x40db22
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x74]
mov dword [ecx], eax
mov dword [ebp + 0x14], eax
lea ecx, [ebp - 0x98]
call fcn.00402c9f
cmp dword [ebp - 0xe4], ebx
je 0x40de7e
push dword [ebp - 0xc4]
call fcn.00403edc
pop ecx
lea esi, [ebp - 0xc8]
mov eax, dword [esi]
cmp eax, ebx
je 0x40de91
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x130], ebx
mov dword [esi], ebx
je 0x40deb5
push dword [ebp - 0x130]
lea eax, [ebp - 0x18c]
push dword [eax + 8]
push dword [ebp + 0x4c]
call fcn.0044673c
add esp, 0xc
mov edx, dword [ebp - 0x164]
cmp edx, ebx
je 0x40df05
push 0x26
pop esi
cmp word [edx], si
mov ecx, edx
jne 0x40ded8
lea eax, [edx + 2]
jmp 0x40ded3
mov ecx, eax
lea eax, [ecx + 2]
cmp word [eax], si
je 0x40dece
cmp word [ecx], si
mov eax, ecx
jne 0x40dee6
lea eax, [ecx + 2]
jmp 0x40dee6
inc eax
inc eax
cmp word [eax], 0x3a
je 0x40dee4
cmp word [eax], bx
je 0x40df05
push edx
lea eax, [ebp - 0x18c]
push dword [eax]
push dword [ebp + 0x4c]
call fcn.0042be83
add esp, 0xc
cmp byte [ebp - 0x2e], bl
je 0x40df2b
lea esi, [ebp - 0x18c]
cmp dword [esi], ebx
je 0x40df2b
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateJobObjectW]
push dword [esi]
mov dword [ebp - 0x104], eax
push eax
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
push str.__LastPID
lea edi, [ebp - 0x18c]
push dword [edi + 8]
push dword [ebp + 0x4c]
call fcn.0044673c
push str.__LastTID
push dword [edi + 0xc]
push dword [ebp + 0x4c]
call fcn.0044673c
add esp, 0x18
cmp dword [ebp - 0x80], ebx
je 0x40df6a
push dword [edi]
push 4
push str.SeDebugPrivilege
call fcn.00413149
add esp, 0xc
test byte [ebp + 0x1c], 4
je 0x40df7e
mov edi, dword [edi + 4]
cmp edi, ebx
je 0x40df7e
push edi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
lea ecx, [ebp]
call fcn.0043dd41
lea ecx, [ebp - 0x38]
call fcn.0043dd41
lea ecx, [ebp + 0x3c]
call fcn.0043dd41
lea ecx, [ebp - 0xac]
call fcn.00402c8e
lea ecx, [ebp + 0x40]
call fcn.0043dd41
lea ecx, [ebp - 0xa8]
call fcn.0043ddaa
lea eax, [ebp - 0xdc]
mov eax, dword [eax]
cmp eax, ebx
je 0x40dfc7
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0xdc]
lea edi, [ebp - 0xc0]
mov dword [eax], ebx
mov eax, dword [edi]
cmp eax, ebx
je 0x40dfe4
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x50]
mov eax, dword [edi]
cmp eax, ebx
je 0x40dff2
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x18]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e000
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0xe0]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e011
push eax
call esi
cmp byte [ebp + 0x73], bl
mov dword [edi], ebx
jne 0x40e01d
cmp byte [ebp + 0x30], bl
je 0x40e070
lea edi, [ebp - 0x18c]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e035
push 0x1388
push eax
call dword [sym.imp.USER32.dll_WaitForInputIdle]
cmp byte [ebp + 0x73], bl
je 0x40e070
test byte [ebp + 0x73], 1
je 0x40e057
mov eax, dword [edi]
push dword [edi + 8]
neg eax
sbb eax, eax
and eax, 2
or eax, 1
push eax
call fcn.0042ab23
pop ecx
pop ecx
cmp dword [ebp - 0x134], ebx
je 0x40e070
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push ebx
push dword [ebp - 0x134]
call fcn.0043362f
cmp dword [ebp - 8], ebx
jne 0x40e09c
cmp dword [ebp - 0x114], ebx
jg 0x40e09c
mov eax, dword [ebp - 0x60]
cmp word [eax], bx
je 0x40ebcd
mov ecx, dword [ebp + 0x4c]
push 0x4bca2c
push eax
call fcn.004438ac
jmp 0x40ebcd
lea edi, [ebp - 0x18c]
mov eax, dword [edi]
cmp eax, ebx
jne 0x40e0ab
mov dword [ebp + 0x20], ebx
mov ecx, dword [ebp - 0xa0]
inc dword [ebp - 0xa0]
mov dword [ebp + ecx*4 - 0x1b0], eax
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40e0c8
push eax
call esi
cmp dword [ebp - 0x4c], ebx
mov dword [edi + 4], ebx
je 0x40e11e
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push 0x3e8
call fcn.00415bb5
mov esi, dword [edi]
cmp esi, ebx
jne 0x40e10c
cmp dword [ebp - 0x114], ebx
jle 0x40e11e
push dword [ebp - 0x114]
push ebx
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
cmp esi, ebx
mov dword [ebp + 0x20], ebx
je 0x40ebcd
push esi
call fcn.00411cd3
cmp dword [edi], ebx
pop ecx
jne 0x40e11e
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp + 0x20], ebx
je 0x40ebcd
mov al, byte [0x4d62d4]
mov esi, 0x100000
push 0x100004
lea ecx, [ebp + 0x50]
mov byte [ebp + 0x7b], al
mov dword [ebp + 0xc], esi
xor edi, edi
call fcn.00402d06
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
cmp word [eax], 0x40
lea ecx, [eax + 2]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x84], ecx
mov byte [ebp + 0x73], bl
jne 0x40e25b
mov byte [ebp + 0x73], 1
mov dword [ebp - 0x1c], ecx
cmp byte [ebp - 0x69], bl
je 0x40e1d6
mov ecx, dword [ebp + 0x4c]
push ebx
lea eax, [ebp + 0x38]
push eax
push dword [ebp - 0x1c]
mov dword [ebp + 0x38], ebx
call fcn.0044bcb5
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x38]
lea ecx, [ebp + 0x50]
call fcn.00444129
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
lea esi, [edi + 0x3ff]
and esi, 0xfffffc00
add esi, 0x100000
lea eax, [esi + 8]
push eax
lea ecx, [ebp + 0x50]
mov dword [ebp + 0xc], esi
call fcn.0044406f
lea ecx, [ebp + 0x38]
call fcn.0043dd41
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [ebp - 0x9c], ebx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x90], eax
jg 0x40e208
mov dword [ebp - 0x9c], 0x3e8
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0x34]
and ax, 0x101
sub ax, 0x101
neg ax
sbb eax, eax
inc eax
test byte [ebp + 0x34], 8
mov dword [ebp - 0xa8], eax
je 0x40e79b
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
cmp ax, 0x40
je 0x40e270
cmp byte [ebp - 0x26], bl
je 0x40e270
cmp ax, 0x26
je 0x40e255
mov eax, dword [ebp + 0x4c]
test byte [eax + 9], 0xf
je 0x40e270
mov byte [ebp + 0x6b], 1
jmp 0x40e273
cmp dword [ebp - 0xcc], ebx
je 0x40e17b
mov byte [ebp + 0x73], 2
jmp 0x40e17b
mov byte [ebp + 0x6b], bl
push ebx
mov dword [ebp - 0xa4], ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x78]
mov esi, dword [eax]
lea eax, [ebp - 0x1e0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
cmp byte [ebp + 0x73], bl
mov dword [ebp + 8], edi
mov dword [ebp - 0x80], 1
je 0x40e2a9
mov eax, dword [ebp + 0xc]
sub eax, edi
jmp 0x40e2ae
mov eax, 0x100000
lea ecx, [ebp - 0x1e0]
push ecx
lea ecx, [ebp - 0xa4]
push ecx
push eax
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x50]
add eax, edi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x48], ebx
mov byte [ebp + 0x30], bl
call fcn.004441a1
mov dword [ebp - 0x20], 1
mov al, byte [0x4d62d4]
cmp al, bl
mov byte [ebp + 0x7b], al
jg 0x40e304
cmp dword [ebp - 0x100], 2
jl 0x40e71d
cmp dword [ebp - 0xec], ebx
jle 0x40e337
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xec]
jae 0x40e71d
mov ecx, dword [ebp - 0xec]
sub ecx, eax
cmp dword [ebp - 0x9c], ecx
jbe 0x40e337
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp + 0x4c]
push 0x4ff
push dword [ebp - 0x9c]
lea eax, [ebp - 0x1b0]
push ebx
push eax
push dword [ebp - 0xa0]
call fcn.00412b25
cmp eax, ebx
mov dword [ebp - 0x144], eax
mov dword [ebp - 0xe4], ebx
jne 0x40e407
lea eax, [ebp - 0x78]
mov esi, dword [eax]
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x1e0]
push eax
push esi
mov dword [ebp - 0x4c], ebx
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
cmp dword [ebp - 0x4c], ebx
jle 0x40e3a5
mov eax, dword [ebp + 0x14]
cmp dword [ebp - 0x4c], eax
jle 0x40e397
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x80], ebx
je 0x40e3a5
add edi, dword [ebp - 0x4c]
mov eax, dword [ebp + 0x50]
mov byte [eax + edi], bl
lea eax, [edi + 0x100000]
cmp eax, dword [ebp + 0xc]
jl 0x40e3c6
add dword [ebp + 0xc], 0x100000
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
lea ecx, [ebp + 0x50]
call fcn.0044406f
cmp byte [ebp + 0x73], bl
je 0x40e3d2
mov eax, dword [ebp + 0xc]
sub eax, edi
jmp 0x40e3d7
mov eax, 0x100000
cmp dword [ebp - 0xa8], ebx
mov dword [ebp + 0x14], eax
je 0x40e3ee
mov dword [ebp - 0xe4], 1
jmp 0x40e407
lea ecx, [ebp - 0x1e0]
push ecx
lea ecx, [ebp - 0x4c]
push ecx
push eax
mov eax, dword [ebp + 0x50]
add eax, edi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x108]
cmp ecx, ebx
mov dword [ebp - 0x150], eax
je 0x40e455
mov edx, dword [ebp - 0xac]
mov ecx, edx
sub ecx, eax
add ecx, dword [ebp - 0x90]
cmp ecx, ebx
mov dword [ebp - 0x108], ecx
jle 0x40e43c
mov dword [ebp - 0x20], ebx
jmp 0x40e455
mov dword [ebp - 0x20], 1
add dword [ebp - 0x90], edx
add ecx, edx
cmp ecx, ebx
jle 0x40e443
mov dword [ebp - 0x108], ecx
cmp byte [ebp + 0x73], bl
je 0x40e483
sub eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x9c]
jge 0x40e61b
cmp edi, dword [ebp - 0x48]
je 0x40e714
cmp eax, 0x14
jl 0x40e714
jmp 0x40e61b
cmp ecx, ebx
je 0x40e48d
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
inc ecx
cmp eax, ecx
jle 0x40e4c0
dec eax
cmp eax, dword [ebp - 0x144]
jne 0x40e4c0
cmp byte [ebp + 0x73], bl
mov byte [ebp + 0x30], cl
je 0x40e71d
cmp edi, dword [ebp - 0x48]
je 0x40e71d
mov dword [ebp - 0x20], ecx
jmp 0x40e61b
test byte [ebp + 0x34], 1
je 0x40e5ad
cmp edi, dword [ebp + 8]
jle 0x40e5ad
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x50]
mov edx, dword [ebp - 0x13c]
lea esi, [ecx + eax]
mov eax, edi
sub eax, ecx
cmp dword [ebp - 0xa8], ebx
je 0x40e533
lea ecx, [eax - 1]
cmp ecx, ebx
mov dword [ebp + 0x78], ecx
jl 0x40e583
cmp byte [ecx + esi], 0xa
jne 0x40e507
dec edx
cmp edx, ebx
jle 0x40e50f
dec ecx
mov dword [ebp + 0x78], ecx
jns 0x40e4fc
jmp 0x40e583
inc dword [ebp + 0x78]
sub eax, dword [ebp + 0x78]
inc eax
push eax
mov eax, dword [ebp + 0x78]
add eax, esi
push eax
push esi
call fcn.00413f99
sub edi, dword [ebp + 0x78]
add esp, 0xc
mov eax, edi
sub eax, dword [ebp + 8]
mov byte [eax + esi], bl
jmp 0x40e583
xor ecx, ecx
test byte [ebp + 0x35], 2
je 0x40e56b
cmp eax, ebx
jle 0x40e583
cmp byte [ecx + esi], 0xa
jne 0x40e54a
dec edx
cmp edx, ebx
jle 0x40e551
inc ecx
cmp ecx, eax
jl 0x40e53f
jmp 0x40e583
dec ecx
cmp ecx, ebx
jle 0x40e55d
cmp byte [ecx + esi], 0xd
jne 0x40e55d
dec ecx
mov eax, dword [ebp + 8]
mov byte [ecx + esi], bl
lea edi, [eax + ecx]
mov dword [ebp - 0x80], ebx
jmp 0x40e583
cmp eax, ebx
jle 0x40e583
cmp byte [ecx + esi], 0xa
jne 0x40e57e
dec edx
cmp edx, ebx
jle 0x40e71d
inc ecx
cmp ecx, eax
jl 0x40e56f
cmp dword [ebp - 0xe4], ebx
je 0x40e5ad
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0xa4]
push eax
push dword [ebp + 0x14]
mov eax, dword [ebp + 0x50]
add eax, edi
push eax
lea eax, [ebp - 0x78]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 5
pop esi
dec esi
js 0x40e2eb
cmp byte [0x4d62d4], bl
jle 0x40e2eb
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x354]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x40e2eb
cmp dword [ebp - 0x350], 0x12
je 0x40e602
lea eax, [ebp - 0x354]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x354]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x40e5b0
cmp byte [ebp + 0x73], bl
mov byte [ebp + 0x7b], bl
mov byte [ebp + 0x30], 1
je 0x40e2eb
cmp edi, dword [ebp - 0x48]
je 0x40e2eb
cmp byte [ebp + 0x6b], bl
mov eax, dword [ebp - 0x150]
mov esi, dword [ebp + 0x50]
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xf4], edi
jne 0x40e675
cmp dword [ebp - 0x94], 0x4b0
je 0x40e668
push dword [ebp - 0x94]
lea ecx, [ebp - 0x7c]
push edi
push esi
call fcn.0044425c
mov esi, dword [ebp - 0x7c]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
mov dword [ebp - 0xf4], eax
jmp 0x40e675
mov word [esi + edi + 2], bx
mov eax, dword [ebp + 0x50]
mov word [eax + edi + 2], bx
cmp byte [ebp - 0x25], bl
je 0x40e68b
lea eax, [ebp - 0xf8]
push eax
push esi
call fcn.004083ef
pop ecx
pop ecx
mov esi, eax
cmp byte [ebp + 0x73], 1
jne 0x40e6a8
mov ecx, dword [ebp + 0x4c]
push esi
push esi
push 0x4bca2c
push dword [ebp - 0x1c]
push dword [ebp - 0x1c]
call fcn.00440bca
jmp 0x40e6d4
cmp byte [ebp + 0x6b], bl
je 0x40e6c8
push ebx
push ebx
push dword [ebp - 0xf4]
push dword [ebp + 0x50]
push dword [ebp - 0x60]
push dword [ebp + 0x4c]
call fcn.0045078d
add esp, 0x18
jmp 0x40e6d4
mov ecx, dword [ebp + 0x4c]
push esi
push dword [ebp - 0x1c]
call fcn.004438ac
cmp dword [ebp - 0xcc], ebx
je 0x40e70e
cmp dword [ebp - 0x20], ebx
je 0x40e70e
push dword [ebp - 0xcc]
lea ecx, [ebp - 0x124]
call fcn.00401000
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push ebx
push dword [ebp - 0x124]
call fcn.0043362f
lea ecx, [ebp - 0x124]
call fcn.0043dd41
mov ecx, dword [ebp - 0x108]
cmp byte [ebp + 0x30], bl
je 0x40e483
lea ecx, [ebp - 0x7c]
call fcn.0043dd41
cmp dword [ebp + 0x20], 0xffffff9c
mov eax, dword [ebp + 0x50]
mov byte [eax + edi + 2], bl
mov eax, dword [ebp + 0x50]
mov byte [eax + edi + 1], bl
mov eax, dword [ebp + 0x50]
mov byte [eax + edi], bl
mov dword [ebp - 0x10], ebx
je 0x40e8fa
cmp byte [ebp + 0x7b], bl
jle 0x40e8fa
cmp byte [ebp + 0x12], 1
je 0x40e8fa
cmp byte [ebp + 0x12], 2
jne 0x40e8cc
lea eax, [ebp - 0x18c]
push dword [eax + 8]
lea eax, [ebp - 0x2d4]
push dword [ebp - 0x128]
push str._force__exitcode_d__tree__d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x4c]
add esp, 0x10
lea eax, [ebp - 0x2d4]
push eax
call fcn.0042991d
jmp 0x40e8fa
cmp dword [ebp + 0x20], 0xffffff9c
je 0x40e725
mov al, byte [0x4d62d4]
cmp al, bl
mov byte [ebp + 0x7b], al
jg 0x40e7ba
cmp dword [ebp - 0x100], 2
jl 0x40e725
cmp dword [ebp - 0xec], ebx
mov dword [ebp + 0x70], 0x3e8
jle 0x40e7f1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xec]
jae 0x40e725
mov ecx, dword [ebp - 0xec]
sub ecx, eax
cmp ecx, 0x3e8
jae 0x40e7f1
mov dword [ebp + 0x70], ecx
mov ecx, dword [ebp + 0x4c]
push 0x4ff
push dword [ebp + 0x70]
lea eax, [ebp - 0x1b0]
push ebx
push eax
push dword [ebp - 0xa0]
call fcn.00412b25
mov ecx, dword [ebp - 0xa0]
dec ecx
cmp ecx, eax
je 0x40e725
cmp dword [ebp - 0xa0], 1
jle 0x40e8bf
cmp eax, ebx
jne 0x40e8bf
lea eax, [edi + 0x100000]
cmp eax, esi
jl 0x40e84f
add esi, 0x100000
lea eax, [esi + 4]
push eax
lea ecx, [ebp + 0x50]
call fcn.0044406f
mov eax, dword [ebp + 0x50]
push ebx
lea ecx, [ebp + 0x68]
push ecx
add eax, edi
push 1
push eax
lea eax, [ebp - 0x78]
push dword [eax]
mov dword [ebp + 0x68], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40e8bf
cmp dword [ebp + 0x68], ebx
jbe 0x40e8bf
add edi, dword [ebp + 0x68]
mov eax, dword [ebp + 0x50]
mov byte [eax + edi], bl
jmp 0x40e8bf
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x28c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x40e7a1
cmp dword [ebp - 0x288], 0x12
je 0x40e7a1
lea eax, [ebp - 0x28c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x28c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp byte [0x4d62d4], bl
jg 0x40e87e
jmp 0x40e7a1
cmp dword [ebp - 0x104], ebx
je 0x40e8e6
push dword [ebp - 0x128]
push dword [ebp - 0x104]
call dword [sym.imp.KERNEL32.dll_TerminateJobObject]
push dword [ebp - 0x128]
lea eax, [ebp - 0x18c]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18c]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp word [ebp + 0x34], bx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x74]
mov dword [ecx], eax
je 0x40eb66
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
xor esi, esi
cmp ax, 0x40
je 0x40e946
cmp byte [ebp - 0x26], bl
je 0x40e946
cmp ax, 0x26
je 0x40e940
mov eax, dword [ebp + 0x4c]
test byte [eax + 9], 0xf
je 0x40e946
mov byte [ebp + 0x77], 1
jmp 0x40e949
mov byte [ebp + 0x77], bl
lea ecx, [ebp - 0xb4]
call fcn.00402d43
cmp byte [ebp + 0x77], bl
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x70], eax
mov dword [ebp - 0xf4], edi
jne 0x40eaec
cmp byte [ebp + 0x46], 2
jne 0x40e981
mov dword [ebp - 0xf4], edi
mov word [eax + edi], bx
mov esi, dword [ebp + 0x50]
jmp 0x40ea15
cmp byte [ebp + 0x46], 1
lea ecx, [ebp - 0xb4]
jne 0x40e9b4
push dword [ebp - 0x94]
push edi
push eax
call fcn.0044425c
mov eax, dword [ebp - 0xb4]
push eax
mov dword [ebp + 0x70], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
mov dword [ebp - 0xf4], eax
jmp 0x40ea19
lea eax, [edi + 0x18]
push eax
call fcn.004441e6
lea eax, [edi + 1]
push eax
push dword [ebp + 0x50]
mov dword [ebp - 0xac], edi
push dword [ebp - 0xb4]
mov dword [ebp - 0xb0], edi
call fcn.00413fe3
mov eax, dword [ebp - 0xb4]
push 0x10
add edi, eax
push ebx
push edi
call fcn.004aa0a0
lea eax, [ebp - 0xb4]
push 0x2004
push eax
call fcn.0049a127
mov eax, dword [ebp - 0xb4]
mov dword [ebp + 0x70], eax
mov eax, dword [ebp - 0xb0]
add esp, 0x20
mov dword [ebp - 0xf4], eax
cmp esi, ebx
jne 0x40ea1f
mov esi, dword [ebp - 0xb4]
test byte [ebp + 0x34], 4
je 0x40ea57
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2 - 2]
jmp 0x40ea46
mov cx, word [eax]
cmp cx, 0xd
je 0x40ea41
cmp cx, 0xa
jne 0x40ea4a
mov word [eax], bx
dec eax
dec eax
cmp eax, esi
jae 0x40ea32
sub eax, esi
mov dword [ebp - 0xf4], eax
jmp 0x40eaec
test byte [ebp + 0x34], 1
je 0x40eaac
mov edx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x138]
jmp 0x40ea9f
cmp ax, 0xd
jne 0x40ea89
lea ecx, [esi + 2]
cmp word [ecx], 0xa
jne 0x40ea89
cmp edi, ebx
jl 0x40ea8f
jg 0x40ea85
cmp edx, 1
jbe 0x40ea8f
mov esi, ecx
jmp 0x40ea8f
cmp ax, 0xa
jne 0x40ea9d
add edx, 0xffffffff
adc edi, 0xffffffff
js 0x40eaa7
jg 0x40ea9d
cmp edx, ebx
jbe 0x40eaa7
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
jne 0x40ea6b
mov word [esi], bx
jmp 0x40eae3
test byte [ebp + 0x34], 2
je 0x40eaec
jmp 0x40eadb
cmp ax, 0xd
je 0x40eac4
cmp ax, 0xa
je 0x40eac4
inc esi
inc esi
jmp 0x40eadb
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
push eax
lea eax, [esi + 2]
push eax
push esi
call fcn.00413f99
add esp, 0xc
mov ax, word [esi]
cmp ax, bx
jne 0x40eab4
sub esi, dword [ebp + 0x70]
mov dword [ebp - 0xf4], esi
cmp byte [ebp - 0x25], bl
je 0x40eb04
lea eax, [ebp - 0xf8]
push eax
push dword [ebp + 0x70]
call fcn.004083ef
pop ecx
pop ecx
jmp 0x40eb07
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp - 0x60]
cmp word [ecx], 0x40
jne 0x40eb2d
mov ecx, dword [ebp + 0x4c]
push eax
push eax
push 0x4bca2c
push dword [ebp - 0x84]
push dword [ebp - 0x84]
call fcn.00440bca
jmp 0x40eb58
cmp byte [ebp + 0x77], bl
je 0x40eb49
push ebx
push ebx
push dword [ebp - 0xf4]
push eax
push ecx
push dword [ebp + 0x4c]
call fcn.0045078d
add esp, 0x18
jmp 0x40eb58
push dword [ebp - 0xb4]
push ecx
mov ecx, dword [ebp + 0x4c]
call fcn.004438ac
lea ecx, [ebp - 0xb4]
call fcn.0043dd41
mov eax, dword [ebp - 0x10]
push eax
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x394]
push 0x4bdad8
push eax
mov word [ebp - 0x394], bx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x4c]
add esp, 0xc
lea eax, [ebp - 0x394]
push eax
push str.ERRORLEVEL
call fcn.004438ac
cmp dword [ebp - 0x104], ebx
je 0x40ebba
cmp byte [ebp + 0x12], 1
je 0x40ebba
push dword [ebp - 0x128]
push dword [ebp - 0x104]
call dword [sym.imp.KERNEL32.dll_TerminateJobObject]
lea ecx, [ebp - 0xf8]
call fcn.0043dd41
lea ecx, [ebp + 0x50]
call fcn.0043dd41
mov ecx, dword [ebp + 0x7c]
cmp ecx, ebx
je 0x40ebde
lea eax, [ebp - 0x18c]
mov eax, dword [eax]
mov dword [ecx], eax
cmp byte [ebp + 0x13], bl
lea eax, [ebp - 0x18c]
mov dword [eax], ebx
je 0x40ed22
cmp dword [eax + 8], ebx
je 0x40ed22
cmp byte [0x4d7ce4], bl
jne 0x40ed22
cmp dword [ebp + 0x20], ebx
mov byte [0x4d7ce4], 1
jne 0x40ecad
push 0x1000
lea ecx, [ebp + 0x70]
call fcn.00402d31
mov eax, dword [ebp + 0x70]
push ebx
mov dword [ebp + 0x78], ebx
mov word [eax], bx
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x70]
push eax
push str.SystemStartOptions
push str.SYSTEMCurrentControlSetControl
push 0x80000002
call fcn.00448724
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x74]
push eax
call fcn.0043dcd9
add esp, 0x1c
jmp 0x40ec8f
push 8
push eax
push str.PECMDHB
call fcn.00402cee
add esp, 0xc
test al, al
jne 0x40ec99
push 6
push dword [ebp + 0x74]
push str.WIMHB
call fcn.00402cee
add esp, 0xc
test al, al
jne 0x40ec99
lea eax, [ebp + 0x74]
push eax
call fcn.00408ddd
pop ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], bx
jne 0x40ec5b
jmp 0x40eca0
mov dword [ebp + 0x20], 1
lea ecx, [ebp + 0x70]
call fcn.0043dd41
cmp dword [ebp + 0x20], ebx
je 0x40ecce
call fcn.0041a1a9
test eax, eax
je 0x40ecc5
push str.exec
push dword [ebp + 0x4c]
call fcn.0041a24a
pop ecx
pop ecx
push ebx
call fcn.004167e6
pop ecx
jmp 0x40ed22
lea eax, [ebp - 0x18c]
push dword [eax + 8]
lea eax, [ebp - 0x338]
push str.__nfb__incmd_pecmd_TEAM_WAIT__InitSys__ncd__lu
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x338]
push eax
push str.DELAY_bwinpeshl____s__r_n
push dword [ebp + 0x4c]
call fcn.00410bfe
mov ecx, dword [ebp + 0x4c]
add esp, 0x18
push 0x4d7c04
push ebx
push ebx
push ebx
lea eax, [ebp + 0x76]
push eax
push dword [ebp + 0x4c]
lea eax, [ebp - 0x338]
push eax
mov word [ebp + 0x76], bx
call fcn.0040a2d5
mov ecx, dword [ebp - 0x58]
cmp ecx, ebx
je 0x40ed3f
cmp word [ecx], bx
je 0x40ed3f
lea eax, [ebp - 0x18c]
push dword [eax + 8]
push ecx
call fcn.004038ff
pop ecx
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea esi, [ebp - 0x50]
mov eax, dword [esi]
cmp eax, ebx
je 0x40ed51
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0x18]
mov eax, dword [esi]
cmp eax, ebx
je 0x40ed5f
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0xe0]
cmp dword [esi], ebx
je 0x40ed6e
push ebx
call edi
mov dword [esi], ebx
lea esi, [ebp - 0xdc]
mov eax, dword [esi]
cmp eax, ebx
je 0x40ed7f
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0x78]
mov eax, dword [esi]
cmp eax, ebx
je 0x40ed8d
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0x8c]
mov eax, dword [esi]
cmp eax, ebx
je 0x40ed9e
push eax
call edi
cmp dword [ebp - 0x1d0], ebx
mov dword [esi], ebx
je 0x40edb0
push dword [ebp - 0x1d0]
call edi
lea esi, [ebp - 0x18c]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x40edc0
push eax
call edi
mov ecx, dword [ebp + 0x4c]
push ebx
mov dword [esi + 4], ebx
call fcn.0046be18
mov ebx, dword [ebp + 0x14]
lea ecx, [ebp - 0x120]
call fcn.0043dd41
lea ecx, [ebp - 0x12c]
call fcn.0043dd41
lea ecx, [ebp - 0x98]
call fcn.00402c9f
lea ecx, [ebp - 0x168]
call fcn.0043dd41
lea ecx, [ebp - 0xc8]
call fcn.00402c9f
lea ecx, [ebp - 0xc0]
call fcn.00402c9f
lea ecx, [ebp - 0xe0]
call fcn.00402c9f
lea ecx, [ebp - 0x18]
call fcn.00402c9f
lea ecx, [ebp - 0x50]
call fcn.00402c9f
lea ecx, [ebp - 0x8c]
call fcn.00402c9f
lea ecx, [ebp - 0xdc]
call fcn.00402c9f
lea ecx, [ebp - 0x78]
call fcn.00402c9f
lea ecx, [ebp - 0x58]
call fcn.0043dd41
lea ecx, [ebp - 0x1bc]
call fcn.0043dd41
lea ecx, [ebp - 0x10c]
call fcn.0043dd41
lea ecx, [ebp - 0x88]
call fcn.0043dd41
lea ecx, [ebp - 0x16c]
call fcn.0043dd41
lea ecx, [ebp - 0x110]
call fcn.0043dd41
lea ecx, [ebp - 0x130]
call fcn.0043dd41
lea ecx, [ebp - 0x164]
call fcn.0043dd41
lea ecx, [ebp - 0xe8]
call fcn.0043dd41
lea ecx, [ebp - 0x104]
call fcn.00402c9f
lea ecx, [ebp - 0x160]
call fcn.00402c9f
lea ecx, [ebp - 0x1cc]
call fcn.00404968
lea ecx, [ebp - 0x198]
call fcn.0043dd41
lea ecx, [ebp - 0xb8]
call fcn.0043dd41
lea ecx, [ebp - 0xbc]
call fcn.0043dd41
lea ecx, [ebp - 0x60]
call fcn.0043dd41
lea ecx, [ebp - 0x158]
call fcn.0043dd41
lea ecx, [ebp - 0x140]
call fcn.0043dd41
lea ecx, [ebp - 0x154]
call fcn.0043dd41
lea ecx, [ebp - 0x15c]
call fcn.0043dd41
lea ecx, [ebp - 0x134]
call fcn.0043dd41
lea ecx, [ebp - 0x11c]
call fcn.0043dd41
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x5c
leave
ret 0x1c