Function at 0x40a949
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 0x40abe1
lea eax, [ebp + 0x6c]
push eax
call fcn.0043fe57
pop ecx
mov ecx, dword [ebp + 0x6c]
cmp ecx, ebx
je 0x40abe1
cmp word [ecx], 0x2f
jne 0x40abe1
mov dx, word [ecx + 2]
or dx, di
cmp dx, 0x69
push 0x73
pop esi
jne 0x40aa88
mov ax, word [ecx + 4]
or ax, di
cmp ax, 0x6e
jne 0x40aa88
mov ax, word [ecx + 6]
or ax, di
cmp ax, si
jne 0x40aa88
mov ax, word [ecx + 8]
or ax, di
cmp ax, 0x74
jne 0x40aa88
mov ax, word [ecx + 0xa]
or ax, di
cmp ax, 0x61
jne 0x40aa88
mov ax, word [ecx + 0xc]
or ax, di
cmp ax, 0x6c
jne 0x40aa88
mov ax, word [ecx + 0xe]
or ax, di
cmp ax, 0x6c
jne 0x40aa88
mov ax, word [ecx + 0x10]
or ax, di
cmp ax, si
jne 0x40aa88
mov ax, word [ecx + 0x12]
or ax, di
cmp ax, 0x65
jne 0x40aa88
mov ax, word [ecx + 0x14]
or ax, di
cmp ax, 0x72
jne 0x40aa88
mov ax, word [ecx + 0x16]
or ax, di
cmp ax, 0x76
jne 0x40aa88
mov ax, word [ecx + 0x18]
or ax, di
cmp ax, dx
jne 0x40aa88
mov ax, word [ecx + 0x1a]
or ax, di
cmp ax, 0x63
jne 0x40aa88
mov ax, word [ecx + 0x1c]
or ax, di
cmp ax, 0x65
jne 0x40aa88
mov ax, word [ecx + 0x1e]
call fcn.004b1b03
test al, al
jne 0x40abb5
cmp dx, si
jne 0x40aaec
mov ax, word [ecx + 4]
or ax, di
cmp ax, 0x65
jne 0x40aaec
mov ax, word [ecx + 6]
or ax, di
cmp ax, 0x72
jne 0x40aaec
mov ax, word [ecx + 8]
or ax, di
cmp ax, 0x76
jne 0x40aaec
mov ax, word [ecx + 0xa]
or ax, di
cmp ax, 0x69
jne 0x40aaec
mov ax, word [ecx + 0xc]
or ax, di
cmp ax, 0x63
jne 0x40aaec
mov ax, word [ecx + 0xe]
or ax, di
cmp ax, 0x65
jne 0x40aaec
mov ax, word [ecx + 0x10]
call fcn.004b1b03
test al, al
jne 0x40abb5
cmp dx, 0x72
jne 0x40abe1
mov dx, word [ecx + 4]
push 0x65
or dx, di
pop eax
cmp dx, ax
jne 0x40abe1
mov dx, word [ecx + 6]
or dx, di
cmp dx, 0x6d
jne 0x40abe1
mov dx, word [ecx + 8]
or dx, di
cmp dx, 0x6f
jne 0x40abe1
mov dx, word [ecx + 0xa]
or dx, di
cmp dx, 0x76
jne 0x40abe1
mov dx, word [ecx + 0xc]
or dx, di
cmp dx, ax
jne 0x40abe1
mov dx, word [ecx + 0xe]
or dx, di
cmp dx, si
jne 0x40abe1
mov dx, word [ecx + 0x10]
or dx, di
cmp dx, ax
jne 0x40abe1
mov dx, word [ecx + 0x12]
or dx, di
cmp dx, 0x72
jne 0x40abe1
mov dx, word [ecx + 0x14]
or dx, di
cmp dx, 0x76
jne 0x40abe1
mov dx, word [ecx + 0x16]
or dx, di
cmp dx, 0x69
jne 0x40abe1
mov dx, word [ecx + 0x18]
or dx, di
cmp dx, 0x63
jne 0x40abe1
mov dx, word [ecx + 0x1a]
or dx, di
cmp dx, ax
jne 0x40abe1
mov ax, word [ecx + 0x1c]
call fcn.004b1b03
test al, al
je 0x40abe1
mov edi, 0x4e2c8c
push str.PECMD_EXEC
mov ecx, edi
call fcn.004506c8
push dword [ebp + 0x6c]
mov ecx, edi
call fcn.004465fa
mov eax, dword [ebp + 0x4c]
mov word [eax + 0x88], 2
jmp 0x40f594
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.0044658e
cmp dword [ebp + 0x64], ebx
je 0x40ac40
push dword [ebp + 0x64]
lea ecx, [ebp - 0x15c]
call fcn.004506c8
mov eax, dword [ebp - 0x15c]
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push eax
call fcn.0043fe57
pop ecx
lea ecx, [ebp - 0x154]
call fcn.0044658e
mov eax, dword [ebp + 0x6c]
cmp eax, ebx
je 0x40ac67
push eax
lea ecx, [ebp - 0x154]
call fcn.004506c8
mov eax, dword [ebp - 0x154]
mov dword [ebp + 0x6c], eax
cmp dword [ebp + 0x74], ebx
jne 0x40ac75
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 0x40acb8
cmp eax, ebx
mov dword [ebp + 0x64], eax
je 0x40acb8
push 5
push eax
push str._shel
call fcn.00441277
add esp, 0xc
test al, al
je 0x40acb8
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.0044658e
mov al, byte [0x4e2be0]
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.0044658e
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x94], ebx
mov byte [ebp + 0x46], bl
call fcn.0044658e
lea ecx, [ebp - 0xbc]
call fcn.0044658e
lea ecx, [ebp - 0xb8]
call fcn.0044658e
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.0044658e
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 0x40adfa
mov byte [ebp + 0x2f], 1
jmp 0x40ae54
cmp word [eax], 0x23
jne 0x40ae10
cmp eax, dword [ebp + 0x64]
jne 0x40ae09
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
jmp 0x40ae1d
test byte [0x4e6003], 3
je 0x40ae1d
mov byte [ebp + 0x2f], 3
cmp eax, ebx
je 0x40ae54
cmp word [eax], si
jne 0x40ae38
cmp eax, dword [ebp + 0x64]
jne 0x40ae2f
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x73], 1
cmp eax, ebx
je 0x40ae54
cmp word [eax], 0x24
jne 0x40ae54
cmp eax, dword [ebp + 0x64]
jne 0x40ae4b
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 0x40ae76
cmp word [eax], 0x7c
jne 0x40ae76
cmp eax, dword [ebp + 0x64]
jne 0x40ae6a
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 0x40af61
cmp word [eax], 0x2a
jne 0x40af61
add dword [ebp + 0x64], 2
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, bx
mov dword [ebp + 0x34], 0x10
je 0x40af57
push 2
xor esi, esi
pop edi
inc esi
cmp ax, 0x7c
jne 0x40aebc
mov dword [ebp + 0x40], esi
jmp 0x40af45
cmp ax, 0x30
jb 0x40af19
cmp ax, 0x39
ja 0x40af19
or dword [ebp + 0x34], esi
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.004498b7
cmp dword [ebp - 0x138], ebx
pop ecx
pop ecx
jg 0x40aefb
jl 0x40aeef
cmp dword [ebp - 0x13c], ebx
ja 0x40aefb
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x138], ebx
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x24
jne 0x40af0d
or byte [ebp + 0x35], 1
jmp 0x40af45
cmp ax, 0x5e
jne 0x40af48
or byte [ebp + 0x35], 2
jmp 0x40af45
mov ecx, eax
or ecx, 0x20
cmp cx, 0x6e
jne 0x40af2c
add dword [ebp + 0x64], edi
or dword [ebp + 0x34], edi
jmp 0x40af48
cmp ax, 0x2d
jne 0x40af3b
add dword [ebp + 0x64], edi
or dword [ebp + 0x34], 4
jmp 0x40af48
cmp ax, 0x23
jne 0x40af57
mov byte [ebp + 0x12], 1
add dword [ebp + 0x64], edi
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, bx
jne 0x40aeae
lea eax, [ebp + 0x64]
push eax
call fcn.00405c44
pop ecx
lea eax, [ebp + 0x64]
push eax
call fcn.0043fe57
cmp word [ebp + 0x34], bx
pop ecx
jne 0x40b00c
lea eax, [ebp + 0x64]
push eax
call fcn.0043fe57
cmp dword [ebp - 0xcc], ebx
mov eax, dword [ebp + 0x64]
pop ecx
mov dword [ebp + 0x48], eax
je 0x40af97
cmp word [ebp + 0x34], bx
jne 0x40b0ea
push 2
pop esi
cmp word [eax], 0x2d
mov edi, eax
jne 0x40afae
add eax, 2
cmp word [eax], 0x2d
jne 0x40afae
mov dword [ebp + 0x48], eax
push 1
lea eax, [ebp + 0x48]
push eax
push 0x4c8014
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x40b0ea
mov eax, dword [ebp + 0x48]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40afdf
cmp ax, 0x2f
jne 0x40b0ea
add dword [ebp + 0x48], esi
push 5
lea eax, [ebp + 0x48]
push eax
push 0x4c800c
call fcn.0044863c
add esp, 0xc
test al, al
je 0x40b08a
mov al, byte [ebp + 0x34]
or dword [ebp + 0x34], 0x10
cmp al, bl
jne 0x40b2bd
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 0x40b360
push 2
pop edx
cmp ax, 0x3d
je 0x40b038
add edi, edx
mov ax, word [edi]
cmp ax, bx
jne 0x40b028
cmp edi, esi
je 0x40b360
cmp word [edi], 0x3d
jne 0x40b360
sub edi, edx
cmp word [edi], 0x2b
jne 0x40b059
mov al, byte [edi]
mov byte [ebp - 0x69], al
sub edi, edx
cmp edi, esi
mov ecx, edi
jbe 0x40b071
mov ax, word [ecx]
call fcn.004b1b03
test al, al
je 0x40b071
sub ecx, edx
cmp ecx, esi
ja 0x40b05f
mov ax, word [ecx]
call fcn.004b1b03
test al, al
jne 0x40b358
mov edx, ecx
inc ecx
inc ecx
jmp 0x40b2ea
push 4
push dword [ebp + 0x48]
push str.cmd:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b22d
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.004083b2
add esp, 0x14
mov dword [ebp - 0xcc], eax
jmp 0x40b0db
mov word [edi], 0x20
add edi, esi
cmp edi, dword [ebp + 0x48]
jb 0x40b0d4
cmp word [ebp + 0x34], bx
je 0x40b2bd
lea eax, [ebp + 0x64]
push eax
call fcn.0043fe57
mov eax, dword [ebp - 0xcc]
cmp eax, ebx
pop ecx
je 0x40b109
cmp word [eax], bx
jne 0x40b109
mov dword [ebp - 0xcc], ebx
cmp dword [ebp + 0x40], ebx
jne 0x40b116
cmp dword [ebp + 0x78], ebx
mov byte [ebp + 0x57], bl
je 0x40b11a
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.0044658e
lea ecx, [ebp - 0x16c]
call fcn.0044658e
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 0x40b195
cmp dword [ebp + 0x38], ebx
jne 0x40b195
mov ecx, dword [ebp + 0x4c]
push 1
push ebx
lea eax, [ebp - 0x10c]
push eax
push dword [ebp + 0x64]
call fcn.0045937c
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 0x40b1b0
add eax, 2
cmp word [eax], 0x2d
jne 0x40b1b0
mov dword [ebp + 0x64], eax
xor esi, esi
inc esi
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c8014
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x40c18b
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x2d
je 0x40b1e3
cmp ax, 0x2f
jne 0x40c18b
push 2
pop edi
add dword [ebp + 0x64], edi
push 5
lea eax, [ebp + 0x64]
push eax
push 0x4c800c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40b367
mov dword [ebp + 0x34], 0x10
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c8000
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40b3b1
mov dword [ebp - 4], esi
jmp 0x40b195
push 3
push dword [ebp + 0x48]
push 0x4c7ffc
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b257
add dword [ebp + 0x48], 6
jmp 0x40b24c
add dword [ebp + 0x48], esi
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x2a
je 0x40b249
jmp 0x40b29b
push 4
push dword [ebp + 0x48]
push 0x4c7ff4
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b281
add dword [ebp + 0x48], 8
jmp 0x40b276
add dword [ebp + 0x48], esi
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x2a
je 0x40b273
jmp 0x40b29b
push 5
push dword [ebp + 0x48]
push str.logs:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b2bd
add dword [ebp + 0x48], 0xa
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x22
jne 0x40b2bd
add dword [ebp + 0x48], esi
jmp 0x40b2b2
add dword [ebp + 0x48], esi
cmp ax, 0x22
je 0x40b2bd
mov eax, dword [ebp + 0x48]
mov ax, word [eax]
cmp ax, bx
jne 0x40b2a9
lea eax, [ebp + 0x48]
push eax
call fcn.00408f31
mov eax, dword [ebp + 0x48]
pop ecx
jmp 0x40af9a
lea eax, [edx - 2]
mov dword [ebp - 0x8c], eax
mov ax, word [eax]
call fcn.004b1b03
test al, al
jne 0x40b2ee
mov edx, dword [ebp - 0x8c]
cmp edx, esi
ja 0x40b2cf
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x60]
call fcn.004466b2
mov esi, dword [ebp + 0x4c]
push ebx
lea eax, [ebp - 0x60]
push eax
mov ecx, esi
call fcn.00402f5e
cmp byte [esi + 0x92], bl
jne 0x40b319
test byte [esi + 9], 0xf
je 0x40b32f
push ebx
lea eax, [ebp - 0x60]
push eax
mov ecx, esi
call fcn.00402f5e
jmp 0x40b32f
cmp ax, 0x3d
je 0x40b33d
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40b327
cmp ax, 0x3d
jne 0x40b358
lea eax, [ebp - 0x14c]
add edi, 2
push eax
mov dword [ebp - 0x14c], edi
call fcn.0043fe57
pop ecx
jmp 0x40af75
xor ebx, ebx
inc ebx
jmp 0x40f534
mov ebx, ecx
jmp 0x40f534
push 6
push dword [ebp + 0x64]
push str.clone:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b20b
add dword [ebp + 0x64], 0xc
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40b3a0
mov word [eax], bx
add dword [ebp + 0x64], edi
cmp word [esi], bx
je 0x40b484
mov dword [ebp - 0x70], esi
jmp 0x40b484
push 4
lea eax, [ebp + 0x64]
push eax
push str.shel
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40b3db
or byte [ebp + 0x73], 2
and byte [ebp + 0x2f], 0xfe
mov dword [ebp - 0x4c], esi
mov dword [ebp + 0x20], esi
jmp 0x40b195
push 5
push dword [ebp + 0x64]
push str.shel:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b449
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.0041a9b6
add esp, 0xc
cmp dword [ebp + 0x40], ebx
mov dword [ebp + 0x64], eax
jle 0x40b195
push dword [ebp + 0x40]
lea ecx, [ebp - 0x134]
push dword [ebp - 0x98]
call fcn.004466b2
jmp 0x40b195
push 9
push dword [ebp + 0x64]
push str.runrmenu:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b492
add dword [ebp + 0x64], 0x12
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x64]
pop ecx
lea ecx, [ebp - 0x140]
sub eax, edi
sar eax, 1
push eax
push edi
call fcn.004466b2
lea eax, [ebp + 0x64]
push eax
call fcn.0043fe57
jmp 0x40c182
push 8
push dword [ebp + 0x64]
push str.poprmenu
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b542
add dword [ebp + 0x64], 0x10
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x64]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40b4cb
add dword [ebp + 0x64], edi
lea eax, [ebp + 0x64]
push eax
call fcn.0043fe57
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 0x40b500
cmp ax, 0x30
jb 0x40b4fd
cmp ax, 0x39
jbe 0x40b500
add dword [ebp - 0x18], edi
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00453e89
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, bx
pop ecx
pop ecx
je 0x40b52c
cmp ax, 0x30
jb 0x40b529
cmp ax, 0x39
jbe 0x40b52c
add dword [ebp - 0x18], edi
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00453e89
pop ecx
jmp 0x40c182
push 4
push dword [ebp + 0x64]
push str.pid:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b5bc
add dword [ebp + 0x64], 8
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
mov dword [ebp - 0x8c], edi
call fcn.00405c44
mov ax, word [edi]
cmp ax, 0x28
pop ecx
je 0x40b5a2
cmp ax, 0x30
jne 0x40b58c
mov ax, word [edi + 2]
or ax, 0x20
cmp ax, 0x78
je 0x40b5a2
mov eax, dword [ebp + 0x64]
cmp edi, eax
je 0x40b484
lea ecx, [ebp - 0x130]
jmp 0x40b479
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.004429d6
pop ecx
pop ecx
jmp 0x40b484
push 5
push dword [ebp + 0x64]
push str.hpid:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b5f9
add dword [ebp + 0x64], 0xa
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b484
lea ecx, [ebp - 0x164]
jmp 0x40c004
push 5
push dword [ebp + 0x64]
push str.ppid:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b670
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.00449a42
cmp dword [ebp - 0xac], ebx
pop ecx
pop ecx
jg 0x40b662
jl 0x40b643
cmp dword [ebp - 0xb0], ebx
jae 0x40b662
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
call fcn.004084e6
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 0x40b195
push 4
push dword [ebp + 0x64]
push 0x4c7ff4
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b785
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 0x40b6a6
mov dword [ebp - 0x68], esi
cmp cx, 0x22
jne 0x40b71d
lea esi, [eax + 2]
mov edi, eax
mov ecx, esi
jmp 0x40b6db
cmp ax, 0x22
jne 0x40b6d9
inc edx
test dl, 1
je 0x40b6d9
xor eax, eax
mov ax, word [ecx + 2]
cmp ax, bx
je 0x40b6e6
call fcn.004b1b03
test al, al
jne 0x40b6e6
or dword [ebp - 0x68], 2
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40b6b5
push 0x22
pop edx
cmp word [ecx], dx
jne 0x40b72a
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 0x40b711
mov ax, word [edi]
cmp ax, dx
jne 0x40b72a
cmp word [edi + 2], dx
jne 0x40b716
mov byte [ebp + 0x31], bl
jmp 0x40b72a
cmp ax, dx
jne 0x40b72a
jmp 0x40b711
lea eax, [ebp + 0x64]
push eax
call fcn.00405c44
pop ecx
mov ecx, dword [ebp + 0x64]
sub ecx, edi
sar ecx, 1
add dword [ebp], ecx
cmp dword [ebp], ebx
jle 0x40b484
add edi, 0xfffffff6
push edi
lea ecx, [ebp - 0xe8]
call fcn.004506c8
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 0x40b484
cmp word [eax + 2], bx
jne 0x40b484
lea eax, [ebp - 0xe8]
push eax
call fcn.00404898
pop ecx
mov dword [ebp + 0x28], eax
jmp 0x40b484
push 3
push dword [ebp + 0x64]
push 0x4c7ffc
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b8b2
mov eax, dword [ebp + 0x64]
xor edi, edi
add eax, 6
jmp 0x40b7ac
inc edi
inc eax
inc eax
mov dword [ebp + 0x64], eax
cmp word [eax], 0x2a
je 0x40b7a9
cmp edi, 2
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x48], ebx
jge 0x40b858
movzx eax, word [eax]
cmp ax, bx
je 0x40b811
call fcn.004b1b03
test al, al
jne 0x40b811
push esi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0041a9b6
add esp, 0xc
cmp dword [ebp - 0x48], ebx
mov dword [ebp + 0x64], eax
jle 0x40b811
push dword [ebp - 0x48]
lea ecx, [ebp - 0x88]
push dword [ebp - 0x84]
call fcn.004466b2
mov eax, dword [ebp - 0x88]
mov dword [ebp + 0x50], eax
cmp edi, esi
jne 0x40b89e
cmp dword [ebp - 0x48], ebx
jle 0x40b8a6
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.0049ebc9
add esp, 0xc
lea ecx, [ebp - 0x150]
mov dword [ebp + 0x50], eax
call fcn.0043fe25
jmp 0x40b484
push 0x105
lea ecx, [ebp - 0x88]
call fcn.004465d3
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 0x40b890
mov word [eax], bx
mov eax, dword [ebp - 0x88]
mov dword [ebp + 0x50], eax
jmp 0x40b484
cmp edi, ebx
jle 0x40b484
mov dword [ebp + 0x50], 0x4c7fa0
jmp 0x40b484
push 5
push dword [ebp + 0x64]
push str.logs:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40b92b
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 0x40b8e9
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.0041a9b6
add esp, 0xc
cmp dword [ebp + 8], ebx
mov dword [ebp + 0x64], eax
jle 0x40b484
cmp edi, ebx
je 0x40b91d
cmp dword [0x4e2d00], ebx
je 0x40b484
push dword [ebp + 8]
lea ecx, [ebp - 0x158]
jmp 0x40c009
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f9c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40b94a
mov byte [ebp - 0x61], 1
jmp 0x40b195
push 5
lea eax, [ebp + 0x64]
push eax
push str.nowin
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40b96a
mov byte [ebp - 0x31], 1
jmp 0x40b195
push 4
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f8c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40b98f
mov dword [ebp - 0x14], 0x10000000
jmp 0x40b195
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f84
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40b9b3
inc dword [ebp - 0x100]
mov dword [ebp + 0x20], esi
jmp 0x40b195
push 5
lea eax, [ebp + 0x64]
push eax
push str.waiti
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40b9d3
mov byte [ebp + 0x30], 1
jmp 0x40b195
push 3
pop esi
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f78
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40b9f5
or byte [ebp + 0x32], 1
jmp 0x40b195
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f74
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40ba14
mov byte [ebp - 0x25], 1
jmp 0x40b195
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f70
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x40b195
push edi
lea eax, [ebp + 0x64]
push eax
push str.err
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40ba4d
or byte [ebp + 0x32], 3
jmp 0x40b195
push 5
lea eax, [ebp + 0x64]
push eax
push str.limit
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40ba6d
mov byte [ebp - 0x6a], 1
jmp 0x40b195
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f5c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40ba8c
mov byte [ebp - 0x2e], 1
jmp 0x40b195
push edi
lea eax, [ebp + 0x64]
push eax
push str.hook
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40baae
mov dword [ebp - 0x4c], 1
jmp 0x40b195
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f50
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bad0
mov dword [ebp - 0x14], 6
jmp 0x40b195
push esi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f4c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40baee
mov dword [ebp - 0x14], esi
jmp 0x40b195
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f44
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bb10
mov dword [ebp - 0x14], 1
jmp 0x40b195
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f3c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bb2f
mov byte [ebp - 0x6b], 1
jmp 0x40b195
push 2
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f38
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bb51
mov byte [ebp - 0x39], 1
jmp 0x40b195
push 4
lea eax, [ebp + 0x64]
push eax
push 0x4c7f30
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bb70
mov byte [ebp - 0x39], bl
jmp 0x40b195
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c7f2c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bb90
mov byte [ebp - 0x51], 1
jmp 0x40b195
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4c7f28
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bbaf
mov byte [ebp + 0x1f], 1
jmp 0x40b195
push 5
lea eax, [ebp + 0x64]
push eax
push str.incmd
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bbcf
mov byte [ebp - 0x2d], 1
jmp 0x40b195
push 3
lea eax, [ebp + 0x64]
push eax
push str.svr_
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bbee
mov dword [ebp - 0x10], ebx
jmp 0x40b195
push 6
lea eax, [ebp + 0x64]
push eax
push str.svrsys
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bc11
mov dword [ebp - 0x10], 0x20000
jmp 0x40b195
push 7
pop esi
push esi
lea eax, [ebp + 0x64]
push eax
push str.svrsys_
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bc3a
mov al, byte [0x4e2be0]
neg al
sbb eax, eax
and eax, 0x20000
jmp 0x40bc7b
push 6
lea eax, [ebp + 0x64]
push eax
push str.svrusr
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bc5a
or dword [ebp - 0x10], 1
jmp 0x40b195
push esi
lea eax, [ebp + 0x64]
push eax
push str.svrusr_
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bc83
xor eax, eax
cmp byte [0x4e2be0], bl
setne al
mov dword [ebp - 0x10], eax
jmp 0x40b195
push esi
lea eax, [ebp + 0x64]
push eax
push str.hidecmd
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bca2
mov byte [ebp - 0x41], 1
jmp 0x40b195
push 8
lea eax, [ebp + 0x64]
push eax
push str.hidecmd_
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bcc1
mov byte [ebp - 0x41], bl
jmp 0x40b195
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c7ee0
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40bce4
mov dword [ebp + 0x24], 1
jmp 0x40b195
push 3
push dword [ebp + 0x64]
push 0x4c7edc
call fcn.00441277
add esp, 0xc
test al, al
je 0x40bd07
add dword [ebp + 0x64], 6
mov dword [ebp + 0x24], pe_nt_image_headers32
jmp 0x40bd27
push edi
push dword [ebp + 0x64]
push 0x4c7ed8
call fcn.00441277
add esp, 0xc
test al, al
je 0x40bd7e
add dword [ebp + 0x64], 4
mov dword [ebp + 0x24], 8
xor ecx, ecx
jmp 0x40bd6e
mov eax, ecx
call fcn.004b1b03
test al, al
jne 0x40c179
or ecx, 0x20
cmp cx, 0x61
jne 0x40bd49
or dword [ebp + 0x24], 0x40
jmp 0x40bd6b
cmp cx, 0x65
jne 0x40bd55
or byte [ebp + 0x24], 0x80
jmp 0x40bd6b
cmp cx, 0x63
jne 0x40bd61
or byte [ebp + 0x25], 1
jmp 0x40bd6b
cmp cx, 0x64
jne 0x40bd6b
or byte [ebp + 0x25], 2
add dword [ebp + 0x64], edi
mov eax, dword [ebp + 0x64]
mov cx, word [eax]
cmp cx, bx
jne 0x40bd2b
jmp 0x40c179
push 3
push dword [ebp + 0x64]
push 0x4c7ed4
call fcn.00441277
add esp, 0xc
test al, al
je 0x40bdcf
add dword [ebp + 0x64], 6
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x3a
mov byte [ebp + 0x47], 1
jne 0x40b484
add dword [ebp + 0x64], edi
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b484
lea ecx, [ebp - 0x110]
jmp 0x40c004
push 5
push dword [ebp + 0x64]
push str.code:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40be90
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.004485c7
add esp, 0xc
test al, al
je 0x40be1d
mov byte [ebp + 0x46], 1
mov dword [ebp - 0x94], 0xfde9
jmp 0x40c179
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push str.ANSI
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40be43
mov byte [ebp + 0x46], 1
mov dword [ebp - 0x94], ebx
jmp 0x40c179
push 0xffffffffffffffff
lea eax, [ebp - 0x40]
push eax
push 0x4c7eb8
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40be6d
mov byte [ebp + 0x46], 2
mov dword [ebp - 0x94], 0x4b0
jmp 0x40c179
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004429d6
test eax, eax
pop ecx
pop ecx
jle 0x40c179
mov byte [ebp + 0x46], 1
jmp 0x40c179
push esi
lea eax, [ebp + 0x64]
push eax
push str.timeout:
call fcn.0044867a
add esp, 0xc
test al, al
je 0x40bf3d
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x3c], eax
mov cx, word [eax]
cmp cx, 0x23
mov byte [ebp - 0x30], bl
jne 0x40bec2
mov byte [ebp - 0x30], 1
jmp 0x40becc
cmp cx, 0x2a
jne 0x40bed2
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.004939e7
test eax, eax
pop ecx
pop ecx
jle 0x40c179
mov eax, dword [ebp - 0x148]
cmp eax, ebx
jle 0x40c179
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 0x40c179
add dword [ebp + 0x3c], edi
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.004429d6
pop ecx
pop ecx
jmp 0x40c179
push 5
push dword [ebp + 0x64]
push str.user:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40bf9e
add dword [ebp + 0x64], 0xa
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x64]
cmp edi, eax
pop ecx
je 0x40b484
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0xbc]
call fcn.004466b2
cmp word [edi], 0x23
jne 0x40bf96
cmp word [edi + 2], 0x23
jne 0x40bf96
mov byte [ebp - 0x2f], 1
jmp 0x40b484
mov byte [ebp - 0x2f], bl
jmp 0x40b484
push esi
push dword [ebp + 0x64]
push str.passwd:
call fcn.00441277
add esp, 0xc
test al, al
je 0x40bfc9
mov eax, dword [ebp + 0x64]
cmp word [eax + 0xe], 0x23
jne 0x40bfc4
cmp word [eax + 0x10], 0x23
je 0x40bfde
mov byte [ebp - 9], bl
jmp 0x40bfe2
push esi
push dword [ebp + 0x64]
push str.passwd
call fcn.00441277
add esp, 0xc
test al, al
je 0x40c00f
mov byte [ebp - 9], 1
add dword [ebp + 0x64], 0xe
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40b484
lea ecx, [ebp - 0xb8]
sub eax, esi
sar eax, 1
push eax
push esi
jmp 0x40b47f
push 8
lea eax, [ebp + 0x64]
push eax
push str.REALTIME
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40c032
mov dword [ebp - 0x24], 0x100
jmp 0x40b195
push 4
lea eax, [ebp + 0x64]
push eax
push str.HIGH
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40c055
mov dword [ebp - 0x24], 0x80
jmp 0x40b195
push 0xb
lea eax, [ebp + 0x64]
push eax
push str.ABOVENORMAL
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40c078
mov dword [ebp - 0x24], 0x8000
jmp 0x40b195
push 6
lea eax, [ebp + 0x64]
push eax
push str.NORMAL
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40c09b
mov dword [ebp - 0x24], 0x20
jmp 0x40b195
push 0xb
lea eax, [ebp + 0x64]
push eax
push str.BELOWNORMAL
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40c0be
mov dword [ebp - 0x24], 0x4000
jmp 0x40b195
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c7e5c
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x40c0f8
mov edi, dword [ebp + 0x64]
push 0x4c7e50
push 4
pop esi
call fcn.00402de3
cmp al, bl
pop ecx
lea eax, [ebp + 0x64]
je 0x40c104
add dword [ebp + 0x64], 8
push eax
call fcn.0043fe57
pop ecx
mov dword [ebp - 0x24], 0x40
jmp 0x40b195
push 3
push eax
push 0x4c7e4c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40c121
mov byte [ebp + 0x33], 1
jmp 0x40b195
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c7e48
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40c14a
mov byte [ebp - 0x26], 1
mov byte [ebp + 0x46], bl
mov dword [ebp - 0x94], ebx
jmp 0x40b195
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4c7e44
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40c16a
mov byte [ebp - 0x59], 1
jmp 0x40b195
mov eax, dword [ebp - 0x8c]
cmp word [eax], 0x2d
mov dword [ebp + 0x64], eax
jne 0x40c188
lea eax, [ebp + 0x64]
push eax
call fcn.00408f31
pop ecx
jmp 0x40b195
xor esi, esi
inc esi
cmp dword [ebp + 0x24], ebx
je 0x40c1b5
cmp byte [ebp - 0x31], bl
je 0x40c199
or dword [ebp + 0x24], 4
cmp dword [ebp + 0x24], ebx
je 0x40c1b5
cmp byte [ebp + 0x30], bl
je 0x40c1a7
or dword [ebp + 0x24], 0x20
cmp dword [ebp + 0x24], ebx
je 0x40c1b5
cmp byte [ebp - 0x2d], bl
je 0x40c1b5
or byte [ebp + 0x25], 4
cmp dword [ebp - 0x78], ebx
je 0x40c1e7
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x78]
lea ecx, [ebp - 0x1cc]
mov dword [eax], 0x48
call fcn.0040494a
mov eax, dword [ebp - 0x1c8]
neg eax
sbb eax, eax
and eax, 0x80000
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x94], 0x4b0
jne 0x40c1f7
mov byte [ebp + 0x46], 2
mov eax, dword [ebp - 0x14c]
cmp eax, ebx
je 0x40c229
cmp byte [ebp + 0x57], bl
mov dword [ebp + 0x64], eax
jne 0x40c229
cmp dword [ebp + 0x38], ebx
jne 0x40c229
push esi
push ebx
lea ecx, [ebp - 0x10c]
push ecx
mov ecx, dword [ebp + 0x4c]
push eax
call fcn.0045937c
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 0x40c250
cmp word [edi], bx
je 0x40c250
cmp word [ebp - 0x68], bx
je 0x40c253
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], 0x4c7380
je 0x40c33a
cmp word [edi], 0x2a
jne 0x40c282
inc edi
inc edi
inc dword [ebp - 0x20]
cmp word [edi], 0x2a
je 0x40c274
mov dword [ebp + 0x28], edi
cmp word [edi], 0x3f
jne 0x40c2ae
inc edi
inc edi
mov dword [ebp + 0x28], edi
mov dword [ebp - 0x124], edi
jmp 0x40c2a0
inc edi
inc edi
cmp ax, 0x3a
mov dword [ebp + 0x28], edi
je 0x40c2aa
mov ax, word [edi]
cmp ax, bx
jne 0x40c295
jmp 0x40c2ae
mov word [edi - 2], bx
mov ax, word [edi]
push 0x20
pop ecx
or ax, cx
cmp ax, 0x63
jne 0x40c2e6
mov dx, word [edi + 2]
or dx, cx
cmp dx, 0x61
jne 0x40c2e6
mov dx, word [edi + 4]
or dx, cx
cmp dx, 0x62
jne 0x40c2e6
cmp word [edi + 6], 0x3a
jne 0x40c2e6
mov dword [ebp - 0x2c], esi
add edi, 8
jmp 0x40c30a
cmp ax, 0x65
jne 0x40c30d
mov ax, word [edi + 2]
or ax, cx
cmp ax, 0x78
jne 0x40c30d
cmp word [edi + 4], 0x3a
jne 0x40c30d
mov dword [ebp - 0x2c], 0x100
add edi, 6
mov dword [ebp + 0x28], edi
cmp edi, ebx
je 0x40c33a
mov ax, word [edi]
or ax, cx
cmp ax, 0x75
jne 0x40c33a
mov ax, word [edi + 2]
or ax, cx
cmp ax, 0x64
jne 0x40c33a
cmp word [edi + 4], 0x3a
jne 0x40c33a
add edi, 6
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x28], edi
cmp byte [ebp + 0x33], bl
je 0x40c37f
cmp edi, ebx
je 0x40c37f
cmp word [ebp - 0x2c], bx
jne 0x40c37f
cmp word [ebp + 0xc], bx
jne 0x40c37f
xor edx, edx
cmp byte [ebp + 0x31], bl
mov ecx, edi
setne dl
xor eax, eax
mov ax, word [edi]
jmp 0x40c37a
cmp ax, 0x22
jne 0x40c375
inc edx
cmp edx, 2
jl 0x40c375
cmp word [ecx + 2], bx
je 0x40c375
mov byte [ebp + 0x33], bl
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40c360
cmp word [ebp - 0x20], bx
jne 0x40c391
cmp word [ebp - 0x2c], bx
jne 0x40c391
cmp word [ebp + 0xc], bx
je 0x40c394
mov byte [ebp + 0x31], bl
cmp edi, ebx
je 0x40c3b0
push 0x2a
push edi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp - 0x7c], eax
je 0x40c3b0
mov word [eax], bx
inc eax
inc eax
mov dword [ebp - 0x7c], eax
cmp byte [ebp + 0x33], bl
je 0x40c3dd
xor eax, eax
cmp word [ebp + 0xc], bx
sete al
xor ecx, ecx
cmp word [ebp - 0x2c], bx
sete cl
test ecx, eax
je 0x40c3dd
lea eax, [ebp - 0x1bc]
push eax
push edi
call fcn.004152ea
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 0x40c43f
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 0x40c488
mov ecx, dword [0x4e134c]
lea eax, [ebp - 0x270]
or byte [eax + 0x2d], 1
mov dword [eax + 0x3c], ecx
mov ecx, dword [0x4e1350]
mov dword [eax + 0x40], ecx
mov ecx, dword [0x4e1348]
mov dword [ebp - 4], esi
mov dword [eax + 0x38], ecx
cmp byte [ebp + 0x57], bl
je 0x40c9a5
mov ecx, dword [ebp + 0x64]
cmp word [ecx], 0x7c
mov dword [ebp], ebx
jne 0x40c4b6
inc ecx
inc ecx
xor eax, eax
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, 0x7c
je 0x40c49d
call fcn.004b1b03
test al, al
jne 0x40c49d
mov dword [ebp + 0x40], ecx
mov eax, dword [ebp + 0x64]
xor edx, edx
mov dword [ebp + 0x58], edx
cmp word [eax], bx
je 0x40c561
cmp word [eax], 0x7c
jne 0x40c4e6
cmp word [eax + 2], 0x7c
je 0x40c4de
mov edx, eax
mov dword [ebp + 0x58], edx
jmp 0x40c4e6
inc eax
inc eax
cmp word [eax], 0x7c
je 0x40c4de
inc eax
inc eax
cmp word [eax], bx
jne 0x40c4ca
cmp edx, ebx
je 0x40c561
lea eax, [ebp + 0x58]
mov word [edx], bx
add dword [ebp + 0x58], 2
push eax
call fcn.0043fe57
mov edx, dword [ebp + 0x58]
xor eax, eax
mov ax, word [edx]
cmp ax, bx
pop ecx
mov edi, edx
je 0x40c4b9
cmp ax, 0x7c
jne 0x40c540
lea esi, [edi + 2]
cmp word [esi], ax
jne 0x40c540
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
push eax
push esi
push edi
call fcn.004147ef
add esp, 0xc
cmp word [edi], 0x7c
jne 0x40c53d
inc edi
inc edi
jmp 0x40c533
mov edx, dword [ebp + 0x58]
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40c511
cmp word [edx], bx
je 0x40c4b9
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
mov cl, 1
je 0x40c563
mov al, cl
jmp 0x40c56f
xor cl, cl
xor al, al
cmp cl, bl
jne 0x40c56f
mov edx, dword [ebp + 0x40]
mov dword [ebp + 0x58], edx
cmp al, bl
mov dword [ebp + 0x38], edx
je 0x40c654
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 0x40c5c6
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push edi
call fcn.0041195d
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 0x40c61a
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.0040a949
cmp dword [ebp - 0xc8], ebx
je 0x40c61a
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 0x40c654
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 0x40c941
cmp cx, 0x3c
je 0x40c682
cmp cx, 0x3e
je 0x40c682
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c669
mov cx, word [eax]
cmp cx, bx
je 0x40c941
cmp cx, 0x3c
jne 0x40c786
mov word [eax], bx
add dword [ebp + 0x58], 2
lea eax, [ebp + 0x58]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 0x58]
cmp word [eax], bx
pop ecx
je 0x40c786
mov dword [ebp + 0x3c], eax
jmp 0x40c6cb
cmp cx, 0x3c
je 0x40c6d3
cmp cx, 0x3e
je 0x40c6d3
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c6ba
sub eax, dword [ebp + 0x3c]
lea ecx, [ebp - 0xa8]
sar eax, 1
push eax
push dword [ebp + 0x3c]
call fcn.00450608
lea ecx, [ebp + 0x40]
call fcn.0044658e
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x3c]
call fcn.0045937c
mov eax, dword [ebp + 0x40]
push eax
mov dword [ebp + 0x3c], eax
call fcn.004111a0
lea eax, [ebp + 0x3c]
push eax
call fcn.0043fe57
cmp dword [ebp - 0x50], ebx
pop ecx
pop ecx
je 0x40c725
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.00405c6d
cmp dword [ebp - 0x50], ebx
jne 0x40c770
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.00405c6d
cmp dword [ebp - 0x50], ebx
jne 0x40c770
mov dword [ebp - 0x50], ebx
lea ecx, [ebp + 0x40]
call fcn.0043fe25
lea ecx, [ebp - 0xa8]
call fcn.0043fe25
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x3e
jne 0x40c65d
mov word [eax], bx
mov eax, dword [ebp + 0x58]
xor esi, esi
cmp word [eax - 2], 0x32
mov byte [ebp + 0x57], 1
jne 0x40c7ab
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 0x40c7be
add dword [ebp + 0x58], 2
mov esi, edi
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x26
jne 0x40c7cf
add dword [ebp + 0x58], 2
mov byte [ebp + 0x57], 3
lea eax, [ebp + 0x58]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 0x58]
cmp word [eax], bx
pop ecx
je 0x40c65d
mov dword [ebp + 4], eax
jmp 0x40c7fb
cmp cx, 0x3c
je 0x40c803
cmp cx, 0x3e
je 0x40c803
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40c7ea
sub eax, dword [ebp + 4]
lea ecx, [ebp - 0x98]
sar eax, 1
push eax
push dword [ebp + 4]
call fcn.00450608
lea ecx, [ebp - 0x40]
call fcn.0044658e
mov ecx, dword [ebp + 0x4c]
push edi
push ebx
lea eax, [ebp - 0x40]
push eax
push dword [ebp + 4]
call fcn.0045937c
mov eax, dword [ebp - 0x40]
push eax
mov dword [ebp + 4], eax
call fcn.004111a0
lea eax, [ebp + 4]
push eax
call fcn.0043fe57
test byte [ebp + 0x57], 1
pop ecx
pop ecx
je 0x40c85e
cmp dword [ebp - 0x18], ebx
je 0x40c85b
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18], ebx
test byte [ebp + 0x57], 2
je 0x40c881
cmp dword [ebp - 0xe0], ebx
je 0x40c878
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.00405c6d
mov edi, eax
cmp edi, ebx
jne 0x40c916
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.00405c6d
mov edi, eax
cmp edi, ebx
jne 0x40c916
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.00405c6d
mov edi, eax
cmp edi, ebx
jne 0x40c916
lea ecx, [ebp - 0x40]
call fcn.0043fe25
lea ecx, [ebp - 0x98]
call fcn.0043fe25
mov eax, dword [ebp + 0x58]
jmp 0x40c65a
cmp esi, ebx
je 0x40c925
push 2
push ebx
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp byte [ebp + 0x57], 1
jne 0x40c930
mov dword [ebp - 0x18], edi
jmp 0x40c8fb
cmp byte [ebp + 0x57], 3
mov dword [ebp], edi
je 0x40c92b
mov dword [ebp - 0xe0], edi
jmp 0x40c8fb
mov ecx, dword [ebp - 0x50]
cmp ecx, ebx
mov edx, 0x100
je 0x40c95c
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 0x40c972
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 0x40c988
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.0045937c
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 0x40c9e7
cmp ax, 0x2a
je 0x40c9e7
cmp ax, 0x40
jne 0x40c9f0
push str.WinSta0WinLogon
lea ecx, [ebp - 0x11c]
call fcn.004506c8
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 0x40c9ad
cmp ax, 0x3d
jne 0x40ca02
or dword [ebp + 0x20], 1
inc dword [ebp - 0x100]
jmp 0x40c9ea
cmp ax, 0x24
jne 0x40ca0e
mov byte [ebp + 0x47], 1
jmp 0x40c9ea
cmp ax, 0x26
jne 0x40ca1d
mov dword [ebp - 0x14], 3
jmp 0x40c9ea
cmp ax, 0x5e
jne 0x40ca28
mov dword [ebp - 0x14], edi
jmp 0x40c9ea
cmp ax, 0x5f
je 0x40ca23
cmp dword [ebp - 0x14], esi
je 0x40ca57
cmp byte [ebp + 0x2f], bl
je 0x40ca57
push str.WinSta0Default
lea ecx, [ebp - 0x11c]
call fcn.004506c8
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0x270]
mov dword [eax + 8], ecx
lea edi, [ebp - 0x270]
cmp dword [edi + 8], ebx
je 0x40ca75
test byte [ebp + 0x1b], 1
je 0x40ca75
call fcn.0040a82a
cmp eax, 1
jge 0x40ca75
mov dword [edi + 8], ebx
mov eax, dword [ebp + 0x78]
cmp eax, ebx
je 0x40ca90
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 0x40ca9e
cmp dword [ebp + 0x20], ebx
je 0x40ca9e
or dword [ebp + 0x24], 0x10
cmp byte [ebp + 0x47], bl
je 0x40cabe
mov eax, dword [ebp - 0x110]
cmp word [eax], bx
jne 0x40cabe
push 0x4c7df4
lea ecx, [ebp - 0x110]
call fcn.0045066c
cmp byte [ebp - 0x6b], bl
je 0x40cb0f
push 0x5c
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edi, eax
cmp edi, ebx
je 0x40cad8
inc edi
inc edi
jmp 0x40cadb
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.004410db
add esp, 0x18
mov ebx, eax
jmp 0x40f464
lea eax, [ebp + 0x64]
push eax
call fcn.0043fe57
cmp dword [ebp - 0x70], ebx
pop ecx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x12c], ebx
je 0x40cbc8
lea ecx, [ebp - 0x40]
mov byte [ebp + 0x47], bl
call fcn.0044658e
mov ecx, dword [ebp + 0x4c]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x70]
call fcn.00415610
cmp eax, ebx
je 0x40cbb6
mov ecx, dword [eax]
cmp word [ecx], bx
je 0x40cbb6
push eax
lea ecx, [ebp - 0x40]
call fcn.0045069a
push dword [ebp + 0x64]
lea ecx, [ebp - 0x12c]
call fcn.004506c8
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.00408160
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.0043fe25
cmp edi, ebx
je 0x40cbc8
mov ebx, edi
jmp 0x40f44e
lea ecx, [ebp - 0x40]
call fcn.0043fe25
mov ebx, 0x80070057
jmp 0x40f44e
mov eax, dword [ebp - 0x140]
cmp word [eax], bx
je 0x40cc2a
push dword [ebp + 0x64]
call fcn.004135f9
pop ecx
push 0xffffffffffffffff
push str.__k:0
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x64], eax
call fcn.00450621
push dword [ebp + 0x64]
lea ecx, [ebp + 0x74]
call fcn.004465fa
push 0x4c7d88
lea ecx, [ebp + 0x74]
call fcn.004465fa
push dword [ebp - 0x140]
lea ecx, [ebp + 0x74]
call fcn.004465fa
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp + 0x74]
call fcn.0046ebca
mov ebx, eax
lea ecx, [ebp + 0x74]
jmp 0x40f449
cmp byte [ebp - 0x71], bl
je 0x40cdf7
lea ecx, [ebp + 0x78]
call fcn.0044658e
push dword [ebp + 0x64]
mov dword [ebp + 0x40], ebx
call fcn.004135f9
pop ecx
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x64], eax
call fcn.0044658e
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x70]
push eax
push dword [ebp + 0x64]
mov dword [ebp + 8], ebx
call fcn.0049ebc9
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, ebx
jne 0x40cc7f
lea ecx, [ebp + 0x70]
call fcn.0043fe25
lea ecx, [ebp + 0x78]
jmp 0x40cbb9
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.004505eb
push dword [ebp + 8]
mov edi, dword [ebp - 0x48]
lea ecx, [ebp + 0x7c]
call fcn.004505eb
push dword [ebp + 0x74]
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x7c]
push edi
call fcn.0040a5ef
add esp, 0x14
cmp dword [ebp + 0x40], ebx
mov edi, 0x100
jle 0x40cd16
mov eax, dword [ebp + 0x4c]
cmp dword [eax + 0x28], ebx
jne 0x40ccd7
push ebx
push eax
call fcn.00412e85
pop ecx
pop ecx
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax + 0x28]
xor esi, esi
cmp eax, ebx
je 0x40cce6
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 0x40cdd7
cmp eax, dword [ebp + 0x40]
jge 0x40cdd7
cmp eax, ebx
mov ecx, dword [ebp + 0x78]
mov dword [ebp + 0x74], ecx
jle 0x40cd7b
mov esi, eax
lea eax, [ebp + 0x74]
call fcn.00414c6e
mov eax, dword [ebp + 0x74]
movzx eax, word [eax]
push eax
call fcn.0040fb2a
add esp, 4
test al, al
je 0x40cd61
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
movzx eax, word [eax]
push eax
call fcn.0040fb2a
add esp, 4
test al, al
je 0x40cd78
add dword [ebp + 0x74], 2
dec esi
jne 0x40cd42
mov esi, dword [ebp + 0x74]
lea eax, [ebp + 0x74]
call fcn.00414c6e
mov eax, dword [ebp + 0x74]
mov word [eax], bx
cmp word [esi], bx
je 0x40cdd7
push 0xffffffffffffffff
push str.__k:0
lea ecx, [ebp + 0x68]
call fcn.00450621
push dword [ebp + 0x64]
lea ecx, [ebp + 0x68]
call fcn.004465fa
push 0x4c7d88
lea ecx, [ebp + 0x68]
call fcn.004465fa
push esi
lea ecx, [ebp + 0x68]
call fcn.004465fa
mov ecx, dword [ebp + 0x4c]
push ebx
push dword [ebp + 0x68]
call fcn.0046ebca
lea ecx, [ebp + 0x68]
mov ebx, eax
call fcn.0043fe25
lea ecx, [ebp + 0x7c]
call fcn.0043fe25
lea ecx, [ebp - 0x48]
call fcn.0043fe25
lea ecx, [ebp + 0x70]
call fcn.0043fe25
lea ecx, [ebp + 0x78]
jmp 0x40f449
push dword [ebp + 0x64]
lea ecx, [ebp - 0x120]
call fcn.004505eb
cmp byte [ebp - 0x2d], bl
je 0x40cec7
push str.PECMDpecmd_cmd
lea ecx, [ebp - 0x120]
call fcn.004506c8
push 1
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.0041a9b6
add esp, 0xc
push eax
lea ecx, [ebp - 0x120]
mov dword [ebp + 0x64], eax
call fcn.004465fa
lea eax, [ebp - 0xe8]
push eax
call fcn.00404898
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 0x40ce65
cmp byte [ebp - 0x59], bl
je 0x40ce6f
lea eax, [ebp - 0x270]
or byte [eax + 0x2c], 0x80
xor edi, edi
cmp ecx, ebx
je 0x40ce83
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 0x40ce92
cmp byte [ebp - 0x31], bl
je 0x40ce9c
lea eax, [ebp - 0x270]
or byte [eax + 0x2f], 8
cmp dword [ebp - 0x114], ebx
jg 0x40e63b
lea eax, [ebp - 0x270]
cmp dword [eax + 8], ebx
je 0x40d181
cmp byte [ebp + 0x1b], bl
jle 0x40d181
mov eax, edi
jmp 0x40d183
cmp byte [ebp - 0x41], bl
je 0x40ce4c
cmp dword [ebp - 0x14], esi
je 0x40ce4c
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.0041a9b6
mov esi, eax
mov eax, dword [ebp + 0x64]
mov dword [ebp + 4], eax
push 3
lea eax, [ebp + 4]
push eax
push 0x4c7d84
call fcn.004485c7
add esp, 0x18
test al, al
jne 0x40cfd1
push 7
lea eax, [ebp + 4]
push eax
push str.cmd.exe
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x40cfd1
cmp dword [0x4e2cc4], ebx
jne 0x40cf7b
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, 0x4e2cc4
push eax
mov ecx, edi
call fcn.004506c8
push str.System32cmd.exe
mov ecx, edi
call fcn.004465fa
push dword [0x4e2cc4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x4e2c74], ax
movsx eax, word [0x4e2c74]
push eax
push dword [ebp + 4]
mov dword [ebp + 0x38], ebx
push dword [0x4e2cc4]
call fcn.00402d7a
add esp, 0xc
test al, al
je 0x40d046
movsx eax, word [0x4e2c74]
mov ecx, dword [ebp + 4]
lea ecx, [ecx + eax*2]
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x22
je 0x40cfc4
call fcn.004b1b03
test al, al
je 0x40d046
lea eax, [ebp + 4]
push eax
mov dword [ebp + 4], ecx
call fcn.00408f31
pop ecx
push 2
lea eax, [ebp + 4]
push eax
push 0x4c7d54
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40d046
mov eax, dword [ebp + 4]
cmp word [eax], 0x22
jne 0x40d02c
add eax, 2
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x22
pop ecx
je 0x40d021
push 4
lea eax, [ebp + 0x78]
push eax
push 0x4c7d4c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x40d029
mov eax, dword [ebp + 0x78]
mov dword [ebp + 4], eax
jmp 0x40d02c
mov eax, dword [ebp + 4]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.0041a9b6
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 0x40ce4c
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 0x40d083
push 4
push str..bat
lea eax, [esi - 8]
push eax
call edi
test eax, eax
jne 0x40ce4c
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.00405c6d
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 0x40d124
mov al, byte [ebp - 0x52c]
mov dword [ebp - 0x14], 0x10000000
jmp 0x40d10c
cmp al, 0xd
je 0x40d113
cmp al, 0xa
je 0x40d113
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x40d101
jmp 0x40d113
inc edi
movsx ax, byte [edi]
push eax
call fcn.0040fb2a
add esp, 4
test al, al
jne 0x40d112
cmp dword [ebp + 0x38], ebx
jne 0x40d154
cmp byte [edi], 0x3a
jne 0x40d139
cmp byte [edi + 1], 0x3a
jne 0x40d139
inc edi
inc edi
jmp 0x40d139
inc edi
cmp byte [edi], 0x40
je 0x40d138
push 7
push edi
push 0x4c7d20
call dword [sym.imp.SHLWAPI.dll_StrCmpNIA]
test eax, eax
jne 0x40d154
mov byte [ebp + 0x7b], 1
lea ecx, [ebp + 0x40]
call fcn.00402d2b
cmp byte [ebp + 0x7b], bl
mov ax, word [ebp - 0xa8]
mov word [esi], ax
je 0x40ce4c
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x4c]
call fcn.004236b4
mov ebx, eax
jmp 0x40f443
xor eax, eax
cmp eax, ebx
mov dword [ebp + 0x1c], ebx
mov dword [ebp - 0x80], ebx
je 0x40d197
mov dword [ebp - 0x80], edi
mov dword [ebp + 0x1c], 4
cmp byte [ebp - 0x61], bl
je 0x40d1a0
or dword [ebp + 0x1c], 0x10
push eax
lea ecx, [ebp - 0xa8]
call fcn.00402e12
cmp byte [0x4e2e94], bl
mov esi, dword [ebp + 0x68]
mov dword [ebp + 0x38], 0x4e3110
jne 0x40d1d9
cmp esi, ebx
je 0x40d1c7
cmp byte [esi + 8], bl
jne 0x40d1d9
cmp byte [ebp - 0x51], bl
mov byte [ebp + 0x7b], bl
je 0x40d1dd
cmp esi, ebx
je 0x40d1dd
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x38], eax
mov byte [ebp + 0x7b], 1
push ebx
lea ecx, [ebp + 0x40]
call fcn.004505eb
cmp byte [ebp + 0x7b], bl
mov dword [ebp + 0x68], ebx
je 0x40d47a
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push ebx
lea ecx, [ebp - 0x30c]
call fcn.004154c6
cmp esi, ebx
je 0x40d21c
push dword [ebp + 0x38]
lea ecx, [ebp - 0x30c]
push esi
call fcn.004427ae
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov edi, eax
push 0x106
lea ecx, [ebp]
mov dword [ebp - 0xc4], edi
call fcn.004465ac
mov eax, dword [ebp]
mov dword [ebp + 0x68], eax
jmp 0x40d2b8
mov dword [ebp + 0x78], edi
jmp 0x40d24a
cmp ax, 0x3d
je 0x40d254
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40d244
mov esi, edi
sub esi, dword [ebp + 0x78]
sar esi, 1
cmp word [edi], bx
je 0x40d2b6
cmp word [edi + 2], bx
je 0x40d2b1
cmp esi, 0x104
jg 0x40d2b1
push esi
push dword [ebp + 0x78]
push dword [ebp + 0x68]
call fcn.00405c0c
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.00411019
test eax, eax
jne 0x40d2b1
push 0xffffffffffffffff
push esi
lea eax, [edi + 2]
push eax
push dword [ebp + 0x78]
lea ecx, [ebp - 0x30c]
call fcn.0041556a
jmp 0x40d2b1
inc edi
inc edi
cmp word [edi], bx
jne 0x40d2af
inc edi
inc edi
cmp word [edi], bx
jne 0x40d23f
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 0x40d382
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 0x40d370
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 0x40d339
mov ecx, dword [ebp + 0x68]
mov dword [ebp - 0x90], ecx
mov dword [ebp + 0x38], edi
jmp 0x40d33f
mov ecx, dword [ebp - 0x90]
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x3c]
jl 0x40d306
cmp ecx, dword [ebp + 0x78]
je 0x40d370
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 0x40d2df
cmp dword [ebp + 0x3c], ebx
mov dword [ebp + 0x78], ebx
jle 0x40d3c4
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 0x40d390
add esi, 4
push esi
lea ecx, [ebp + 0x40]
call fcn.004465d3
mov edi, dword [ebp + 0x40]
xor esi, esi
cmp dword [ebp + 0x3c], ebx
mov dword [ebp + 0x68], edi
jle 0x40d446
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.00405c0c
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.00405c0c
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 0x40d3dd
mov word [edi], bx
lea ecx, [ebp]
mov word [edi + 2], bx
call fcn.0043fe25
push ebx
lea ecx, [ebp - 0x30c]
call fcn.00436e8d
lea ecx, [ebp - 0x2cc]
call fcn.0043fe25
push 0x4e3d84
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 0x40d489
inc al
jmp 0x40d493
cmp dword [ebp - 0xcc], ebx
je 0x40d493
mov al, 2
cmp word [ebp + 0x34], bx
je 0x40d599
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.004425fc
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 0x40d532
cmp eax, 0xffffffff
je 0x40d532
push 0xffffffffffffffff
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp + 0x78]
call fcn.00450621
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.00405c6d
lea ecx, [ebp + 0x78]
call fcn.0043fe25
jmp 0x40d539
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 0x40d58d
cmp byte [ebp + 0x32], bl
jne 0x40d590
mov dword [eax + 0x3c], esi
test byte [ebp + 0x32], 1
je 0x40d599
mov dword [eax + 0x40], esi
mov eax, 0x4e3d84
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 0x40d5d2
or dword [ebp + 0x1c], 0x1000004
cmp byte [ebp - 0x39], bl
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xe4], ebx
je 0x40d5f6
lea eax, [ebp - 0xc4]
push eax
call fcn.00403f71
pop ecx
mov dword [ebp - 0xe4], eax
cmp byte [ebp + 0x47], bl
mov esi, dword [ebp + 0x28]
je 0x40d606
cmp esi, ebx
je 0x40e3c8
cmp byte [ebp - 0x6a], bl
je 0x40d6c8
cmp word [ebp - 0x2c], bx
jne 0x40d6c8
cmp word [ebp + 0xc], bx
jne 0x40d6c8
push dword [ebp + 0x64]
lea eax, [ebp + 0x3c]
push esi
push dword [ebp + 0x50]
push eax
call fcn.004047c4
mov edi, eax
push edi
call fcn.004048bc
add esp, 0x14
test eax, eax
jne 0x40d8e2
cmp dword [ebp - 0x10], ebx
push ebx
je 0x40d68c
movzx eax, word [ebp - 0x10]
push 0x4c7504
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.00405d34
add esp, 0x38
mov dword [ebp - 8], eax
jmp 0x40e196
call fcn.00404729
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 0x40d684
mov eax, dword [ebp - 0xbc]
cmp word [eax], bx
je 0x40d8b4
cmp word [ebp - 0x2c], bx
jne 0x40d8b4
cmp word [ebp + 0xc], bx
jne 0x40d8b4
xor edi, edi
inc edi
cmp byte [ebp - 0x2f], bl
mov dword [ebp - 8], ebx
je 0x40d754
push eax
lea ecx, [ebp - 0x84]
call fcn.00402da4
lea ecx, [ebp + 0x78]
call fcn.0044641a
push dword [ebp - 0xbc]
call fcn.0043fdd1
lea eax, [ebp + 0x78]
push eax
push dword [ebp - 0x84]
call fcn.0044c677
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.00446649
lea ecx, [ebp + 0x78]
call fcn.0043fe12
lea ecx, [ebp - 0x84]
call fcn.0043fe12
cmp byte [ebp - 9], bl
je 0x40d7c3
push dword [ebp - 0xb8]
lea ecx, [ebp - 0x84]
call fcn.00402da4
lea ecx, [ebp + 0x78]
call fcn.0044641a
push dword [ebp - 0xb8]
call fcn.0043fdd1
cmp edi, ebx
pop ecx
je 0x40d79c
lea eax, [ebp + 0x78]
push eax
push dword [ebp - 0x84]
call fcn.0044c677
test eax, eax
pop ecx
pop ecx
je 0x40d79c
xor edi, edi
inc edi
jmp 0x40d79e
xor edi, edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x78]
lea ecx, [ebp - 0xb8]
call fcn.00446649
lea ecx, [ebp + 0x78]
call fcn.0043fe12
lea ecx, [ebp - 0x84]
call fcn.0043fe12
cmp edi, ebx
je 0x40d897
mov edi, dword [ebp - 0xbc]
mov esi, dword [sym.imp.SHLWAPI.dll_StrChrW]
push 0x40
push edi
call esi
cmp eax, ebx
jne 0x40d7e9
push 0x5c
push edi
call esi
cmp eax, ebx
je 0x40d7f7
mov word [eax], bx
mov esi, dword [ebp - 0xbc]
lea edi, [eax + 2]
jmp 0x40d7fc
mov esi, 0x4c7504
push dword [ebp + 0x64]
lea eax, [ebp + 0x3c]
push dword [ebp + 0x28]
push dword [ebp + 0x50]
push eax
call fcn.004047c4
push eax
mov dword [ebp + 0x50], eax
call fcn.004048bc
add esp, 0x14
test eax, eax
jne 0x40d8e2
cmp dword [ebp - 0x10], ebx
je 0x40d862
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.00405d34
add esp, 0x38
jmp 0x40d894
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.0043fdd1
push dword [ebp - 0xbc]
call fcn.0043fdd1
pop ecx
pop ecx
jmp 0x40e196
cmp byte [ebp + 0x33], bl
je 0x40d935
cmp esi, ebx
je 0x40d8c3
cmp word [esi], 0x26
je 0x40d935
cmp word [ebp - 0x20], bx
jne 0x40d935
cmp word [ebp - 0x2c], bx
jne 0x40d935
cmp word [ebp + 0xc], bx
jne 0x40d935
push dword [ebp + 0x50]
call fcn.004048bc
test eax, eax
pop ecx
je 0x40d8ee
mov dword [ebp + 0x14], 3
jmp 0x40e4d3
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.004a2f3b
xor ecx, ecx
add esp, 0x2c
test eax, eax
setg cl
mov dword [ebp - 8], ecx
jmp 0x40e196
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.0044641a
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 0x40da28
push 0x22
pop edi
cmp word [esi], di
jne 0x40d991
add esi, 2
mov dword [ebp + 0x78], esi
push 0x3a
lea eax, [ebp + 0x78]
mov dword [ebp - 0xa4], esi
call fcn.00414c4e
mov eax, dword [ebp + 0x78]
cmp eax, esi
pop ecx
je 0x40d9b3
cmp word [eax - 2], di
jne 0x40d9b3
mov word [eax - 2], bx
cmp word [eax], 0x3a
jne 0x40d9be
mov word [eax], bx
inc eax
inc eax
cmp word [eax], di
mov esi, eax
jne 0x40d9d7
lea esi, [eax + 2]
inc eax
inc eax
cmp word [eax], di
jne 0x40d9d2
mov word [eax], bx
cmp word [eax], bx
jne 0x40d9c8
cmp word [ebp - 0x2c], bx
je 0x40d9f5
push 0x3a
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp + 0x28], eax
je 0x40d9f5
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.0043da08
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd0]
add esp, 0x18
add ecx, eax
mov dword [ebp + 0x14], ecx
jmp 0x40dc59
cmp esi, ebx
je 0x40dafa
cmp word [esi], 0x26
jne 0x40dae1
mov ecx, dword [ebp + 0x4c]
push ebx
push 0xffffffffffffffff
push ebx
push esi
call fcn.00411019
mov esi, eax
cmp esi, ebx
jne 0x40daa8
lea ecx, [ebp + 0x58]
call fcn.0043fe25
lea ecx, [ebp - 0xd8]
call fcn.0043fe25
lea ecx, [ebp - 0x24]
call fcn.0043fe25
lea ecx, [ebp]
call fcn.0043fe25
lea ecx, [ebp - 0x38]
call fcn.0043fe25
lea ecx, [ebp + 0x3c]
call fcn.0043fe25
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp + 0x40]
call fcn.0043fe25
lea ecx, [ebp - 0xa8]
call fcn.00414f56
mov ebx, 0x80070057
jmp 0x40f443
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xd4], eax
add eax, 0x10
push eax
lea ecx, [ebp - 0xd8]
call fcn.0044645c
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xd4]
inc eax
push eax
push dword [esi + 4]
push dword [ebp - 0xd8]
call fcn.00414839
add esp, 0xc
jmp 0x40dc59
mov al, byte [ebp + 0x31]
neg al
sbb eax, eax
and eax, 2
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.0044e7a8
pop ecx
pop ecx
mov dword [ebp - 0x70], eax
mov edi, dword [ebp - 0x70]
cmp edi, ebx
mov dword [ebp - 0x19c], ebx
jne 0x40db9d
mov eax, dword [ebp + 0x64]
cmp eax, ebx
je 0x40db1b
cmp word [eax], 0x2a
jne 0x40db1b
inc dword [ebp - 0x20]
cmp byte [ebp + 0x33], bl
je 0x40db23
mov dword [ebp - 0x20], ebx
cmp word [ebp - 0x2c], bx
je 0x40e1af
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 0x40db92
push 2
pop eax
mov word [edi], bx
add edi, eax
mov dword [ebp + 0x28], edi
je 0x40db92
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 0x40db82
inc eax
inc eax
mov dword [ebp - 0x68], eax
mov dword [ebp + 0x78], eax
push 0x22
lea eax, [ebp + 0x78]
call fcn.00414c4e
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
je 0x40db82
mov word [eax], bx
push dword [ebp - 0x68]
lea ecx, [ebp + 0x58]
call fcn.0045066c
jmp 0x40dc8b
mov edi, dword [ebp - 0x70]
cmp edi, ebx
je 0x40e1af
cmp word [ebp - 0x2c], bx
je 0x40dbbc
push 0x3a
push ebx
push edi
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
mov dword [ebp + 0x28], eax
je 0x40dbbc
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x28], eax
add dword [ebp - 0x70], 2
push 0x4c7cf8
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00457cfe
mov ecx, dword [0x4e2fc8]
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 0x40dc06
cmp word [edx + 2], bx
je 0x40dc1a
cmp ax, bx
je 0x40dc1a
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 0x40dc4b
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.0041593f
add esp, 0x14
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x78], ebx
je 0x40dc59
push dword [ebp + 0x78]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0xd4], ebx
je 0x40e17b
cmp dword [ebp + 0x14], ebx
je 0x40e17b
cmp word [ebp - 0x20], bx
mov dword [ebp - 0x118], 1
ja 0x40dc88
cmp word [ebp - 0x2c], bx
je 0x40e0a0
mov edi, dword [ebp + 0x28]
cmp dword [ebp + 8], ebx
mov eax, dword [ebp - 0x124]
jne 0x40dc9b
mov eax, 0x4c7380
push eax
push str.exedat
push dword [ebp - 0x7c]
lea eax, [ebp - 0x58]
push dword [ebp + 8]
push eax
call fcn.00406034
add esp, 0x14
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x38]
call fcn.0045069a
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 0x40dd0b
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.00443eca
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40dd18
cmp dword [ebp - 0x118], 1
jle 0x40e17b
cmp edi, ebx
push dword [ebp - 0x58]
mov byte [ebp + 0x7b], bl
je 0x40de76
mov eax, dword [ebp + 0x58]
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x58], ebx
call fcn.004506c8
push str..ex
lea ecx, [ebp + 0x58]
call fcn.004465fa
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp - 0x38]
call fcn.0045069a
cmp word [edi], 0x5c
mov esi, edi
je 0x40dd60
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 0x40ddb9
push 0x4c7cc8
lea ecx, [ebp + 0xc]
call fcn.00401000
push dword [ebp + 0x38]
lea ecx, [ebp + 0xc]
call fcn.004465fa
push 0x4c7cc0
lea ecx, [ebp + 0xc]
call fcn.004465fa
push dword [ebp + 0x58]
lea ecx, [ebp + 0xc]
call fcn.004465fa
push dword [ebp + 0xc]
mov ecx, dword [ebp + 0x4c]
call fcn.00431adf
lea ecx, [ebp + 0xc]
call fcn.0043fe25
jmp 0x40de57
cmp word [ebp - 0x2c], 0x100
jne 0x40de57
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 0x4c7cb8
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 0x40de43
push dword [ebp - 0xfc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0xf8], ebx
je 0x40de57
push dword [ebp - 0xf8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
lea ecx, [ebp + 0x58]
call fcn.004465fa
lea eax, [ebp + 0x58]
push eax
lea ecx, [ebp + 0x3c]
call fcn.0045069a
lea ecx, [ebp + 0x38]
call fcn.0043fe25
jmp 0x40de7e
lea ecx, [ebp - 0x38]
call fcn.004506c8
mov edx, dword [ebp + 0x64]
mov si, word [edx]
cmp si, 0x22
mov eax, edx
jne 0x40de8f
lea eax, [edx + 2]
cmp word [eax], 0x3f
jne 0x40df1c
lea edi, [eax + 2]
mov cx, word [edi]
cmp cx, 0x3f
jne 0x40dead
mov esi, dword [ebp + 0x58]
lea edi, [eax + 4]
jmp 0x40def1
cmp cx, 0x5c
jne 0x40df1c
cmp si, 0x22
je 0x40deee
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.004465d3
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.0043fe25
mov edx, dword [ebp + 0x64]
mov esi, dword [ebp - 0x38]
cmp word [edx], 0x22
jne 0x40df04
push 0x4c6cf8
lea ecx, [ebp]
call fcn.004506c8
push esi
lea ecx, [ebp]
call fcn.004465fa
push edi
lea ecx, [ebp]
call fcn.004465fa
mov edx, dword [ebp]
mov dword [ebp + 0x64], edx
cmp dword [ebp + 0x28], ebx
je 0x40df7f
cmp word [ebp - 0x20], bx
ja 0x40df55
lea eax, [ebp - 0xd8]
push eax
push dword [ebp + 0x3c]
mov dword [ebp + 0x28], ebx
call fcn.004152ea
cmp dword [ebp - 0xd4], ebx
pop ecx
pop ecx
je 0x40df7c
mov eax, dword [ebp - 0xd8]
mov byte [ebp + 0x7b], 1
mov dword [ebp + 0x14], eax
jmp 0x40e071
cmp byte [ebp + 0x47], bl
je 0x40df7f
cmp dword [ebp + 0x50], ebx
jne 0x40df65
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 0x40e3ad
jmp 0x40e071
mov edx, dword [ebp + 0x64]
cmp dword [ebp + 0x28], ebx
mov edi, dword [ebp + 0x58]
je 0x40df91
mov eax, dword [ebp + 0x28]
cmp word [eax], bx
jne 0x40df91
xor edi, edi
mov eax, dword [ebp + 0x50]
cmp eax, ebx
jne 0x40df9b
mov eax, dword [ebp - 0x38]
push edx
push dword [ebp + 0x58]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.004047c4
mov esi, eax
push esi
mov dword [ebp + 0x50], esi
call fcn.004048bc
add esp, 0x14
test eax, eax
jne 0x40e1cf
cmp dword [ebp + 0x24], ebx
je 0x40dff3
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.00403101
add esp, 0x2c
jmp 0x40e05a
cmp dword [ebp - 0x10], ebx
je 0x40e030
movzx eax, word [ebp - 0x10]
push ebx
push 0x4c7504
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.00405d34
add esp, 0x38
jmp 0x40e05a
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.004b3c7a
add esp, 0x28
cmp byte [ebp - 0x20], 2
mov dword [ebp - 8], eax
jl 0x40e17b
cmp word [ebp - 0x2c], bx
jne 0x40e17b
cmp byte [ebp + 0x7b], 1
jne 0x40e07c
or eax, 0xffffffff
jmp 0x40e085
lea eax, [ebp - 0x18c]
mov eax, dword [eax + 8]
push eax
push dword [ebp - 0x58]
call fcn.004039a5
cmp byte [ebp + 0x7b], 1
mov eax, dword [ebp - 0x58]
pop ecx
pop ecx
mov word [eax], bx
jne 0x40e1a6
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x22
mov edi, eax
jne 0x40e0ae
add eax, 2
cmp word [eax], 0x3f
mov dword [ebp + 0x38], ebx
jne 0x40e0d5
cmp word [eax + 2], 0x5c
jne 0x40e0d5
lea edi, [eax + 4]
cmp word [edi], 0x22
jne 0x40e0d5
dec edi
dec edi
mov ax, word [edi]
mov word [ebp + 0x38], ax
mov word [edi], 0x22
push dword [ebp + 0x50]
call fcn.004048bc
test eax, eax
pop ecx
jne 0x40e1cf
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.004a2f3b
add esp, 0x2c
cmp word [ebp + 0x38], bx
mov dword [ebp - 0xa4], eax
je 0x40e12a
mov ax, word [ebp + 0x38]
mov word [edi], ax
cmp dword [ebp - 0xa4], ebx
jl 0x40dc88
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x40dc88
push esi
push ebx
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, ebx
je 0x40dc88
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 0x40e17b
cmp word [eax], bx
jne 0x40e071
lea ecx, [ebp + 0x58]
call fcn.0043fe25
lea ecx, [ebp - 0xd8]
call fcn.0043fe25
lea ecx, [ebp - 0x24]
call fcn.0043fe25
cmp dword [ebp - 8], ebx
je 0x40e4c5
xor eax, eax
jmp 0x40e4cb
cmp byte [ebp + 0x7b], 2
jmp 0x40e3a7
push dword [ebp + 0x64]
lea eax, [ebp + 0x3c]
push esi
push dword [ebp + 0x50]
push eax
call fcn.004047c4
push eax
mov dword [ebp + 0x50], eax
call fcn.004048bc
add esp, 0x14
test eax, eax
je 0x40e1f6
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x14], 3
call fcn.0043fe25
lea ecx, [ebp - 0xd8]
call fcn.0043fe25
lea ecx, [ebp - 0x24]
call fcn.0043fe25
jmp 0x40e4d3
cmp word [ebp + 0x34], bx
jne 0x40e279
push 0x5c
push ebx
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov edi, eax
cmp edi, ebx
je 0x40e212
inc edi
inc edi
jmp 0x40e215
mov edi, dword [ebp + 0x64]
push 8
push edi
push str.winpeshl
call fcn.00441277
add esp, 0xc
test al, al
je 0x40e247
xor eax, eax
mov ax, word [edi + 0x10]
cmp ax, bx
je 0x40e243
cmp ax, 0x2e
je 0x40e243
call fcn.004b1b03
test al, al
je 0x40e247
mov byte [ebp + 0x13], 1
push 8
push edi
push str.wpeinit
call fcn.00441277
add esp, 0xc
test al, al
je 0x40e279
xor eax, eax
mov ax, word [edi + 0xe]
cmp ax, bx
je 0x40e275
cmp ax, 0x2e
je 0x40e275
call fcn.004b1b03
test al, al
je 0x40e279
mov byte [ebp + 0x13], 1
test byte [ebp + 0x73], 1
jne 0x40e284
cmp dword [ebp - 0x4c], ebx
je 0x40e2ac
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.004410db
add esp, 0x18
cmp dword [ebp + 0x24], ebx
je 0x40e2e2
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.00403101
add esp, 0x2c
jmp 0x40e34d
cmp dword [ebp - 0x10], ebx
je 0x40e321
movzx eax, word [ebp - 0x10]
push ebx
push 0x4c7504
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.00405d34
add esp, 0x38
jmp 0x40e34d
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.004b3c7a
add esp, 0x28
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x40e357
mov byte [ebp + 0x13], bl
cmp byte [ebp + 0x13], bl
je 0x40e382
call fcn.0041acbe
test eax, eax
je 0x40e369
or dword [ebp + 0x20], 1
cmp dword [ebp + 0x20], ebx
jne 0x40e382
push str.waitpeinit.pecmd
call fcn.004b3ca3
neg eax
sbb eax, eax
neg eax
pop ecx
mov dword [ebp + 0x20], eax
cmp dword [ebp - 8], ebx
jne 0x40e17b
cmp byte [ebp + 0x47], bl
jne 0x40e17b
cmp esi, ebx
jne 0x40e17b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xc1
jne 0x40e17b
lea ecx, [ebp + 0x58]
call fcn.0043fe25
lea ecx, [ebp - 0xd8]
call fcn.0043fe25
lea ecx, [ebp - 0x24]
call fcn.0043fe25
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 0x40e3f3
push 5
pop eax
movzx eax, ax
mov dword [ebp - 0x290], eax
mov eax, dword [ebp + 0x50]
cmp eax, ebx
je 0x40e40e
cmp word [eax], bx
je 0x40e40e
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.0041a9b6
mov esi, eax
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [esi], bx
jne 0x40e44a
cmp eax, dword [ebp + 0x64]
je 0x40e465
push dword [ebp + 0x68]
lea ecx, [ebp - 0x16c]
push eax
call fcn.004466b2
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x29c], eax
cmp word [esi], bx
je 0x40e470
mov dword [ebp - 0x298], esi
push ebx
push 0x4e2bd8
push str.Kernel32.DLL
push str.GetProcessID
call fcn.0044131f
mov edi, dword [0x4e2bd8]
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 0x40e196
push eax
call edi
mov dword [esi + 8], eax
jmp 0x40e196
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.00402d2b
cmp dword [ebp - 0xe4], ebx
je 0x40e4f2
push dword [ebp - 0xc4]
call fcn.00403f82
pop ecx
lea esi, [ebp - 0xc8]
mov eax, dword [esi]
cmp eax, ebx
je 0x40e505
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x130], ebx
mov dword [esi], ebx
je 0x40e529
push dword [ebp - 0x130]
lea eax, [ebp - 0x18c]
push dword [eax + 8]
push dword [ebp + 0x4c]
call fcn.00448c53
add esp, 0xc
mov edx, dword [ebp - 0x164]
cmp edx, ebx
je 0x40e579
push 0x26
pop esi
cmp word [edx], si
mov ecx, edx
jne 0x40e54c
lea eax, [edx + 2]
jmp 0x40e547
mov ecx, eax
lea eax, [ecx + 2]
cmp word [eax], si
je 0x40e542
cmp word [ecx], si
mov eax, ecx
jne 0x40e55a
lea eax, [ecx + 2]
jmp 0x40e55a
inc eax
inc eax
cmp word [eax], 0x3a
je 0x40e558
cmp word [eax], bx
je 0x40e579
push edx
lea eax, [ebp - 0x18c]
push dword [eax]
push dword [ebp + 0x4c]
call fcn.0042d49a
add esp, 0xc
cmp byte [ebp - 0x2e], bl
je 0x40e59f
lea esi, [ebp - 0x18c]
cmp dword [esi], ebx
je 0x40e59f
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.00448c53
push str.__LastTID
push dword [edi + 0xc]
push dword [ebp + 0x4c]
call fcn.00448c53
add esp, 0x18
cmp dword [ebp - 0x80], ebx
je 0x40e5de
push dword [edi]
push 4
push str.SeDebugPrivilege
call fcn.00413a5e
add esp, 0xc
test byte [ebp + 0x1c], 4
je 0x40e5f2
mov edi, dword [edi + 4]
cmp edi, ebx
je 0x40e5f2
push edi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
lea ecx, [ebp]
call fcn.0043fe25
lea ecx, [ebp - 0x38]
call fcn.0043fe25
lea ecx, [ebp + 0x3c]
call fcn.0043fe25
lea ecx, [ebp - 0xac]
call fcn.00402d1a
lea ecx, [ebp + 0x40]
call fcn.0043fe25
lea ecx, [ebp - 0xa8]
call fcn.00414f56
lea eax, [ebp - 0xdc]
mov eax, dword [eax]
cmp eax, ebx
je 0x40e63b
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 0x40e658
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x50]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e666
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x18]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e674
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0xe0]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e685
push eax
call esi
cmp byte [ebp + 0x73], bl
mov dword [edi], ebx
jne 0x40e691
cmp byte [ebp + 0x30], bl
je 0x40e6e4
lea edi, [ebp - 0x18c]
mov eax, dword [edi]
cmp eax, ebx
je 0x40e6a9
push 0x1388
push eax
call dword [sym.imp.USER32.dll_WaitForInputIdle]
cmp byte [ebp + 0x73], bl
je 0x40e6e4
test byte [ebp + 0x73], 1
je 0x40e6cb
mov eax, dword [edi]
push dword [edi + 8]
neg eax
sbb eax, eax
and eax, 2
or eax, 1
push eax
call fcn.0042be7c
pop ecx
pop ecx
cmp dword [ebp - 0x134], ebx
je 0x40e6e4
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push ebx
push dword [ebp - 0x134]
call fcn.00434f28
cmp dword [ebp - 8], ebx
jne 0x40e710
cmp dword [ebp - 0x114], ebx
jg 0x40e710
mov eax, dword [ebp - 0x60]
cmp word [eax], bx
je 0x40f241
mov ecx, dword [ebp + 0x4c]
push 0x4c6a64
push eax
call fcn.00445c44
jmp 0x40f241
lea edi, [ebp - 0x18c]
mov eax, dword [edi]
cmp eax, ebx
jne 0x40e71f
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 0x40e73c
push eax
call esi
cmp dword [ebp - 0x4c], ebx
mov dword [edi + 4], ebx
je 0x40e792
mov ecx, dword [ebp + 0x4c]
push ebx
push ebx
push 0x3e8
call fcn.0041195d
mov esi, dword [edi]
cmp esi, ebx
jne 0x40e780
cmp dword [ebp - 0x114], ebx
jle 0x40e792
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 0x40f241
push esi
call fcn.004125e8
cmp dword [edi], ebx
pop ecx
jne 0x40e792
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp + 0x20], ebx
je 0x40f241
mov al, byte [0x4e12e4]
mov esi, 0x100000
push 0x100004
lea ecx, [ebp + 0x50]
mov byte [ebp + 0x7b], al
mov dword [ebp + 0xc], esi
xor edi, edi
call fcn.00402d92
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 0x40e8cf
mov byte [ebp + 0x73], 1
mov dword [ebp - 0x1c], ecx
cmp byte [ebp - 0x69], bl
je 0x40e84a
mov ecx, dword [ebp + 0x4c]
push ebx
lea eax, [ebp + 0x38]
push eax
push dword [ebp - 0x1c]
mov dword [ebp + 0x38], ebx
call fcn.0044ecec
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x38]
lea ecx, [ebp + 0x50]
call fcn.00446516
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.0044645c
lea ecx, [ebp + 0x38]
call fcn.0043fe25
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 0x40e87c
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 0x40ee0f
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
cmp ax, 0x40
je 0x40e8e4
cmp byte [ebp - 0x26], bl
je 0x40e8e4
cmp ax, 0x26
je 0x40e8c9
mov eax, dword [ebp + 0x4c]
test byte [eax + 9], 0xf
je 0x40e8e4
mov byte [ebp + 0x6b], 1
jmp 0x40e8e7
cmp dword [ebp - 0xcc], ebx
je 0x40e7ef
mov byte [ebp + 0x73], 2
jmp 0x40e7ef
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 0x40e91d
mov eax, dword [ebp + 0xc]
sub eax, edi
jmp 0x40e922
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.0044658e
mov dword [ebp - 0x20], 1
mov al, byte [0x4e12e4]
cmp al, bl
mov byte [ebp + 0x7b], al
jg 0x40e978
cmp dword [ebp - 0x100], 2
jl 0x40ed91
cmp dword [ebp - 0xec], ebx
jle 0x40e9ab
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xec]
jae 0x40ed91
mov ecx, dword [ebp - 0xec]
sub ecx, eax
cmp dword [ebp - 0x9c], ecx
jbe 0x40e9ab
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.0041343a
cmp eax, ebx
mov dword [ebp - 0x144], eax
mov dword [ebp - 0xe4], ebx
jne 0x40ea7b
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 0x40ea19
mov eax, dword [ebp + 0x14]
cmp dword [ebp - 0x4c], eax
jle 0x40ea0b
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x80], ebx
je 0x40ea19
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 0x40ea3a
add dword [ebp + 0xc], 0x100000
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
lea ecx, [ebp + 0x50]
call fcn.0044645c
cmp byte [ebp + 0x73], bl
je 0x40ea46
mov eax, dword [ebp + 0xc]
sub eax, edi
jmp 0x40ea4b
mov eax, 0x100000
cmp dword [ebp - 0xa8], ebx
mov dword [ebp + 0x14], eax
je 0x40ea62
mov dword [ebp - 0xe4], 1
jmp 0x40ea7b
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 0x40eac9
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 0x40eab0
mov dword [ebp - 0x20], ebx
jmp 0x40eac9
mov dword [ebp - 0x20], 1
add dword [ebp - 0x90], edx
add ecx, edx
cmp ecx, ebx
jle 0x40eab7
mov dword [ebp - 0x108], ecx
cmp byte [ebp + 0x73], bl
je 0x40eaf7
sub eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x9c]
jge 0x40ec8f
cmp edi, dword [ebp - 0x48]
je 0x40ed88
cmp eax, 0x14
jl 0x40ed88
jmp 0x40ec8f
cmp ecx, ebx
je 0x40eb01
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
inc ecx
cmp eax, ecx
jle 0x40eb34
dec eax
cmp eax, dword [ebp - 0x144]
jne 0x40eb34
cmp byte [ebp + 0x73], bl
mov byte [ebp + 0x30], cl
je 0x40ed91
cmp edi, dword [ebp - 0x48]
je 0x40ed91
mov dword [ebp - 0x20], ecx
jmp 0x40ec8f
test byte [ebp + 0x34], 1
je 0x40ec21
cmp edi, dword [ebp + 8]
jle 0x40ec21
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 0x40eba7
lea ecx, [eax - 1]
cmp ecx, ebx
mov dword [ebp + 0x78], ecx
jl 0x40ebf7
cmp byte [ecx + esi], 0xa
jne 0x40eb7b
dec edx
cmp edx, ebx
jle 0x40eb83
dec ecx
mov dword [ebp + 0x78], ecx
jns 0x40eb70
jmp 0x40ebf7
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.004147ef
sub edi, dword [ebp + 0x78]
add esp, 0xc
mov eax, edi
sub eax, dword [ebp + 8]
mov byte [eax + esi], bl
jmp 0x40ebf7
xor ecx, ecx
test byte [ebp + 0x35], 2
je 0x40ebdf
cmp eax, ebx
jle 0x40ebf7
cmp byte [ecx + esi], 0xa
jne 0x40ebbe
dec edx
cmp edx, ebx
jle 0x40ebc5
inc ecx
cmp ecx, eax
jl 0x40ebb3
jmp 0x40ebf7
dec ecx
cmp ecx, ebx
jle 0x40ebd1
cmp byte [ecx + esi], 0xd
jne 0x40ebd1
dec ecx
mov eax, dword [ebp + 8]
mov byte [ecx + esi], bl
lea edi, [eax + ecx]
mov dword [ebp - 0x80], ebx
jmp 0x40ebf7
cmp eax, ebx
jle 0x40ebf7
cmp byte [ecx + esi], 0xa
jne 0x40ebf2
dec edx
cmp edx, ebx
jle 0x40ed91
inc ecx
cmp ecx, eax
jl 0x40ebe3
cmp dword [ebp - 0xe4], ebx
je 0x40ec21
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 0x40e95f
cmp byte [0x4e12e4], bl
jle 0x40e95f
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 0x40e95f
cmp dword [ebp - 0x350], 0x12
je 0x40ec76
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 0x40ec24
cmp byte [ebp + 0x73], bl
mov byte [ebp + 0x7b], bl
mov byte [ebp + 0x30], 1
je 0x40e95f
cmp edi, dword [ebp - 0x48]
je 0x40e95f
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 0x40ece9
cmp dword [ebp - 0x94], 0x4b0
je 0x40ecdc
push dword [ebp - 0x94]
lea ecx, [ebp - 0x7c]
push edi
push esi
call fcn.00446649
mov esi, dword [ebp - 0x7c]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
mov dword [ebp - 0xf4], eax
jmp 0x40ece9
mov word [esi + edi + 2], bx
mov eax, dword [ebp + 0x50]
mov word [eax + edi + 2], bx
cmp byte [ebp - 0x25], bl
je 0x40ecff
lea eax, [ebp - 0xf8]
push eax
push esi
call fcn.00408543
pop ecx
pop ecx
mov esi, eax
cmp byte [ebp + 0x73], 1
jne 0x40ed1c
mov ecx, dword [ebp + 0x4c]
push esi
push esi
push 0x4c6a64
push dword [ebp - 0x1c]
push dword [ebp - 0x1c]
call fcn.00442ec6
jmp 0x40ed48
cmp byte [ebp + 0x6b], bl
je 0x40ed3c
push ebx
push ebx
push dword [ebp - 0xf4]
push dword [ebp + 0x50]
push dword [ebp - 0x60]
push dword [ebp + 0x4c]
call fcn.004542d6
add esp, 0x18
jmp 0x40ed48
mov ecx, dword [ebp + 0x4c]
push esi
push dword [ebp - 0x1c]
call fcn.00445c44
cmp dword [ebp - 0xcc], ebx
je 0x40ed82
cmp dword [ebp - 0x20], ebx
je 0x40ed82
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.00434f28
lea ecx, [ebp - 0x124]
call fcn.0043fe25
mov ecx, dword [ebp - 0x108]
cmp byte [ebp + 0x30], bl
je 0x40eaf7
lea ecx, [ebp - 0x7c]
call fcn.0043fe25
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 0x40ef6e
cmp byte [ebp + 0x7b], bl
jle 0x40ef6e
cmp byte [ebp + 0x12], 1
je 0x40ef6e
cmp byte [ebp + 0x12], 2
jne 0x40ef40
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.0042ac73
jmp 0x40ef6e
cmp dword [ebp + 0x20], 0xffffff9c
je 0x40ed99
mov al, byte [0x4e12e4]
cmp al, bl
mov byte [ebp + 0x7b], al
jg 0x40ee2e
cmp dword [ebp - 0x100], 2
jl 0x40ed99
cmp dword [ebp - 0xec], ebx
mov dword [ebp + 0x70], 0x3e8
jle 0x40ee65
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xec]
jae 0x40ed99
mov ecx, dword [ebp - 0xec]
sub ecx, eax
cmp ecx, 0x3e8
jae 0x40ee65
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.0041343a
mov ecx, dword [ebp - 0xa0]
dec ecx
cmp ecx, eax
je 0x40ed99
cmp dword [ebp - 0xa0], 1
jle 0x40ef33
cmp eax, ebx
jne 0x40ef33
lea eax, [edi + 0x100000]
cmp eax, esi
jl 0x40eec3
add esi, 0x100000
lea eax, [esi + 4]
push eax
lea ecx, [ebp + 0x50]
call fcn.0044645c
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 0x40ef33
cmp dword [ebp + 0x68], ebx
jbe 0x40ef33
add edi, dword [ebp + 0x68]
mov eax, dword [ebp + 0x50]
mov byte [eax + edi], bl
jmp 0x40ef33
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 0x40ee15
cmp dword [ebp - 0x288], 0x12
je 0x40ee15
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 [0x4e12e4], bl
jg 0x40eef2
jmp 0x40ee15
cmp dword [ebp - 0x104], ebx
je 0x40ef5a
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 0x40f1da
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
xor esi, esi
cmp ax, 0x40
je 0x40efba
cmp byte [ebp - 0x26], bl
je 0x40efba
cmp ax, 0x26
je 0x40efb4
mov eax, dword [ebp + 0x4c]
test byte [eax + 9], 0xf
je 0x40efba
mov byte [ebp + 0x77], 1
jmp 0x40efbd
mov byte [ebp + 0x77], bl
lea ecx, [ebp - 0xb4]
call fcn.00402dcf
cmp byte [ebp + 0x77], bl
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x70], eax
mov dword [ebp - 0xf4], edi
jne 0x40f160
cmp byte [ebp + 0x46], 2
jne 0x40eff5
mov dword [ebp - 0xf4], edi
mov word [eax + edi], bx
mov esi, dword [ebp + 0x50]
jmp 0x40f089
cmp byte [ebp + 0x46], 1
lea ecx, [ebp - 0xb4]
jne 0x40f028
push dword [ebp - 0x94]
push edi
push eax
call fcn.00446649
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 0x40f08d
lea eax, [edi + 0x18]
push eax
call fcn.004465d3
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.00414839
mov eax, dword [ebp - 0xb4]
push 0x10
add edi, eax
push ebx
push edi
call fcn.004b4520
lea eax, [ebp - 0xb4]
push 0x2004
push eax
call fcn.004a35cd
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 0x40f093
mov esi, dword [ebp - 0xb4]
test byte [ebp + 0x34], 4
je 0x40f0cb
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2 - 2]
jmp 0x40f0ba
mov cx, word [eax]
cmp cx, 0xd
je 0x40f0b5
cmp cx, 0xa
jne 0x40f0be
mov word [eax], bx
dec eax
dec eax
cmp eax, esi
jae 0x40f0a6
sub eax, esi
mov dword [ebp - 0xf4], eax
jmp 0x40f160
test byte [ebp + 0x34], 1
je 0x40f120
mov edx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x138]
jmp 0x40f113
cmp ax, 0xd
jne 0x40f0fd
lea ecx, [esi + 2]
cmp word [ecx], 0xa
jne 0x40f0fd
cmp edi, ebx
jl 0x40f103
jg 0x40f0f9
cmp edx, 1
jbe 0x40f103
mov esi, ecx
jmp 0x40f103
cmp ax, 0xa
jne 0x40f111
add edx, 0xffffffff
adc edi, 0xffffffff
js 0x40f11b
jg 0x40f111
cmp edx, ebx
jbe 0x40f11b
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
jne 0x40f0df
mov word [esi], bx
jmp 0x40f157
test byte [ebp + 0x34], 2
je 0x40f160
jmp 0x40f14f
cmp ax, 0xd
je 0x40f138
cmp ax, 0xa
je 0x40f138
inc esi
inc esi
jmp 0x40f14f
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
shl eax, 1
push eax
lea eax, [esi + 2]
push eax
push esi
call fcn.004147ef
add esp, 0xc
mov ax, word [esi]
cmp ax, bx
jne 0x40f128
sub esi, dword [ebp + 0x70]
mov dword [ebp - 0xf4], esi
cmp byte [ebp - 0x25], bl
je 0x40f178
lea eax, [ebp - 0xf8]
push eax
push dword [ebp + 0x70]
call fcn.00408543
pop ecx
pop ecx
jmp 0x40f17b
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp - 0x60]
cmp word [ecx], 0x40
jne 0x40f1a1
mov ecx, dword [ebp + 0x4c]
push eax
push eax
push 0x4c6a64
push dword [ebp - 0x84]
push dword [ebp - 0x84]
call fcn.00442ec6
jmp 0x40f1cc
cmp byte [ebp + 0x77], bl
je 0x40f1bd
push ebx
push ebx
push dword [ebp - 0xf4]
push eax
push ecx
push dword [ebp + 0x4c]
call fcn.004542d6
add esp, 0x18
jmp 0x40f1cc
push dword [ebp - 0xb4]
push ecx
mov ecx, dword [ebp + 0x4c]
call fcn.00445c44
lea ecx, [ebp - 0xb4]
call fcn.0043fe25
mov eax, dword [ebp - 0x10]
push eax
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x394]
push 0x4c7bc8
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.00445c44
cmp dword [ebp - 0x104], ebx
je 0x40f22e
cmp byte [ebp + 0x12], 1
je 0x40f22e
push dword [ebp - 0x128]
push dword [ebp - 0x104]
call dword [sym.imp.KERNEL32.dll_TerminateJobObject]
lea ecx, [ebp - 0xf8]
call fcn.0043fe25
lea ecx, [ebp + 0x50]
call fcn.0043fe25
mov ecx, dword [ebp + 0x7c]
cmp ecx, ebx
je 0x40f252
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 0x40f396
cmp dword [eax + 8], ebx
je 0x40f396
cmp byte [0x4e2cf0], bl
jne 0x40f396
cmp dword [ebp + 0x20], ebx
mov byte [0x4e2cf0], 1
jne 0x40f321
push 0x1000
lea ecx, [ebp + 0x70]
call fcn.00402dbd
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.0044ad45
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x74]
push eax
call fcn.0043fe57
add esp, 0x1c
jmp 0x40f303
push 8
push eax
push str.PECMDHB
call fcn.00402d7a
add esp, 0xc
test al, al
jne 0x40f30d
push 6
push dword [ebp + 0x74]
push str.WIMHB
call fcn.00402d7a
add esp, 0xc
test al, al
jne 0x40f30d
lea eax, [ebp + 0x74]
push eax
call fcn.00408f31
pop ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], bx
jne 0x40f2cf
jmp 0x40f314
mov dword [ebp + 0x20], 1
lea ecx, [ebp + 0x70]
call fcn.0043fe25
cmp dword [ebp + 0x20], ebx
je 0x40f342
call fcn.0041acbe
test eax, eax
je 0x40f339
push str.exec
push dword [ebp + 0x4c]
call fcn.0041ad5f
pop ecx
pop ecx
push ebx
call fcn.004174f7
pop ecx
jmp 0x40f396
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.00411365
mov ecx, dword [ebp + 0x4c]
add esp, 0x18
push 0x4e2c10
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.0040a949
mov ecx, dword [ebp - 0x58]
cmp ecx, ebx
je 0x40f3b3
cmp word [ecx], bx
je 0x40f3b3
lea eax, [ebp - 0x18c]
push dword [eax + 8]
push ecx
call fcn.004039a5
pop ecx
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea esi, [ebp - 0x50]
mov eax, dword [esi]
cmp eax, ebx
je 0x40f3c5
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0x18]
mov eax, dword [esi]
cmp eax, ebx
je 0x40f3d3
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0xe0]
cmp dword [esi], ebx
je 0x40f3e2
push ebx
call edi
mov dword [esi], ebx
lea esi, [ebp - 0xdc]
mov eax, dword [esi]
cmp eax, ebx
je 0x40f3f3
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0x78]
mov eax, dword [esi]
cmp eax, ebx
je 0x40f401
push eax
call edi
mov dword [esi], ebx
lea esi, [ebp - 0x8c]
mov eax, dword [esi]
cmp eax, ebx
je 0x40f412
push eax
call edi
cmp dword [ebp - 0x1d0], ebx
mov dword [esi], ebx
je 0x40f424
push dword [ebp - 0x1d0]
call edi
lea esi, [ebp - 0x18c]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x40f434
push eax
call edi
mov ecx, dword [ebp + 0x4c]
push ebx
mov dword [esi + 4], ebx
call fcn.00470bd7
mov ebx, dword [ebp + 0x14]
lea ecx, [ebp - 0x120]
call fcn.0043fe25
lea ecx, [ebp - 0x12c]
call fcn.0043fe25
lea ecx, [ebp - 0x98]
call fcn.00402d2b
lea ecx, [ebp - 0x168]
call fcn.0043fe25
lea ecx, [ebp - 0xc8]
call fcn.00402d2b
lea ecx, [ebp - 0xc0]
call fcn.00402d2b
lea ecx, [ebp - 0xe0]
call fcn.00402d2b
lea ecx, [ebp - 0x18]
call fcn.00402d2b
lea ecx, [ebp - 0x50]
call fcn.00402d2b
lea ecx, [ebp - 0x8c]
call fcn.00402d2b
lea ecx, [ebp - 0xdc]
call fcn.00402d2b
lea ecx, [ebp - 0x78]
call fcn.00402d2b
lea ecx, [ebp - 0x58]
call fcn.0043fe25
lea ecx, [ebp - 0x1bc]
call fcn.0043fe25
lea ecx, [ebp - 0x10c]
call fcn.0043fe25
lea ecx, [ebp - 0x88]
call fcn.0043fe25
lea ecx, [ebp - 0x16c]
call fcn.0043fe25
lea ecx, [ebp - 0x110]
call fcn.0043fe25
lea ecx, [ebp - 0x130]
call fcn.0043fe25
lea ecx, [ebp - 0x164]
call fcn.0043fe25
lea ecx, [ebp - 0xe8]
call fcn.0043fe25
lea ecx, [ebp - 0x104]
call fcn.00402d2b
lea ecx, [ebp - 0x160]
call fcn.00402d2b
lea ecx, [ebp - 0x1cc]
call fcn.00404a0d
lea ecx, [ebp - 0x198]
call fcn.0043fe25
lea ecx, [ebp - 0xb8]
call fcn.0043fe25
lea ecx, [ebp - 0xbc]
call fcn.0043fe25
lea ecx, [ebp - 0x60]
call fcn.0043fe25
lea ecx, [ebp - 0x158]
call fcn.0043fe25
lea ecx, [ebp - 0x140]
call fcn.0043fe25
lea ecx, [ebp - 0x154]
call fcn.0043fe25
lea ecx, [ebp - 0x15c]
call fcn.0043fe25
lea ecx, [ebp - 0x134]
call fcn.0043fe25
lea ecx, [ebp - 0x11c]
call fcn.0043fe25
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x5c
leave
ret 0x1c