Function at 0x409677
Capabilities:
Acquire debug privileges
Check for time delay via gettickcount
Connect pipe
Create directory
Create pipe
Create process on windows
Encode data using base64
Get common file path
Parse credit card information
Persist via run registry key
Query environment variable
Read file on windows
Resume thread
Self delete
Terminate process
Write and execute a file
Write file on windows
Write pipe

Disassembly:
push ebp
lea ebp, [esp - 0x5c]
sub esp, 0x610
mov eax, dword [ebp + 0x6c]
push ebx
push esi
xor ebx, ebx
cmp eax, ebx
push edi
push 0x20
mov dword [ebp + 0x44], ecx
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0x10c], ebx
pop esi
je 0x40990f
lea eax, [ebp + 0x6c]
push eax
call fcn.00437e65
pop ecx
mov ecx, dword [ebp + 0x6c]
cmp ecx, ebx
je 0x40990f
cmp word [ecx], 0x2f
jne 0x40990f
mov dx, word [ecx + 2]
or dx, si
cmp dx, 0x69
push 0x73
pop edi
jne 0x4097b6
mov ax, word [ecx + 4]
or ax, si
cmp ax, 0x6e
jne 0x4097b6
mov ax, word [ecx + 6]
or ax, si
cmp ax, di
jne 0x4097b6
mov ax, word [ecx + 8]
or ax, si
cmp ax, 0x74
jne 0x4097b6
mov ax, word [ecx + 0xa]
or ax, si
cmp ax, 0x61
jne 0x4097b6
mov ax, word [ecx + 0xc]
or ax, si
cmp ax, 0x6c
jne 0x4097b6
mov ax, word [ecx + 0xe]
or ax, si
cmp ax, 0x6c
jne 0x4097b6
mov ax, word [ecx + 0x10]
or ax, si
cmp ax, di
jne 0x4097b6
mov ax, word [ecx + 0x12]
or ax, si
cmp ax, 0x65
jne 0x4097b6
mov ax, word [ecx + 0x14]
or ax, si
cmp ax, 0x72
jne 0x4097b6
mov ax, word [ecx + 0x16]
or ax, si
cmp ax, 0x76
jne 0x4097b6
mov ax, word [ecx + 0x18]
or ax, si
cmp ax, dx
jne 0x4097b6
mov ax, word [ecx + 0x1a]
or ax, si
cmp ax, 0x63
jne 0x4097b6
mov ax, word [ecx + 0x1c]
or ax, si
cmp ax, 0x65
jne 0x4097b6
mov ax, word [ecx + 0x1e]
call fcn.00437e2d
test al, al
jne 0x4098e3
cmp dx, di
jne 0x40981a
mov ax, word [ecx + 4]
or ax, si
cmp ax, 0x65
jne 0x40981a
mov ax, word [ecx + 6]
or ax, si
cmp ax, 0x72
jne 0x40981a
mov ax, word [ecx + 8]
or ax, si
cmp ax, 0x76
jne 0x40981a
mov ax, word [ecx + 0xa]
or ax, si
cmp ax, 0x69
jne 0x40981a
mov ax, word [ecx + 0xc]
or ax, si
cmp ax, 0x63
jne 0x40981a
mov ax, word [ecx + 0xe]
or ax, si
cmp ax, 0x65
jne 0x40981a
mov ax, word [ecx + 0x10]
call fcn.00437e2d
test al, al
jne 0x4098e3
cmp dx, 0x72
jne 0x40990f
mov dx, word [ecx + 4]
push 0x65
or dx, si
pop eax
cmp dx, ax
jne 0x40990f
mov dx, word [ecx + 6]
or dx, si
cmp dx, 0x6d
jne 0x40990f
mov dx, word [ecx + 8]
or dx, si
cmp dx, 0x6f
jne 0x40990f
mov dx, word [ecx + 0xa]
or dx, si
cmp dx, 0x76
jne 0x40990f
mov dx, word [ecx + 0xc]
or dx, si
cmp dx, ax
jne 0x40990f
mov dx, word [ecx + 0xe]
or dx, si
cmp dx, di
jne 0x40990f
mov dx, word [ecx + 0x10]
or dx, si
cmp dx, ax
jne 0x40990f
mov dx, word [ecx + 0x12]
or dx, si
cmp dx, 0x72
jne 0x40990f
mov dx, word [ecx + 0x14]
or dx, si
cmp dx, 0x76
jne 0x40990f
mov dx, word [ecx + 0x16]
or dx, si
cmp dx, 0x69
jne 0x40990f
mov dx, word [ecx + 0x18]
or dx, si
cmp dx, 0x63
jne 0x40990f
mov dx, word [ecx + 0x1a]
or dx, si
cmp dx, ax
jne 0x40990f
mov ax, word [ecx + 0x1c]
call fcn.00437e2d
test al, al
je 0x40990f
mov esi, 0x4c0c28
push 0x4a7ca8
mov ecx, esi
call fcn.0044655b
push dword [ebp + 0x6c]
mov ecx, esi
call fcn.0043ddea
mov eax, dword [ebp + 0x44]
mov word [eax + 0x88], 2
jmp 0x40dd88
mov eax, dword [ebp + 0x70]
xor edi, edi
inc edi
and eax, edi
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x70]
shr eax, 1
and eax, edi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x70]
shr eax, 2
and al, 1
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0xe0], ebx
mov byte [ebp + 0x1e], bl
mov byte [ebp + 0x1f], bl
mov byte [ebp + 0x4b], al
mov byte [ebp + 0x37], bl
call fcn.0043dd7e
cmp dword [ebp + 0x64], ebx
je 0x40996f
push dword [ebp + 0x64]
lea ecx, [ebp - 0x11c]
call fcn.0044655b
mov eax, dword [ebp - 0x11c]
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push eax
call fcn.00437e65
pop ecx
lea ecx, [ebp - 0x134]
call fcn.0043dd7e
mov eax, dword [ebp + 0x6c]
cmp eax, ebx
je 0x409996
push eax
lea ecx, [ebp - 0x134]
call fcn.0044655b
mov eax, dword [ebp - 0x134]
mov dword [ebp + 0x6c], eax
cmp dword [ebp + 0x74], ebx
jne 0x4099a4
lea ecx, [ebp - 0x9c]
mov dword [ebp + 0x74], ecx
mov ecx, dword [ebp + 0x64]
cmp ecx, ebx
push 0x5e
pop esi
mov dword [ebp + 0x38], ecx
mov dword [ebp - 0x198], esi
jne 0x4099e5
cmp eax, ebx
mov dword [ebp + 0x64], eax
je 0x4099e5
push 5
push eax
push 0x4a7ca0
call fcn.0043917b
add esp, 0xc
test al, al
je 0x4099e5
lea eax, [ebp - 0x198]
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x24], edi
mov dword [ebp - 0x30], edi
mov byte [ebp + 0x4b], 1
lea ecx, [ebp - 0x110]
mov byte [ebp + 0x73], bl
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xf8], ebx
mov byte [ebp + 0x33], bl
mov byte [ebp - 0x15], 1
mov byte [ebp - 0x6d], bl
mov byte [ebp + 0xf], bl
mov byte [ebp - 0x66], bl
mov byte [ebp - 0x65], bl
mov byte [ebp + 0x35], bl
mov byte [ebp + 0x3f], bl
mov byte [ebp - 0x5d], bl
mov byte [ebp - 0x1d], bl
call fcn.0043dd7e
mov al, byte [0x4c0b98]
neg al
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x140], ebx
mov dword [ebp - 0x13c], ebx
mov byte [ebp - 0x6e], bl
mov byte [ebp + 0x34], bl
mov byte [ebp - 0x17], bl
sbb eax, eax
and eax, 0x10000
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x31], 1
mov byte [ebp - 0x51], bl
mov dword [ebp - 0x3c], eax
mov dword [ebp + 0x28], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x10], ebx
call fcn.0043dd7e
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x98], ebx
mov byte [ebp + 0x3e], bl
call fcn.0043dd7e
lea ecx, [ebp - 0xd4]
call fcn.0043dd7e
lea ecx, [ebp - 0x80]
call fcn.0043dd7e
or dword [ebp - 0xd0], 0xffffffff
lea ecx, [ebp - 0x178]
mov byte [ebp - 0x16], bl
mov byte [ebp + 0x36], bl
mov dword [ebp - 0x128], ebx
call fcn.0043dd7e
xor eax, eax
push 0x10
pop ecx
mov dword [ebp - 0x2a0], 0x48
mov dword [ebp - 0x29c], ebx
lea edi, [ebp - 0x298]
rep stosd dword es:[edi], eax
push 0x12
mov dword [ebp - 0x160], ebx
pop ecx
lea edi, [ebp - 0x258]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x15c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x150]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 0x6c]
cmp eax, ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x1a0], ebx
mov dword [ebp - 0x19c], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], ebx
jne 0x409b15
mov byte [ebp + 0x36], 1
jmp 0x409b6f
cmp word [eax], 0x23
jne 0x409b2b
cmp eax, dword [ebp + 0x64]
jne 0x409b24
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
jmp 0x409b38
test byte [0x4c4003], 3
je 0x409b38
mov byte [ebp + 0x36], 3
cmp eax, ebx
je 0x409b6f
cmp word [eax], si
jne 0x409b53
cmp eax, dword [ebp + 0x64]
jne 0x409b4a
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x4b], 1
cmp eax, ebx
je 0x409b6f
cmp word [eax], 0x24
jne 0x409b6f
cmp eax, dword [ebp + 0x64]
jne 0x409b66
add dword [ebp + 0x64], 2
inc eax
inc eax
mov dword [ebp + 0x6c], eax
mov byte [ebp + 0x3f], 1
cmp eax, ebx
mov dword [ebp + 0x2c], ebx
je 0x409b92
cmp word [eax], 0x7c
jne 0x409b92
cmp eax, dword [ebp + 0x64]
jne 0x409b85
add dword [ebp + 0x64], 2
inc eax
inc eax
xor esi, esi
inc esi
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x2c], esi
jmp 0x409b95
xor esi, esi
inc esi
mov eax, dword [ebp - 0xb8]
cmp eax, ebx
je 0x409c42
cmp word [eax], 0x2a
jne 0x409c42
push 2
pop ecx
add dword [ebp + 0x64], ecx
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x7c
mov byte [ebp + 0x73], 0x10
jne 0x409bc6
add dword [ebp + 0x64], ecx
mov dword [ebp + 0x2c], esi
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x30
jb 0x409c0e
cmp ax, 0x39
ja 0x409c0e
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp + 0x64]
push eax
mov byte [ebp + 0x73], 0x11
call fcn.00440c58
cmp dword [ebp - 0xf8], ebx
pop ecx
pop ecx
jg 0x409c2c
jl 0x409c00
cmp dword [ebp - 0xfc], ebx
ja 0x409c2c
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0xf8], ebx
jmp 0x409c2c
mov edx, eax
or edx, 0x20
cmp dx, 0x6e
jne 0x409c1f
mov byte [ebp + 0x73], 0x12
jmp 0x409c29
cmp ax, 0x2d
jne 0x409c2c
mov byte [ebp + 0x73], 0x14
add dword [ebp + 0x64], ecx
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
call fcn.00437e2d
test al, al
jne 0x409c42
mov ebx, esi
jmp 0x40dd2b
lea eax, [ebp + 0x64]
push eax
call fcn.00437e65
cmp byte [ebp + 0x73], bl
pop ecx
jne 0x409ceb
lea eax, [ebp + 0x64]
push eax
call fcn.00437e65
cmp dword [ebp - 0xb0], ebx
mov eax, dword [ebp + 0x64]
pop ecx
mov dword [ebp + 0x40], eax
je 0x409c76
cmp byte [ebp + 0x73], bl
jne 0x409dc1
push 2
pop esi
cmp word [eax], 0x2d
mov edi, eax
jne 0x409c8d
add eax, 2
cmp word [eax], 0x2d
jne 0x409c8d
mov dword [ebp + 0x40], eax
push 1
lea eax, [ebp + 0x40]
push eax
push 0x4a7c9c
call fcn.0043fbfd
add esp, 0xc
test al, al
jne 0x409dc1
mov eax, dword [ebp + 0x40]
mov ax, word [eax]
cmp ax, 0x2d
je 0x409cbe
cmp ax, 0x2f
jne 0x409dc1
add dword [ebp + 0x40], esi
push 5
lea eax, [ebp + 0x40]
push eax
push 0x4a7c94
call fcn.0043fc72
add esp, 0xc
test al, al
je 0x409d69
mov al, byte [ebp + 0x73]
or byte [ebp + 0x73], 0x10
cmp al, bl
jne 0x409f67
mov esi, dword [ebp + 0x64]
xor ecx, ecx
xor eax, eax
mov ax, word [esi]
inc ecx
cmp ax, bx
mov dword [ebp + 0x24], ecx
mov edi, esi
je 0x40a00a
push 2
pop edx
cmp ax, 0x3d
je 0x409d17
add edi, edx
mov ax, word [edi]
cmp ax, bx
jne 0x409d07
cmp edi, esi
je 0x40a00a
cmp word [edi], 0x3d
jne 0x40a00a
sub edi, edx
cmp word [edi], 0x2b
jne 0x409d38
mov al, byte [edi]
mov byte [ebp - 0x6e], al
sub edi, edx
cmp edi, esi
mov ecx, edi
jbe 0x409d50
mov ax, word [ecx]
call fcn.00437e2d
test al, al
je 0x409d50
sub ecx, edx
cmp ecx, esi
ja 0x409d3e
mov ax, word [ecx]
call fcn.00437e2d
test al, al
jne 0x40a002
mov edx, ecx
inc ecx
inc ecx
jmp 0x409f94
push 4
push dword [ebp + 0x40]
push 0x4a7c8c
call fcn.0043917b
add esp, 0xc
test al, al
je 0x409ed7
add dword [ebp + 0x40], 8
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x44]
call fcn.00407a53
add esp, 0x10
mov dword [ebp - 0xb0], eax
jmp 0x409db3
mov word [edi], 0x20
add edi, esi
cmp edi, dword [ebp + 0x40]
jb 0x409dac
cmp byte [ebp + 0x73], bl
je 0x409f67
lea eax, [ebp + 0x64]
push eax
call fcn.00437e65
mov eax, dword [ebp - 0xb0]
cmp eax, ebx
pop ecx
je 0x409de0
cmp word [eax], bx
jne 0x409de0
mov dword [ebp - 0xb0], ebx
cmp dword [ebp + 0x2c], ebx
jne 0x409ded
cmp dword [ebp + 0x78], ebx
mov byte [ebp + 0x53], bl
je 0x409df1
mov byte [ebp + 0x53], 1
xor esi, esi
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x58], ebx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x104], ebx
call fcn.0043dd7e
lea ecx, [ebp - 0x118]
call fcn.0043dd7e
cmp byte [ebp + 0x53], bl
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0xf0], ebx
mov byte [ebp + 0x32], bl
mov dword [ebp - 0x64], ebx
jne 0x409e64
cmp dword [ebp + 0x38], ebx
jne 0x409e64
mov ecx, dword [ebp + 0x44]
push 1
push ebx
lea eax, [ebp - 0xf0]
push eax
push dword [ebp + 0x64]
call fcn.0044c8eb
mov eax, dword [ebp - 0xf0]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x2d
mov dword [ebp - 0xb8], eax
jne 0x409e7f
add eax, 2
cmp word [eax], 0x2d
jne 0x409e7f
mov dword [ebp + 0x64], eax
push 1
lea eax, [ebp + 0x64]
push eax
push 0x4a7c9c
call fcn.0043fbfd
add esp, 0xc
test al, al
jne 0x40ad41
mov eax, dword [ebp + 0x64]
mov ax, word [eax]
cmp ax, 0x2d
je 0x409eb0
cmp ax, 0x2f
jne 0x40ad41
add dword [ebp + 0x64], 2
push 5
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7c94
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a011
mov byte [ebp + 0x73], 0x10
jmp 0x409e64
push 3
push dword [ebp + 0x40]
push 0x4a7c88
call fcn.0043917b
add esp, 0xc
test al, al
je 0x409f01
add dword [ebp + 0x40], 6
jmp 0x409ef6
add dword [ebp + 0x40], esi
mov eax, dword [ebp + 0x40]
cmp word [eax], 0x2a
je 0x409ef3
jmp 0x409f45
push 4
push dword [ebp + 0x40]
push 0x4a7c80
call fcn.0043917b
add esp, 0xc
test al, al
je 0x409f2b
add dword [ebp + 0x40], 8
jmp 0x409f20
add dword [ebp + 0x40], esi
mov eax, dword [ebp + 0x40]
cmp word [eax], 0x2a
je 0x409f1d
jmp 0x409f45
push 5
push dword [ebp + 0x40]
push 0x4a7c78
call fcn.0043917b
add esp, 0xc
test al, al
je 0x409f67
add dword [ebp + 0x40], 0xa
mov eax, dword [ebp + 0x40]
cmp word [eax], 0x22
jne 0x409f67
add dword [ebp + 0x40], esi
jmp 0x409f5c
add dword [ebp + 0x40], esi
cmp ax, 0x22
je 0x409f67
mov eax, dword [ebp + 0x40]
mov ax, word [eax]
cmp ax, bx
jne 0x409f53
lea eax, [ebp + 0x40]
push eax
call fcn.00405196
mov eax, dword [ebp + 0x40]
pop ecx
jmp 0x409c79
lea eax, [edx - 2]
mov dword [ebp - 0xb8], eax
mov ax, word [eax]
call fcn.00437e2d
test al, al
jne 0x409f98
mov edx, dword [ebp - 0xb8]
cmp edx, esi
ja 0x409f79
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.0043dea2
mov esi, dword [ebp + 0x44]
push ebx
lea eax, [ebp - 0x58]
push eax
mov ecx, esi
call fcn.00402d33
cmp byte [esi + 0x92], bl
jne 0x409fc3
test byte [esi + 9], 0xf
je 0x409fd9
push ebx
lea eax, [ebp - 0x58]
push eax
mov ecx, esi
call fcn.00402d33
jmp 0x409fd9
cmp ax, 0x3d
je 0x409fe7
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x409fd1
cmp ax, 0x3d
jne 0x40a002
lea eax, [ebp - 0x128]
add edi, 2
push eax
mov dword [ebp - 0x128], edi
call fcn.00437e65
pop ecx
jmp 0x409c55
xor ebx, ebx
inc ebx
jmp 0x40dd2b
mov ebx, ecx
jmp 0x40dd2b
push 6
push dword [ebp + 0x64]
push 0x4a7c70
call fcn.0043917b
add esp, 0xc
test al, al
lea eax, [ebp + 0x64]
je 0x40a058
add dword [ebp + 0x64], 0xc
mov edi, dword [ebp + 0x64]
push eax
call fcn.00405172
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40a047
mov word [eax], bx
add dword [ebp + 0x64], 2
cmp word [edi], bx
je 0x40abb6
mov dword [ebp - 0x5c], edi
jmp 0x40abb6
push 4
push eax
push 0x4a7c68
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a082
or byte [ebp + 0x4b], 2
xor eax, eax
inc eax
and byte [ebp + 0x36], 0xfe
mov dword [ebp - 0x30], eax
mov dword [ebp + 0x24], eax
jmp 0x409e64
push edi
push dword [ebp + 0x64]
push 0x4a7c60
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a0e8
add dword [ebp + 0x64], 0xa
or byte [ebp + 0x4b], 2
and byte [ebp + 0x36], 0xfe
xor eax, eax
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x50], eax
push edi
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp - 0x50]
push eax
mov dword [ebp + 0x2c], ebx
call fcn.00419202
add esp, 0xc
cmp dword [ebp + 0x2c], ebx
mov dword [ebp + 0x64], eax
jle 0x409e64
push dword [ebp + 0x2c]
lea ecx, [ebp - 0x10c]
push dword [ebp - 0x50]
call fcn.0043dea2
jmp 0x409e64
push 9
push dword [ebp + 0x64]
push 0x4a7c54
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a131
add dword [ebp + 0x64], 0x12
mov edi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405172
mov eax, dword [ebp + 0x64]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0x110]
call fcn.0043dea2
lea eax, [ebp + 0x64]
push eax
call fcn.00437e65
jmp 0x40ad3b
push 8
push dword [ebp + 0x64]
push 0x4a7c48
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a1e4
add dword [ebp + 0x64], 0x10
mov eax, dword [ebp + 0x64]
mov dword [ebp + 4], eax
lea eax, [ebp + 0x64]
push eax
call fcn.00405172
mov eax, dword [ebp + 0x64]
cmp word [eax], bx
pop ecx
je 0x40a16b
add dword [ebp + 0x64], 2
lea eax, [ebp + 0x64]
push eax
call fcn.00437e65
pop ecx
lea eax, [ebp - 0x140]
push eax
call dword [sym.imp.USER32.DLL_GetCursorPos]
mov eax, dword [ebp + 4]
mov ax, word [eax]
cmp ax, bx
mov byte [ebp - 0x5d], 1
je 0x40a1a1
cmp ax, 0x30
jb 0x40a19d
cmp ax, 0x39
jbe 0x40a1a1
add dword [ebp + 4], 2
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp + 4]
push eax
call fcn.0044957c
mov eax, dword [ebp + 4]
mov ax, word [eax]
cmp ax, bx
pop ecx
pop ecx
je 0x40a1ce
cmp ax, 0x30
jb 0x40a1ca
cmp ax, 0x39
jbe 0x40a1ce
add dword [ebp + 4], 2
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp + 4]
push eax
call fcn.0044957c
pop ecx
jmp 0x40ad3b
push 4
push dword [ebp + 0x64]
push 0x4a7c40
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a221
add dword [ebp + 0x64], 8
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405172
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40abb6
lea ecx, [ebp - 0x104]
jmp 0x40abab
push edi
push dword [ebp + 0x64]
push 0x4a7c38
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a25d
add dword [ebp + 0x64], 0xa
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405172
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40abb6
lea ecx, [ebp - 0x12c]
jmp 0x40abab
push edi
push dword [ebp + 0x64]
push 0x4a7c30
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a2d3
add dword [ebp + 0x64], 0xa
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp + 0x64]
push eax
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
call fcn.00440de3
cmp dword [ebp - 0x9c], ebx
pop ecx
pop ecx
jg 0x40a2c5
jl 0x40a2a6
cmp dword [ebp - 0xa0], ebx
jae 0x40a2c5
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
call fcn.00407b4c
pop ecx
pop ecx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x1c], eax
jmp 0x409e64
push 4
push dword [ebp + 0x64]
push 0x4a7c80
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a3ec
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 - 0x4c], ebx
jne 0x40a30d
mov dword [ebp - 0x64], 1
cmp cx, 0x22
jne 0x40a384
lea esi, [eax + 2]
mov edi, eax
mov ecx, esi
jmp 0x40a342
cmp ax, 0x22
jne 0x40a340
inc edx
test dl, 1
je 0x40a340
xor eax, eax
mov ax, word [ecx + 2]
cmp ax, bx
je 0x40a34d
call fcn.00437e2d
test al, al
jne 0x40a34d
or dword [ebp - 0x64], 2
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40a31c
push 0x22
pop edx
cmp word [ecx], dx
jne 0x40a391
or dword [ebp - 0x4c], 0xffffffff
inc ecx
inc ecx
mov dword [ebp + 0x64], ecx
cmp word [ecx - 4], dx
mov edi, esi
mov byte [ebp + 0x32], 2
je 0x40a378
mov ax, word [edi]
cmp ax, dx
jne 0x40a391
cmp word [edi + 2], dx
jne 0x40a37d
mov byte [ebp + 0x32], bl
jmp 0x40a391
cmp ax, dx
jne 0x40a391
jmp 0x40a378
lea eax, [ebp + 0x64]
push eax
call fcn.00405172
pop ecx
mov ecx, dword [ebp + 0x64]
sub ecx, edi
sar ecx, 1
add dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], ebx
jle 0x40abb6
add edi, 0xfffffff6
push edi
lea ecx, [ebp - 0xc4]
call fcn.0044655b
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x4c]
add eax, 0xa
mov word [eax + ecx*2], bx
cmp word [eax], 0x2a
mov dword [ebp + 0x4c], eax
jne 0x40abb6
cmp word [eax + 2], bx
jne 0x40abb6
lea eax, [ebp - 0xc4]
push eax
call fcn.004044fa
pop ecx
mov dword [ebp + 0x4c], eax
jmp 0x40abb6
push 3
pop edi
push edi
push dword [ebp + 0x64]
push 0x4a7c88
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a4f6
mov eax, dword [ebp + 0x64]
xor edi, edi
add eax, 6
jmp 0x40a415
inc edi
inc eax
inc eax
mov dword [ebp + 0x64], eax
cmp word [eax], 0x2a
je 0x40a412
cmp edi, 2
mov dword [ebp - 0x17c], eax
mov dword [ebp], ebx
jge 0x40a4a8
movzx eax, word [eax]
cmp ax, bx
je 0x40a471
call fcn.00437e2d
test al, al
jne 0x40a471
push 1
lea eax, [ebp]
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.00419202
add esp, 0xc
cmp dword [ebp], ebx
mov dword [ebp + 0x64], eax
jle 0x40a471
push dword [ebp]
lea ecx, [ebp - 0x7c]
push dword [ebp - 0x17c]
call fcn.0043dea2
mov eax, dword [ebp - 0x7c]
mov dword [ebp + 0x58], eax
cmp edi, 1
jne 0x40a4e2
cmp dword [ebp], ebx
jle 0x40a4ea
mov eax, dword [ebp - 0x7c]
push edi
lea ecx, [ebp - 0x7c]
push ecx
push eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x7c], ebx
call fcn.00485e2a
add esp, 0xc
lea ecx, [ebp - 0x114]
mov dword [ebp + 0x58], eax
call fcn.00437e1a
jmp 0x40abb6
push 0x105
lea ecx, [ebp - 0x7c]
call fcn.0043ddc3
push 0x104
push dword [ebp - 0x7c]
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
push 0x5c
push ebx
push dword [ebp - 0x7c]
call dword [sym.imp.SHLWAPI.DLL_StrRChrW]
cmp eax, ebx
je 0x40a4d7
mov word [eax], bx
mov eax, dword [ebp - 0x7c]
mov dword [ebp + 0x58], eax
jmp 0x40abb6
cmp edi, ebx
jle 0x40abb6
mov dword [ebp + 0x58], 0x4a7c2c
jmp 0x40abb6
push 5
push dword [ebp + 0x64]
push 0x4a7c78
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a56e
mov eax, dword [ebp + 0x64]
add eax, 0xa
xor ecx, ecx
mov dword [ebp + 0x64], eax
mov dword [ebp - 0x50], eax
cmp word [eax], 0x3f
sete cl
mov edi, ecx
cmp edi, ebx
je 0x40a52d
add eax, 2
mov dword [ebp - 0x50], eax
mov esi, eax
push 1
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x50]
push eax
mov dword [ebp + 0x10], ebx
call fcn.00419202
add esp, 0xc
cmp dword [ebp + 0x10], ebx
mov dword [ebp + 0x64], eax
jle 0x40abb6
cmp edi, ebx
je 0x40a560
cmp dword [0x4c0eb0], ebx
je 0x40abb6
push dword [ebp + 0x10]
lea ecx, [ebp - 0x124]
jmp 0x40abb0
push 5
lea eax, [ebp + 0x64]
push eax
push 0x4a7c24
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a58e
mov byte [ebp - 0x1d], 1
jmp 0x409e64
push 4
lea eax, [ebp + 0x64]
push eax
push 0x4a7c1c
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a5b1
mov dword [ebp - 0x40], 0x10000000
jmp 0x409e64
push 4
lea eax, [ebp + 0x64]
push eax
push 0x4a7c14
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a5da
inc dword [ebp - 0xe0]
mov dword [ebp + 0x24], 1
jmp 0x409e64
push 5
lea eax, [ebp + 0x64]
push eax
push 0x4a7c0c
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a5fa
mov byte [ebp + 0x37], 1
jmp 0x409e64
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7c08
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a619
or byte [ebp + 0x33], 1
jmp 0x409e64
push 4
lea eax, [ebp + 0x64]
push eax
push 0x4a7c00
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a639
or byte [ebp + 0x33], 3
jmp 0x409e64
push 5
lea eax, [ebp + 0x64]
push eax
push 0x4a7bf8
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a659
mov byte [ebp - 0x65], 1
jmp 0x409e64
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7bf4
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a678
mov byte [ebp + 0x35], 1
jmp 0x409e64
push 4
lea eax, [ebp + 0x64]
push eax
push 0x4a7bec
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a69b
mov dword [ebp - 0x30], 1
jmp 0x409e64
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7be8
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a6bd
mov dword [ebp - 0x40], 6
jmp 0x409e64
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7be4
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a6db
mov dword [ebp - 0x40], edi
jmp 0x409e64
push 4
lea eax, [ebp + 0x64]
push eax
push 0x4a7bdc
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a6fe
mov dword [ebp - 0x40], 1
jmp 0x409e64
push 4
lea eax, [ebp + 0x64]
push eax
push 0x4a7bd4
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a71e
mov byte [ebp - 0x66], 1
jmp 0x409e64
push 2
lea eax, [ebp + 0x64]
push eax
push 0x4a7bd0
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a73e
mov byte [ebp - 0x15], 1
jmp 0x409e64
push 4
lea eax, [ebp + 0x64]
push eax
push 0x4a7bc8
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a75d
mov byte [ebp - 0x15], bl
jmp 0x409e64
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7bc4
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a77c
mov byte [ebp - 0x6d], 1
jmp 0x409e64
push 2
lea eax, [ebp + 0x64]
push eax
push 0x4a7bc0
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a79c
mov byte [ebp + 0xf], 1
jmp 0x409e64
push 5
lea eax, [ebp + 0x64]
push eax
push 0x4a7bb8
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a7bc
mov byte [ebp - 0x29], 1
jmp 0x409e64
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7bb0
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a7da
mov dword [ebp - 0x3c], ebx
jmp 0x409e64
push 6
lea eax, [ebp + 0x64]
push eax
push case.0x4cf196.0
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a7fd
mov dword [ebp - 0x3c], 0x20000
jmp 0x409e64
push 7
pop edi
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7ba0
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a826
mov al, byte [0x4c0b98]
neg al
sbb eax, eax
and eax, 0x20000
jmp 0x40a867
push 6
lea eax, [ebp + 0x64]
push eax
push 0x4a7b98
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a846
or dword [ebp - 0x3c], 1
jmp 0x409e64
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7b90
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a86f
xor eax, eax
cmp byte [0x4c0b98], bl
setne al
mov dword [ebp - 0x3c], eax
jmp 0x409e64
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7b88
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a88e
mov byte [ebp - 0x31], 1
jmp 0x409e64
push 8
lea eax, [ebp + 0x64]
push eax
push 0x4a7b7c
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a8ad
mov byte [ebp - 0x31], bl
jmp 0x409e64
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4a7b78
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40a8d0
mov dword [ebp + 0x28], 1
jmp 0x409e64
push 3
push dword [ebp + 0x64]
push 0x4a7b74
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a8f3
add dword [ebp + 0x64], 6
mov dword [ebp + 0x28], 0x108
jmp 0x40a914
push 2
push dword [ebp + 0x64]
push 0x4a7b70
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a96c
add dword [ebp + 0x64], 4
mov dword [ebp + 0x28], 8
xor ecx, ecx
jmp 0x40a95c
mov eax, ecx
call fcn.00437e2d
test al, al
jne 0x40ad32
or ecx, 0x20
cmp cx, 0x61
jne 0x40a936
or dword [ebp + 0x28], 0x40
jmp 0x40a958
cmp cx, 0x65
jne 0x40a942
or byte [ebp + 0x28], 0x80
jmp 0x40a958
cmp cx, 0x63
jne 0x40a94e
or byte [ebp + 0x29], 1
jmp 0x40a958
cmp cx, 0x64
jne 0x40a958
or byte [ebp + 0x29], 2
add dword [ebp + 0x64], 2
mov eax, dword [ebp + 0x64]
mov cx, word [eax]
cmp cx, bx
jne 0x40a918
jmp 0x40ad32
push 3
push dword [ebp + 0x64]
push 0x4a7b6c
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40a9be
add dword [ebp + 0x64], 6
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x3a
mov byte [ebp + 0x3f], 1
jne 0x40abb6
add dword [ebp + 0x64], 2
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405172
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40abb6
lea ecx, [ebp - 0xf4]
jmp 0x40abab
push 5
push dword [ebp + 0x64]
push 0x4a7b64
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40aa7f
add dword [ebp + 0x64], 0xa
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x24], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push eax
push 0x4a7b5c
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40aa0c
mov byte [ebp + 0x3e], 1
mov dword [ebp - 0x98], 0xfde9
jmp 0x40ad32
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push eax
push 0x4a7b54
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40aa32
mov byte [ebp + 0x3e], 1
mov dword [ebp - 0x98], ebx
jmp 0x40ad32
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push eax
push 0x4a7b50
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40aa5c
mov byte [ebp + 0x3e], 2
mov dword [ebp - 0x98], 0x4b0
jmp 0x40ad32
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0043a784
test eax, eax
pop ecx
pop ecx
jle 0x40ad32
mov byte [ebp + 0x3e], 1
jmp 0x40ad32
push edi
lea eax, [ebp + 0x64]
push eax
push 0x4a7b44
call fcn.0043fca8
add esp, 0xc
test al, al
je 0x40ab27
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x38], eax
cmp word [eax], 0x23
mov byte [ebp - 0x6f], bl
jne 0x40aab2
add eax, 2
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x6f], 0x10
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
call fcn.0048159f
test eax, eax
pop ecx
pop ecx
jle 0x40ad32
mov eax, dword [ebp - 0x88]
cmp eax, ebx
jle 0x40ad32
or dword [ebp + 0x24], 0x10
cmp byte [ebp - 0x6f], bl
mov dword [ebp - 0xcc], eax
je 0x40aaff
mov dword [ebp - 0x120], 1
mov eax, dword [ebp - 0x38]
cmp word [eax], 0x3a
jne 0x40ad32
add dword [ebp - 0x38], 2
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.0043a784
pop ecx
pop ecx
jmp 0x40ad32
push 5
push dword [ebp + 0x64]
push 0x4a7b3c
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40ab5d
add dword [ebp + 0x64], 0xa
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405172
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40abb6
lea ecx, [ebp - 0xd4]
jmp 0x40abab
push edi
push dword [ebp + 0x64]
push 0x4a7b34
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40ab77
mov byte [ebp - 0x16], bl
jmp 0x40ab90
push edi
push dword [ebp + 0x64]
push 0x4a7b2c
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40abc5
mov byte [ebp - 0x16], 1
add dword [ebp + 0x64], 0xe
mov esi, dword [ebp + 0x64]
lea eax, [ebp + 0x64]
push eax
call fcn.00405172
mov eax, dword [ebp + 0x64]
cmp esi, eax
pop ecx
je 0x40abb6
lea ecx, [ebp - 0x80]
sub eax, esi
sar eax, 1
push eax
push esi
call fcn.0043dea2
lea eax, [ebp + 0x64]
push eax
call fcn.00437e65
pop ecx
jmp 0x40ad18
push 8
lea eax, [ebp + 0x64]
push eax
push 0x4a7b20
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40abe8
mov dword [ebp - 0x10], 0x100
jmp 0x409e64
push 4
lea eax, [ebp + 0x64]
push eax
push 0x4a7b18
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40ac0b
mov dword [ebp - 0x10], 0x80
jmp 0x409e64
push 0xb
lea eax, [ebp + 0x64]
push eax
push 0x4a7b0c
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40ac2e
mov dword [ebp - 0x10], 0x8000
jmp 0x409e64
push 6
lea eax, [ebp + 0x64]
push eax
push 0x4a7b04
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40ac51
mov dword [ebp - 0x10], 0x20
jmp 0x409e64
push 0xb
lea eax, [ebp + 0x64]
push eax
push 0x4a7af8
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40ac74
mov dword [ebp - 0x10], 0x4000
jmp 0x409e64
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4a7af4
call fcn.0043fbfd
add esp, 0xc
test al, al
jne 0x40acb1
mov edi, dword [ebp + 0x64]
push 0x4a7ae8
push 4
pop esi
call fcn.00402bef
cmp al, bl
pop ecx
lea eax, [ebp + 0x64]
je 0x40acbd
add dword [ebp + 0x64], 8
push eax
call fcn.00437e65
mov esi, dword [ebp + 0x4c]
pop ecx
mov dword [ebp - 0x10], pe_nt_image_headers32
jmp 0x409e64
push 3
push eax
push 0x4a7ae4
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40acd7
mov byte [ebp + 0x34], 1
jmp 0x40ad18
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4a7ae0
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40acfd
mov byte [ebp - 0x17], 1
mov byte [ebp + 0x3e], bl
mov dword [ebp - 0x98], ebx
jmp 0x40ad18
push 3
lea eax, [ebp + 0x64]
push eax
push 0x4a7adc
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40ad20
mov byte [ebp - 0x51], 1
mov esi, dword [ebp + 0x4c]
jmp 0x409e64
mov eax, dword [ebp - 0xb8]
cmp word [eax], 0x2d
mov esi, dword [ebp + 0x4c]
mov dword [ebp + 0x64], eax
jne 0x40ad41
lea eax, [ebp + 0x64]
push eax
call fcn.00405196
pop ecx
jmp 0x409e64
cmp dword [ebp + 0x28], ebx
je 0x40ad6b
cmp byte [ebp - 0x1d], bl
je 0x40ad4f
or dword [ebp + 0x28], 4
cmp dword [ebp + 0x28], ebx
je 0x40ad6b
cmp byte [ebp + 0x37], bl
je 0x40ad5d
or dword [ebp + 0x28], 0x20
cmp dword [ebp + 0x28], ebx
je 0x40ad6b
cmp byte [ebp - 0x29], bl
je 0x40ad6b
or byte [ebp + 0x29], 4
cmp dword [ebp - 0x1c], ebx
je 0x40ad97
lea eax, [ebp - 0x2a0]
push eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1a4]
call fcn.004045a5
mov eax, dword [ebp - 0x1a0]
neg eax
sbb eax, eax
and eax, 0x80000
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x98], 0x4b0
jne 0x40ada7
mov byte [ebp + 0x3e], 2
mov eax, dword [ebp - 0x128]
cmp eax, ebx
je 0x40adda
cmp byte [ebp + 0x53], bl
mov dword [ebp + 0x64], eax
jne 0x40adda
cmp dword [ebp + 0x38], ebx
jne 0x40adda
push 1
push ebx
lea ecx, [ebp - 0xf0]
push ecx
mov ecx, dword [ebp + 0x44]
push eax
call fcn.0044c8eb
mov eax, dword [ebp - 0xf0]
mov dword [ebp + 0x64], eax
cmp esi, ebx
mov dword [ebp - 0x188], ebx
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x180], ebx
mov dword [ebp - 0x48], ebx
je 0x40adfe
cmp word [esi], bx
je 0x40adfe
cmp word [ebp - 0x64], bx
je 0x40ae01
mov byte [ebp + 0x34], bl
cmp esi, ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp - 0x168], 0x4a71c4
je 0x40aef0
cmp word [esi], 0x2a
jne 0x40ae30
inc esi
inc esi
inc dword [ebp - 0xc]
cmp word [esi], 0x2a
je 0x40ae22
mov dword [ebp + 0x4c], esi
cmp word [esi], 0x3f
jne 0x40ae5c
inc esi
inc esi
mov dword [ebp + 0x4c], esi
mov dword [ebp - 0x168], esi
jmp 0x40ae4e
inc esi
inc esi
cmp ax, 0x3a
mov dword [ebp + 0x4c], esi
je 0x40ae58
mov ax, word [esi]
cmp ax, bx
jne 0x40ae43
jmp 0x40ae5c
mov word [esi - 2], bx
mov ax, word [esi]
push 0x20
pop ecx
or ax, cx
cmp ax, 0x63
jne 0x40ae98
mov dx, word [esi + 2]
or dx, cx
cmp dx, 0x61
jne 0x40ae98
mov dx, word [esi + 4]
or dx, cx
cmp dx, 0x62
jne 0x40ae98
cmp word [esi + 6], 0x3a
jne 0x40ae98
mov dword [ebp - 0x28], 1
add esi, 8
jmp 0x40aebc
cmp ax, 0x65
jne 0x40aebf
mov ax, word [esi + 2]
or ax, cx
cmp ax, 0x78
jne 0x40aebf
cmp word [esi + 4], 0x3a
jne 0x40aebf
mov dword [ebp - 0x28], 0x100
add esi, 6
mov dword [ebp + 0x4c], esi
cmp esi, ebx
je 0x40aef0
mov ax, word [esi]
or ax, cx
cmp ax, 0x75
jne 0x40aef0
mov ax, word [esi + 2]
or ax, cx
cmp ax, 0x64
jne 0x40aef0
cmp word [esi + 4], 0x3a
jne 0x40aef0
add esi, 6
mov dword [ebp + 0x18], 1
mov dword [ebp + 0x4c], esi
cmp byte [ebp + 0x34], bl
je 0x40af37
cmp esi, ebx
je 0x40af37
cmp word [ebp - 0x28], bx
jne 0x40af37
cmp word [ebp + 0x18], bx
jne 0x40af37
xor eax, eax
cmp byte [ebp + 0x32], bl
mov ecx, esi
setne al
mov edi, eax
xor eax, eax
mov ax, word [esi]
jmp 0x40af32
cmp ax, 0x22
jne 0x40af2d
inc edi
cmp edi, 2
jl 0x40af2d
cmp word [ecx + 2], bx
je 0x40af2d
mov byte [ebp + 0x34], bl
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x40af18
cmp word [ebp - 0xc], bx
jne 0x40af49
cmp word [ebp - 0x28], bx
jne 0x40af49
cmp word [ebp + 0x18], bx
je 0x40af4c
mov byte [ebp + 0x32], bl
cmp byte [ebp + 0x34], bl
je 0x40af91
xor eax, eax
cmp word [ebp + 0x18], bx
sete al
xor ecx, ecx
cmp word [ebp - 0x28], bx
sete cl
test ecx, eax
je 0x40af91
push 0x2a
push esi
call dword [sym.imp.SHLWAPI.DLL_StrChrW]
cmp eax, ebx
mov dword [ebp - 0x48], eax
je 0x40af7f
mov word [eax], bx
inc eax
inc eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x188]
push eax
push esi
call fcn.00412e1c
pop ecx
pop ecx
mov dword [ebp - 0xc], ebx
mov eax, dword [ebp + 0x74]
xor ecx, ecx
inc ecx
mov dword [eax], ecx
xor eax, eax
lea edi, [ebp - 0x16c]
mov dword [ebp - 0x170], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x1b8], ebx
lea edi, [ebp - 0x1b4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
cmp dword [ebp - 0x5c], ebx
mov dword [ebp - 0x90], ebx
setne al
cmp byte [ebp + 0xf], bl
mov dword [ebp + 8], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp + 4], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 4], eax
mov dword [ebp - 0x194], 0xc
mov dword [ebp - 0x190], ebx
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x138], ebx
je 0x40b03b
lea eax, [ebp - 0x2a0]
or byte [eax + 0x2d], cl
mov dword [ebp - 4], ecx
mov ecx, dword [0x4bf314]
mov dword [eax + 0x3c], ecx
mov ecx, dword [0x4bf318]
mov dword [eax + 0x40], ecx
mov ecx, dword [0x4bf310]
mov dword [eax + 0x38], ecx
cmp byte [ebp + 0x53], bl
je 0x40b4de
mov ecx, dword [ebp + 0x64]
cmp word [ecx], 0x7c
mov dword [ebp - 0x1c], ebx
jne 0x40b069
inc ecx
inc ecx
xor eax, eax
mov dword [ebp + 0x64], ecx
mov ax, word [ecx]
cmp ax, 0x7c
je 0x40b050
call fcn.00437e2d
test al, al
jne 0x40b050
mov dword [ebp + 0x2c], ecx
mov eax, dword [ebp + 0x64]
xor edx, edx
mov dword [ebp + 0x54], edx
cmp word [eax], bx
je 0x40b114
cmp word [eax], 0x7c
jne 0x40b099
cmp word [eax + 2], 0x7c
je 0x40b091
mov edx, eax
mov dword [ebp + 0x54], edx
jmp 0x40b099
inc eax
inc eax
cmp word [eax], 0x7c
je 0x40b091
inc eax
inc eax
cmp word [eax], bx
jne 0x40b07d
cmp edx, ebx
je 0x40b114
lea eax, [ebp + 0x54]
mov word [edx], bx
add dword [ebp + 0x54], 2
push eax
call fcn.00437e65
mov edx, dword [ebp + 0x54]
xor eax, eax
mov ax, word [edx]
cmp ax, bx
pop ecx
mov esi, edx
je 0x40b06c
cmp ax, 0x7c
jne 0x40b0f3
lea edi, [esi + 2]
cmp word [edi], ax
jne 0x40b0f3
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
shl eax, 1
push eax
push edi
push esi
call fcn.0041286c
add esp, 0xc
cmp word [esi], 0x7c
jne 0x40b0f0
inc esi
inc esi
jmp 0x40b0e6
mov edx, dword [ebp + 0x54]
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
jne 0x40b0c4
cmp word [edx], bx
je 0x40b06c
mov eax, dword [ebp + 0x2c]
cmp word [eax], bx
mov cl, 1
je 0x40b116
mov al, cl
jmp 0x40b122
xor cl, cl
xor al, al
cmp cl, bl
jne 0x40b122
mov edx, dword [ebp + 0x2c]
mov dword [ebp + 0x54], edx
cmp al, bl
mov dword [ebp - 0x44], edx
je 0x40b20d
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
mov edi, eax
push ebx
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xb4]
push eax
xor esi, esi
lea eax, [ebp - 0xc0]
inc esi
push eax
mov dword [ebp - 0xac], 0xc
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], esi
call dword [sym.imp.KERNEL32.DLL_CreatePipe]
test eax, eax
jne 0x40b179
mov ecx, dword [ebp + 0x44]
push ebx
push ebx
push esi
call fcn.00413b53
mov esi, dword [sym.imp.KERNEL32.DLL_DuplicateHandle]
push 3
push ebx
push ebx
lea eax, [ebp - 0xc0]
push eax
push edi
push dword [ebp - 0xc0]
push edi
call esi
cmp dword [ebp - 0xb4], ebx
mov word [ebp + 0xe], bx
je 0x40b1cd
mov ecx, dword [ebp + 0x44]
push ebx
push dword [ebp - 0xb4]
lea eax, [ebp + 0xe]
push ebx
push ebx
push eax
push ecx
push dword [ebp + 0x2c]
call fcn.00409677
cmp dword [ebp - 0xb4], ebx
je 0x40b1cd
push dword [ebp - 0xb4]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push 3
push 1
push ebx
lea eax, [ebp - 0xc0]
push eax
push edi
push dword [ebp - 0xc0]
mov dword [ebp - 0xb4], ebx
push edi
call esi
mov ecx, dword [ebp - 0xc0]
cmp ecx, ebx
mov edi, 0x100
je 0x40b212
lea eax, [ebp - 0x2a0]
or dword [eax + 0x2c], edi
mov dword [ebp - 4], 1
mov dword [eax + 0x38], ecx
jmp 0x40b212
mov edi, 0x100
mov eax, dword [ebp - 0x44]
mov dword [ebp + 0x54], eax
xor esi, esi
inc esi
mov cx, word [eax]
cmp cx, bx
je 0x40b47f
cmp cx, 0x3c
je 0x40b240
cmp cx, 0x3e
je 0x40b240
inc eax
inc eax
mov dword [ebp + 0x54], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40b227
mov cx, word [eax]
cmp cx, bx
je 0x40b47f
cmp cx, 0x3c
jne 0x40b321
mov word [eax], bx
add dword [ebp + 0x54], 2
lea eax, [ebp + 0x54]
push eax
call fcn.00437e65
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
pop ecx
je 0x40b321
mov dword [ebp + 0x14], eax
jmp 0x40b289
cmp cx, 0x3c
je 0x40b291
cmp cx, 0x3e
je 0x40b291
inc eax
inc eax
mov dword [ebp + 0x54], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40b278
sub eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x84]
sar eax, 1
push eax
push dword [ebp + 0x14]
call fcn.004464b4
lea ecx, [ebp + 0x2c]
call fcn.0043dd7e
mov ecx, dword [ebp + 0x44]
push esi
push ebx
lea eax, [ebp + 0x2c]
push eax
push dword [ebp + 0x14]
call fcn.0044c8eb
mov eax, dword [ebp + 0x2c]
push eax
mov dword [ebp + 0x14], eax
call fcn.0040f54c
lea eax, [ebp + 0x14]
push eax
call fcn.00437e65
cmp dword [ebp - 0x74], ebx
pop ecx
pop ecx
je 0x40b2e3
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push ebx
push ebx
push 3
lea eax, [ebp - 0x194]
push eax
push 7
push 0xc0000000
push dword [ebp + 0x14]
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
call fcn.004051d2
cmp dword [ebp - 0x74], ebx
jne 0x40b30b
mov dword [ebp - 0x74], ebx
lea ecx, [ebp + 0x2c]
call fcn.00437e1a
lea ecx, [ebp - 0x84]
call fcn.00437e1a
mov eax, dword [ebp + 0x54]
cmp word [eax], 0x3e
jne 0x40b21b
mov word [eax], bx
mov eax, dword [ebp + 0x54]
cmp word [eax - 2], 0x32
mov dword [ebp - 0x50], ebx
mov byte [ebp + 0x53], 1
jne 0x40b347
mov byte [ebp + 0x53], 2
mov word [eax - 2], bx
add dword [ebp + 0x54], 2
mov eax, dword [ebp + 0x54]
cmp word [eax], 0x3e
jne 0x40b35b
add dword [ebp + 0x54], 2
mov dword [ebp - 0x50], esi
mov eax, dword [ebp + 0x54]
cmp word [eax], 0x26
jne 0x40b36c
add dword [ebp + 0x54], 2
mov byte [ebp + 0x53], 3
lea eax, [ebp + 0x54]
push eax
call fcn.00437e65
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
pop ecx
je 0x40b21b
mov dword [ebp + 0x20], eax
jmp 0x40b398
cmp cx, 0x3c
je 0x40b3a0
cmp cx, 0x3e
je 0x40b3a0
inc eax
inc eax
mov dword [ebp + 0x54], eax
mov cx, word [eax]
cmp cx, bx
jne 0x40b387
sub eax, dword [ebp + 0x20]
lea ecx, [ebp + 0x38]
sar eax, 1
push eax
push dword [ebp + 0x20]
call fcn.004464b4
lea ecx, [ebp - 0x24]
call fcn.0043dd7e
mov ecx, dword [ebp + 0x44]
push esi
push ebx
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x20]
call fcn.0044c8eb
mov eax, dword [ebp - 0x24]
push eax
mov dword [ebp + 0x20], eax
call fcn.0040f54c
lea eax, [ebp + 0x20]
push eax
call fcn.00437e65
test byte [ebp + 0x53], 1
pop ecx
pop ecx
je 0x40b3f8
cmp dword [ebp + 4], ebx
je 0x40b3f5
push dword [ebp + 4]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp + 4], ebx
test byte [ebp + 0x53], 2
je 0x40b412
cmp dword [ebp - 0x38], ebx
je 0x40b40c
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], ebx
push ebx
push ebx
push 4
lea eax, [ebp - 0x194]
push eax
push 7
push 0x40000000
push dword [ebp + 0x20]
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd8], ebx
call fcn.004051d2
mov esi, eax
cmp esi, ebx
jne 0x40b456
lea ecx, [ebp - 0x24]
call fcn.00437e1a
lea ecx, [ebp + 0x38]
call fcn.00437e1a
mov eax, dword [ebp + 0x54]
jmp 0x40b218
cmp dword [ebp - 0x50], ebx
je 0x40b466
push 2
push ebx
push ebx
push esi
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
cmp byte [ebp + 0x53], 1
jne 0x40b471
mov dword [ebp + 4], esi
jmp 0x40b43e
cmp byte [ebp + 0x53], 3
mov dword [ebp - 0x1c], esi
je 0x40b46c
mov dword [ebp - 0x38], esi
jmp 0x40b43e
mov ecx, dword [ebp - 0x74]
cmp ecx, ebx
je 0x40b495
lea eax, [ebp - 0x2a0]
or dword [eax + 0x2c], edi
mov dword [ebp - 4], esi
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x40b4ab
lea eax, [ebp - 0x2a0]
or dword [eax + 0x2c], edi
mov dword [ebp - 4], esi
mov dword [eax + 0x3c], ecx
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
je 0x40b4c1
lea eax, [ebp - 0x2a0]
or dword [eax + 0x2c], edi
mov dword [ebp - 4], esi
mov dword [eax + 0x40], ecx
mov ecx, dword [ebp + 0x44]
push esi
push ebx
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x44]
call fcn.0044c8eb
mov eax, dword [ebp - 0x138]
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 0x40b520
cmp ax, 0x2a
je 0x40b520
cmp ax, 0x40
jne 0x40b529
push 0x4a7ab8
lea ecx, [ebp - 0xe8]
call fcn.0044655b
mov ecx, dword [ebp - 0xe8]
inc byte [ebp + 0x1e]
lea eax, [ebp - 0x2a0]
mov dword [eax + 8], ecx
mov dword [ebp - 0x40], esi
add dword [ebp + 0x64], 2
jmp 0x40b4e6
cmp ax, 0x3d
jne 0x40b53b
or dword [ebp + 0x24], 1
inc dword [ebp - 0xe0]
jmp 0x40b523
cmp ax, 0x24
jne 0x40b547
mov byte [ebp + 0x3f], 1
jmp 0x40b523
cmp ax, 0x26
jne 0x40b556
mov dword [ebp - 0x40], 3
jmp 0x40b523
cmp ax, 0x5e
jne 0x40b561
mov dword [ebp - 0x40], edi
jmp 0x40b523
cmp ax, 0x5f
je 0x40b55c
cmp dword [ebp - 0x40], esi
je 0x40b590
cmp byte [ebp + 0x36], bl
je 0x40b590
push 0x4a7a98
lea ecx, [ebp - 0xe8]
call fcn.0044655b
mov ecx, dword [ebp - 0xe8]
lea eax, [ebp - 0x2a0]
mov dword [eax + 8], ecx
lea edi, [ebp - 0x2a0]
cmp dword [edi + 8], ebx
je 0x40b5ae
test byte [ebp + 0x1e], 1
je 0x40b5ae
call fcn.00409558
cmp eax, 1
jge 0x40b5ae
mov dword [edi + 8], ebx
mov eax, dword [ebp + 0x78]
cmp eax, ebx
je 0x40b5c9
or byte [edi + 0x2d], 1
mov dword [ebp + 0x24], ebx
mov byte [ebp + 0x73], bl
mov dword [ebp - 4], 1
mov dword [edi + 0x3c], eax
cmp dword [ebp + 0x28], ebx
je 0x40b5d7
cmp dword [ebp + 0x24], ebx
je 0x40b5d7
or dword [ebp + 0x28], 0x10
cmp byte [ebp + 0x3f], bl
je 0x40b5f7
mov eax, dword [ebp - 0xf4]
cmp word [eax], bx
jne 0x40b5f7
push 0x4a7a8c
lea ecx, [ebp - 0xf4]
call fcn.004464ff
cmp byte [ebp - 0x66], bl
je 0x40b648
push 0x5c
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.DLL_StrChrW]
mov edi, eax
cmp edi, ebx
je 0x40b611
inc edi
inc edi
jmp 0x40b614
mov edi, dword [ebp + 0x64]
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, eax
push eax
push dword [ebp + 0x64]
xor eax, eax
cmp dword [ebp + 0x24], ebx
push 1
setne al
push edi
push 0x4a7a30
add eax, 0x80000001
push eax
call fcn.00439000
add esp, 0x18
mov ebx, eax
jmp 0x40dc61
lea eax, [ebp + 0x64]
push eax
call fcn.00437e65
cmp dword [ebp - 0x5c], ebx
pop ecx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x108], ebx
je 0x40b6fb
lea ecx, [ebp - 0x24]
mov byte [ebp + 0x3f], bl
call fcn.0043dd7e
mov ecx, dword [ebp + 0x44]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x5c]
call fcn.00413152
cmp eax, ebx
je 0x40b6e9
mov ecx, dword [eax]
cmp word [ecx], bx
je 0x40b6e9
push eax
lea ecx, [ebp - 0x24]
call fcn.0044652d
push dword [ebp + 0x64]
lea ecx, [ebp - 0x108]
call fcn.0044655b
push dword [ebp - 0x124]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x24]
call fcn.00407801
mov edi, eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp - 0x108]
add esp, 0x14
lea ecx, [ebp - 0x24]
mov dword [ebp + 0x64], eax
call fcn.00437e1a
cmp edi, ebx
je 0x40b6fb
mov ebx, edi
jmp 0x40dc4e
lea ecx, [ebp - 0x24]
call fcn.00437e1a
mov ebx, 0x80070057
jmp 0x40dc4e
mov eax, dword [ebp - 0x110]
cmp word [eax], bx
je 0x40b75d
push dword [ebp + 0x64]
call fcn.0041161a
pop ecx
push 0xffffffffffffffff
push 0x4a7a24
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x64], eax
call fcn.004464cd
push dword [ebp + 0x64]
lea ecx, [ebp + 0x78]
call fcn.0043ddea
push 0x4a7a20
lea ecx, [ebp + 0x78]
call fcn.0043ddea
push dword [ebp - 0x110]
lea ecx, [ebp + 0x78]
call fcn.0043ddea
mov ecx, dword [ebp + 0x44]
push ebx
push dword [ebp + 0x78]
call fcn.00460d31
mov ebx, eax
lea ecx, [ebp + 0x78]
jmp 0x40dc49
cmp byte [ebp - 0x5d], bl
je 0x40b8cb
lea ecx, [ebp + 0x70]
call fcn.0043dd7e
push dword [ebp + 0x64]
mov dword [ebp + 0x2c], ebx
call fcn.0041161a
pop ecx
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x64], eax
call fcn.0043dd7e
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x74]
push eax
push dword [ebp + 0x64]
mov dword [ebp + 0x10], ebx
call fcn.00485e2a
mov eax, dword [ebp + 0x10]
add esp, 0xc
cmp eax, ebx
jne 0x40b7b2
lea ecx, [ebp + 0x74]
call fcn.00437e1a
lea ecx, [ebp + 0x70]
jmp 0x40b6ec
mov word [eax - 2], bx
call dword [sym.imp.USER32.DLL_CreatePopupMenu]
push dword [ebp + 0x74]
lea ecx, [ebp]
mov dword [ebp + 0x78], eax
call fcn.00446497
push dword [ebp + 0x10]
mov esi, dword [ebp]
lea ecx, [ebp + 0x7c]
call fcn.00446497
push dword [ebp + 0x78]
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp + 0x2c]
push eax
push dword [ebp + 0x7c]
push esi
call fcn.004061cc
mov edi, dword [ebp + 0x44]
add esp, 0x14
cmp dword [ebp + 0x2c], ebx
jle 0x40b83f
cmp dword [edi + 0x28], ebx
jne 0x40b805
push ebx
push edi
call fcn.00410eb0
pop ecx
pop ecx
mov eax, dword [edi + 0x28]
xor esi, esi
cmp eax, ebx
je 0x40b811
mov esi, dword [eax + 0x18]
push esi
call dword [0x4a67f4]
push ebx
push esi
push ebx
push dword [ebp - 0x13c]
push dword [ebp - 0x140]
push 0x128
push dword [ebp + 0x78]
call dword [sym.imp.USER32.DLL_TrackPopupMenu]
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.USER32.DLL_PostMessageW]
push dword [ebp + 0x78]
call dword [sym.imp.USER32.DLL_DestroyMenu]
cmp dword [ebp + 0x2c], ebx
jle 0x40b8ab
mov esi, dword [ebp + 0x70]
lea eax, [ebp + 0x78]
mov dword [ebp + 0x78], esi
call fcn.0043da00
mov eax, dword [ebp + 0x78]
mov word [eax], bx
cmp word [esi], bx
je 0x40b8ab
push 0xffffffffffffffff
push 0x4a7a24
lea ecx, [ebp + 0x68]
call fcn.004464cd
push dword [ebp + 0x64]
lea ecx, [ebp + 0x68]
call fcn.0043ddea
push 0x4a7a20
lea ecx, [ebp + 0x68]
call fcn.0043ddea
push esi
lea ecx, [ebp + 0x68]
call fcn.0043ddea
push ebx
push dword [ebp + 0x68]
mov ecx, edi
call fcn.00460d31
lea ecx, [ebp + 0x68]
mov ebx, eax
call fcn.00437e1a
lea ecx, [ebp + 0x7c]
call fcn.00437e1a
lea ecx, [ebp]
call fcn.00437e1a
lea ecx, [ebp + 0x74]
call fcn.00437e1a
lea ecx, [ebp + 0x70]
jmp 0x40dc49
push dword [ebp + 0x64]
lea ecx, [ebp - 0xec]
call fcn.00446497
cmp byte [ebp - 0x29], bl
je 0x40b98f
push 0x4a7600
lea ecx, [ebp - 0xec]
call fcn.0044655b
push 1
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.00419202
add esp, 0xc
push eax
lea ecx, [ebp - 0xec]
mov dword [ebp + 0x64], eax
call fcn.0043ddea
lea eax, [ebp - 0xc4]
push eax
call fcn.004044fa
pop ecx
mov dword [ebp + 0x4c], eax
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10000000
mov eax, dword [ebp - 0xec]
mov dword [ebp + 0x64], eax
je 0x40b939
cmp byte [ebp - 0x51], bl
je 0x40b943
lea eax, [ebp - 0x2a0]
or byte [eax + 0x2c], 0x80
xor edi, edi
cmp ecx, ebx
je 0x40b957
lea eax, [ebp - 0x2a0]
or dword [eax + 0x2c], 1
mov word [eax + 0x30], cx
mov al, byte [ebp + 0x1e]
and al, 3
inc edi
cmp al, 3
je 0x40b966
cmp byte [ebp - 0x1d], bl
je 0x40b970
lea eax, [ebp - 0x2a0]
or byte [eax + 0x2f], 8
lea eax, [ebp - 0x2a0]
cmp dword [eax + 8], ebx
je 0x40bc45
cmp byte [ebp + 0x1e], bl
jle 0x40bc45
mov eax, edi
jmp 0x40bc47
cmp byte [ebp - 0x31], bl
je 0x40b920
cmp dword [ebp - 0x40], esi
je 0x40b920
mov eax, dword [ebp - 0xec]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
mov dword [ebp - 0x6c], ebx
call fcn.00419202
mov esi, eax
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x6c], eax
push 3
lea eax, [ebp - 0x6c]
push eax
push 0x4a7a1c
call fcn.0043fbfd
add esp, 0x18
test al, al
jne 0x40ba95
push 7
lea eax, [ebp - 0x6c]
push eax
push 0x4a7a14
call fcn.0043fbfd
add esp, 0xc
test al, al
jne 0x40ba95
cmp dword [0x4c0c60], ebx
jne 0x40ba3f
push ebx
push 0x24
lea eax, [ebp - 0x5b4]
push eax
push ebx
mov word [ebp - 0x5b4], bx
call dword [sym.imp.SHELL32.DLL_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x5b4]
mov edi, 0x4c0c60
push eax
mov ecx, edi
call fcn.0044655b
push 0x4a79f0
mov ecx, edi
call fcn.0043ddea
push dword [0x4c0c60]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov word [0x4c0c10], ax
movsx eax, word [0x4c0c10]
push eax
push dword [ebp - 0x6c]
mov dword [ebp + 0x38], ebx
push dword [0x4c0c60]
call fcn.0040e1aa
add esp, 0xc
test al, al
je 0x40bb0a
movsx eax, word [0x4c0c10]
mov ecx, dword [ebp - 0x6c]
lea ecx, [ecx + eax*2]
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x22
je 0x40ba88
call fcn.00437e2d
test al, al
je 0x40bb0a
lea eax, [ebp - 0x6c]
push eax
mov dword [ebp - 0x6c], ecx
call fcn.00405196
pop ecx
push 2
lea eax, [ebp - 0x6c]
push eax
push 0x4a79ec
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40bb0a
mov eax, dword [ebp - 0x6c]
cmp word [eax], 0x22
jne 0x40baf0
add eax, 2
mov dword [ebp + 0x78], eax
lea eax, [ebp + 0x78]
push eax
call fcn.00437e65
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x22
pop ecx
je 0x40bae5
push 4
lea eax, [ebp + 0x78]
push eax
push 0x4a79e4
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x40baed
mov eax, dword [ebp + 0x78]
mov dword [ebp - 0x6c], eax
jmp 0x40baf0
mov eax, dword [ebp - 0x6c]
push ebx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push ebx
push eax
call fcn.00419202
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 0x40b920
mov edi, dword [sym.imp.SHLWAPI.DLL_StrCmpNIW]
push 4
lea eax, [esi - 8]
push 0x4a79d8
push eax
call edi
test eax, eax
je 0x40bb47
push 4
push 0x4a79cc
lea eax, [esi - 8]
push eax
call edi
test eax, eax
jne 0x40b920
mov ax, word [esi]
push 0x64
pop ecx
push ebx
push 0x80
push 3
mov word [ebp - 0x84], ax
xor eax, eax
push ebx
lea edi, [ebp - 0x540]
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 + 0x2c]
lea edi, [ebp - 0x540]
mov byte [ebp + 0x7b], bl
mov dword [ebp + 0x2c], ebx
call fcn.004051d2
push ebx
lea eax, [ebp - 0x9c]
push eax
push 0x190
mov eax, edi
push eax
push dword [ebp + 0x2c]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
push 0xb
mov eax, edi
push eax
push 0x4a79c0
call dword [sym.imp.SHLWAPI.DLL_StrCmpNIA]
test eax, eax
jne 0x40bbe8
mov al, byte [ebp - 0x540]
mov dword [ebp - 0x40], 0x10000000
jmp 0x40bbd0
cmp al, 0xd
je 0x40bbd7
cmp al, 0xa
je 0x40bbd7
inc edi
mov al, byte [edi]
cmp al, bl
jne 0x40bbc5
jmp 0x40bbd7
inc edi
movsx ax, byte [edi]
push eax
call fcn.00402bd8
add esp, 4
test al, al
jne 0x40bbd6
cmp dword [ebp + 0x38], ebx
jne 0x40bc18
cmp byte [edi], 0x3a
jne 0x40bbfd
cmp byte [edi + 1], 0x3a
jne 0x40bbfd
inc edi
inc edi
jmp 0x40bbfd
inc edi
cmp byte [edi], 0x40
je 0x40bbfc
push 7
push edi
push 0x4a79b8
call dword [sym.imp.SHLWAPI.DLL_StrCmpNIA]
test eax, eax
jne 0x40bc18
mov byte [ebp + 0x7b], 1
lea ecx, [ebp + 0x2c]
call fcn.00402b5a
cmp byte [ebp + 0x7b], bl
mov ax, word [ebp - 0x84]
mov word [esi], ax
je 0x40b920
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x44]
call fcn.0042f370
mov ebx, eax
jmp 0x40dc43
xor eax, eax
cmp eax, ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp - 0xd8], ebx
je 0x40bc61
mov dword [ebp - 0xd8], edi
mov dword [ebp + 0x54], 4
push eax
lea ecx, [ebp - 0x84]
call fcn.00437ee7
cmp byte [0x4c0df4], bl
mov esi, dword [ebp + 0x68]
mov dword [ebp + 0x38], 0x4c0fb8
jne 0x40bc9a
cmp esi, ebx
je 0x40bc88
cmp byte [esi + 8], bl
jne 0x40bc9a
cmp byte [ebp - 0x6d], bl
mov byte [ebp + 0x7b], bl
je 0x40bc9e
cmp esi, ebx
je 0x40bc9e
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x38], eax
mov byte [ebp + 0x7b], 1
push ebx
lea ecx, [ebp + 0x2c]
call fcn.00446497
cmp byte [ebp + 0x7b], bl
mov dword [ebp + 0x68], ebx
je 0x40bf32
push 0x4c1b94
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
push ebx
lea ecx, [ebp - 0x380]
call fcn.00412ff8
cmp esi, ebx
je 0x40bcdd
push dword [ebp + 0x38]
lea ecx, [ebp - 0x380]
push esi
call fcn.0043a5a2
call dword [sym.imp.KERNEL32.DLL_GetEnvironmentStringsW]
mov edi, eax
push 0x106
lea ecx, [ebp - 0x78]
mov dword [ebp - 0xbc], edi
call fcn.0043dd9c
mov eax, dword [ebp - 0x78]
mov dword [ebp + 0x68], eax
jmp 0x40bd79
mov dword [ebp + 0x78], edi
jmp 0x40bd0b
cmp ax, 0x3d
je 0x40bd15
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x40bd05
mov esi, edi
sub esi, dword [ebp + 0x78]
sar esi, 1
cmp word [edi], bx
je 0x40bd77
cmp word [edi + 2], bx
je 0x40bd72
cmp esi, 0x104
jg 0x40bd72
push esi
push dword [ebp + 0x78]
push dword [ebp + 0x68]
call fcn.0040515a
mov eax, dword [ebp + 0x68]
add esp, 0xc
push ebx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x380]
mov word [eax + esi*2], bx
call fcn.0040f3c5
test eax, eax
jne 0x40bd72
push 0xffffffffffffffff
push esi
lea eax, [edi + 2]
push eax
push dword [ebp + 0x78]
lea ecx, [ebp - 0x380]
call fcn.004130ae
jmp 0x40bd72
inc edi
inc edi
cmp word [edi], bx
jne 0x40bd70
inc edi
inc edi
cmp word [edi], bx
jne 0x40bd00
push dword [ebp - 0xbc]
call dword [sym.imp.KERNEL32.DLL_FreeEnvironmentStringsW]
mov eax, dword [ebp - 0x37c]
xor esi, esi
cmp eax, ebx
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x78], ebx
jle 0x40be3a
mov eax, dword [ebp + 0x78]
mov dword [ebp - 0x44], eax
inc eax
cmp eax, dword [ebp + 0x20]
mov dword [ebp - 0xc8], eax
mov dword [ebp + 0x68], eax
jge 0x40be28
mov eax, dword [ebp + 0x78]
shl eax, 2
mov dword [ebp - 0xbc], eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebp - 0x380]
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 0x40bdf4
mov ecx, dword [ebp + 0x68]
mov dword [ebp - 0x44], ecx
mov dword [ebp + 0x38], edi
jmp 0x40bdf7
mov ecx, dword [ebp - 0x44]
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x20]
jl 0x40bdc4
cmp ecx, dword [ebp + 0x78]
je 0x40be28
mov edx, dword [ebp - 0x380]
mov eax, dword [ebp - 0xbc]
add eax, edx
mov edi, dword [eax]
shl ecx, 2
mov edx, dword [ecx + edx]
mov dword [eax], edx
mov eax, dword [ebp - 0x380]
mov dword [ecx + eax], edi
mov eax, dword [ebp - 0xc8]
cmp eax, dword [ebp + 0x20]
mov dword [ebp + 0x78], eax
jl 0x40bda0
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 0x78], ebx
jle 0x40be7c
mov edi, dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov eax, dword [ebp - 0x380]
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 - 0x380]
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 + 0x20]
jl 0x40be48
add esi, 4
push esi
lea ecx, [ebp + 0x2c]
call fcn.0043ddc3
mov edi, dword [ebp + 0x2c]
xor esi, esi
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 0x68], edi
jle 0x40befe
mov eax, dword [ebp - 0x380]
mov eax, dword [eax + esi*4]
mov eax, dword [eax]
push eax
mov dword [ebp + 0x78], eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
push eax
push dword [ebp + 0x78]
mov dword [ebp + 0x10], eax
push edi
call fcn.0040515a
mov eax, dword [ebp + 0x10]
lea edi, [edi + eax*2]
mov word [edi], 0x3d
mov eax, dword [ebp - 0x380]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 4]
add esp, 0xc
inc edi
push eax
inc edi
mov dword [ebp + 0x78], eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
push eax
push dword [ebp + 0x78]
mov dword [ebp + 0x10], eax
push edi
call fcn.0040515a
mov eax, dword [ebp + 0x10]
lea edi, [edi + eax*2]
add esp, 0xc
mov word [edi], bx
inc edi
inc edi
inc esi
cmp esi, dword [ebp + 0x20]
jl 0x40be95
mov word [edi], bx
lea ecx, [ebp - 0x78]
mov word [edi + 2], bx
call fcn.00437e1a
push ebx
lea ecx, [ebp - 0x380]
call fcn.0042ef86
lea ecx, [ebp - 0x340]
call fcn.00437e1a
push 0x4c1b94
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor edi, edi
inc edi
mov ecx, dword [ebp - 0x58]
xor al, al
cmp word [ecx], 0x40
jne 0x40bf41
inc al
jmp 0x40bf4b
cmp dword [ebp - 0xb0], ebx
je 0x40bf4b
mov al, 2
cmp byte [ebp + 0x73], bl
je 0x40c04a
or dword [ebp + 0x24], edi
or byte [ebp + 0x73], 8
neg al
sbb eax, eax
and eax, 0xfff01000
add eax, 0x100000
mov esi, eax
call fcn.0043a2d5
push eax
lea eax, [ebp - 0x1f4]
push 0x4a79a0
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 - 0x1f4]
push eax
call dword [sym.imp.KERNEL32.DLL_CreateNamedPipeA]
cmp eax, ebx
mov dword [ebp - 0x4c], eax
je 0x40bfe6
cmp eax, 0xffffffff
je 0x40bfe6
push 0xffffffffffffffff
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp + 0x78]
call fcn.004464cd
push ebx
push ebx
push 3
lea ecx, [ebp - 0x194]
push ecx
push 7
push 0xc0000000
push dword [eax]
lea ecx, [ebp - 0x64]
call fcn.004051d2
lea ecx, [ebp + 0x78]
call fcn.00437e1a
jmp 0x40bfed
push edi
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov esi, dword [ebp - 0x64]
push ebx
push ebx
lea eax, [ebp - 0xbc]
push eax
push esi
mov dword [ebp - 0xbc], 2
call dword [sym.imp.KERNEL32.DLL_SetNamedPipeHandleState]
push ebx
push edi
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateEventW]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x2a0]
or byte [eax + 0x2d], 1
test byte [ebp + 0x33], 2
mov dword [ebp - 0x94], edi
mov dword [ebp - 4], edi
jne 0x40c03e
cmp byte [ebp + 0x33], bl
jne 0x40c041
mov dword [eax + 0x3c], esi
test byte [ebp + 0x33], 1
je 0x40c04a
mov dword [eax + 0x40], esi
push 0x4c1b94
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov eax, dword [ebp + 0x68]
neg eax
sbb eax, eax
and eax, 0x400
or eax, dword [ebp - 0x10]
mov dword [ebp + 0x20], ebx
or dword [ebp + 0x54], eax
cmp byte [ebp + 0x35], bl
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x1c], ebx
je 0x40c079
or dword [ebp + 0x54], 4
cmp byte [ebp - 0x15], bl
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xc8], ebx
je 0x40c09d
lea eax, [ebp - 0xbc]
push eax
call fcn.00403cdd
pop ecx
mov dword [ebp - 0xc8], eax
cmp byte [ebp + 0x3f], bl
mov esi, dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov edi, dword [ebp + 0x4c]
je 0x40c0b3
cmp edi, ebx
je 0x40ce3f
cmp byte [ebp - 0x65], bl
je 0x40c175
cmp word [ebp - 0x28], bx
jne 0x40c175
cmp word [ebp + 0x18], bx
jne 0x40c175
push dword [ebp + 0x64]
lea eax, [ebp + 0x20]
push edi
push dword [ebp + 0x58]
push eax
call fcn.00404426
mov esi, eax
push esi
call fcn.0040451e
add esp, 0x14
test eax, eax
jne 0x40c35c
cmp dword [ebp - 0x3c], ebx
push ebx
je 0x40c139
movzx eax, word [ebp - 0x3c]
push 0x4a72cc
push ebx
or eax, 2
push eax
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x14]
or eax, dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00405299
add esp, 0x38
mov dword [ebp + 8], eax
jmp 0x40cbf5
call fcn.0040438b
pop ecx
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x14]
or eax, dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
push dword [ebp - 0x130]
call dword [sym.imp.ADVAPI32.DLL_CreateProcessAsUserW]
jmp 0x40c131
mov eax, dword [ebp - 0xd4]
cmp word [eax], bx
je 0x40c32e
cmp word [ebp - 0x28], bx
jne 0x40c32e
cmp word [ebp + 0x18], bx
jne 0x40c32e
cmp byte [ebp - 0x16], bl
mov dword [ebp + 8], ebx
je 0x40c22f
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp]
call fcn.00402bbd
lea ecx, [ebp + 0x78]
call fcn.0043dc57
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, eax
push eax
push ebx
push dword [ebp - 0x80]
call fcn.00492e00
lea eax, [ebp + 0x78]
push eax
push dword [ebp]
call fcn.00442e5c
add esp, 0x14
push 0xffffffffffffffff
mov edi, eax
neg edi
push 0xffffffffffffffff
push dword [ebp + 0x78]
sbb edi, edi
lea ecx, [ebp - 0x80]
neg edi
call fcn.0043de39
push dword [ebp]
call esi
push eax
push ebx
push dword [ebp]
call fcn.00492e00
add esp, 0xc
push dword [ebp + 0x78]
call esi
push eax
push ebx
push dword [ebp + 0x78]
call fcn.00492e00
add esp, 0xc
lea ecx, [ebp + 0x78]
call fcn.00437e1a
lea ecx, [ebp]
call fcn.00437e1a
cmp edi, ebx
je 0x40c2f5
mov edi, dword [ebp - 0xd4]
mov esi, dword [sym.imp.SHLWAPI.DLL_StrChrW]
push pe_nt_image_headers32
push edi
call esi
cmp eax, ebx
jne 0x40c24d
push 0x5c
push edi
call esi
cmp eax, ebx
je 0x40c25b
mov word [eax], bx
mov esi, dword [ebp - 0xd4]
lea edi, [eax + 2]
jmp 0x40c260
mov esi, 0x4a72cc
push dword [ebp + 0x64]
lea eax, [ebp + 0x20]
push dword [ebp + 0x4c]
push dword [ebp + 0x58]
push eax
call fcn.00404426
push eax
mov dword [ebp + 0x58], eax
call fcn.0040451e
add esp, 0x14
test eax, eax
jne 0x40c35c
cmp dword [ebp - 0x3c], ebx
je 0x40c2c3
push dword [ebp - 0x80]
movzx eax, word [ebp - 0x3c]
push esi
push edi
push eax
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebp - 0x14]
push dword [ebp + 0x68]
or eax, 1
push eax
push ebx
push ebx
push ebx
push dword [ebp + 0x64]
push dword [ebp + 0x4c]
call fcn.00405299
add esp, 0x38
jmp 0x40c2f2
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebp - 0x14]
push dword [ebp + 0x68]
or eax, 1
push dword [ebp + 0x54]
push dword [ebp + 0x64]
push dword [ebp + 0x4c]
push eax
push dword [ebp - 0x80]
push esi
push edi
call dword [sym.imp.ADVAPI32.DLL_CreateProcessWithLogonW]
mov dword [ebp + 8], eax
push dword [ebp - 0x80]
mov esi, dword [sym.imp.KERNEL32.DLL_lstrlenW]
call esi
add eax, eax
push eax
push ebx
push dword [ebp - 0x80]
call fcn.00492e00
add esp, 0xc
push dword [ebp - 0xd4]
call esi
add eax, eax
push eax
push ebx
push dword [ebp - 0xd4]
call fcn.00492e00
add esp, 0xc
jmp 0x40cbf5
cmp byte [ebp + 0x34], bl
je 0x40c3ab
cmp edi, ebx
je 0x40c33d
cmp word [edi], 0x26
je 0x40c3ab
cmp word [ebp - 0xc], bx
jne 0x40c3ab
cmp word [ebp - 0x28], bx
jne 0x40c3ab
cmp word [ebp + 0x18], bx
jne 0x40c3ab
push dword [ebp + 0x58]
call fcn.0040451e
test eax, eax
pop ecx
je 0x40c368
mov dword [ebp + 0x78], 3
jmp 0x40cf28
push dword [ebp - 0x48]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x68]
push dword [ebp + 0x54]
push dword [ebp - 4]
push dword [ebp + 0x64]
push dword [ebp - 0x184]
push dword [ebp - 0x188]
call fcn.004894d1
xor ecx, ecx
add esp, 0x28
test eax, eax
setg cl
mov dword [ebp + 8], ecx
jmp 0x40cbf5
lea ecx, [ebp - 0xac]
mov dword [ebp - 8], ebx
mov dword [ebp + 8], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp + 0x78], edi
mov dword [ebp - 0x5c], edi
call fcn.0043dc57
cmp word [ebp + 0x18], bx
lea eax, [ebp - 0x44]
mov dword [ebp - 0x78], eax
lea eax, [ebp + 0x4c]
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x10], eax
je 0x40c498
push 0x22
pop esi
cmp word [edi], si
jne 0x40c401
add edi, 2
mov dword [ebp + 0x78], edi
push 0x3a
lea eax, [ebp + 0x78]
mov dword [ebp - 0xdc], edi
call fcn.004128fe
mov eax, dword [ebp + 0x78]
cmp eax, edi
pop ecx
je 0x40c423
cmp word [eax - 2], si
jne 0x40c423
mov word [eax - 2], bx
cmp word [eax], 0x3a
jne 0x40c42e
mov word [eax], bx
inc eax
inc eax
cmp word [eax], si
mov edi, eax
jne 0x40c447
lea edi, [eax + 2]
inc eax
inc eax
cmp word [eax], si
jne 0x40c442
mov word [eax], bx
cmp word [eax], bx
jne 0x40c438
cmp word [ebp - 0x28], bx
je 0x40c465
push 0x3a
push edi
call dword [sym.imp.SHLWAPI.DLL_StrChrW]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x40c465
mov word [eax], bx
inc eax
inc eax
mov dword [ebp - 8], eax
push ebx
push ebx
push 0x10000
push edi
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 0xdc]
call fcn.00435b56
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa4]
add esp, 0x18
add ecx, eax
mov dword [ebp + 0x14], ecx
jmp 0x40c6b0
cmp edi, ebx
je 0x40c56a
cmp word [edi], 0x26
jne 0x40c551
mov ecx, dword [ebp + 0x44]
push ebx
push 0xffffffffffffffff
push ebx
push edi
call fcn.0040f3c5
mov esi, eax
cmp esi, ebx
jne 0x40c518
lea ecx, [ebp + 0x4c]
call fcn.00437e1a
lea ecx, [ebp - 0xac]
call fcn.00437e1a
lea ecx, [ebp - 0x10]
call fcn.00437e1a
lea ecx, [ebp - 0x1c]
call fcn.00437e1a
lea ecx, [ebp + 0xc]
call fcn.00437e1a
lea ecx, [ebp + 0x20]
call fcn.00437e1a
push 0x4c1b94
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea ecx, [ebp + 0x2c]
call fcn.00437e1a
lea ecx, [ebp - 0x84]
call fcn.00412b79
mov ebx, 0x80070057
jmp 0x40dc43
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xa8], eax
add eax, 0x10
push eax
lea ecx, [ebp - 0xac]
call fcn.0043dc99
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xa8]
inc eax
push eax
push dword [esi + 4]
push dword [ebp - 0xac]
call fcn.004128b6
add esp, 0xc
jmp 0x40c6b0
mov al, byte [ebp + 0x32]
neg al
sbb eax, eax
and eax, 2
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00444a3a
pop ecx
pop ecx
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], ebx
mov dword [ebp - 0x164], ebx
jne 0x40c609
mov eax, dword [ebp + 0x64]
cmp eax, ebx
je 0x40c589
cmp word [eax], 0x2a
jne 0x40c589
inc dword [ebp - 0xc]
cmp byte [ebp + 0x34], bl
je 0x40c591
mov dword [ebp - 0xc], ebx
cmp word [ebp - 0x28], bx
je 0x40cc0e
push 0x3a
push ebx
push dword [ebp - 0x5c]
call dword [sym.imp.SHLWAPI.DLL_StrRChrW]
mov esi, eax
cmp esi, ebx
mov dword [ebp - 8], esi
je 0x40c600
push 2
pop eax
mov word [esi], bx
add esi, eax
mov dword [ebp - 8], esi
je 0x40c600
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x5c]
cmp word [eax], 0x22
mov dword [ebp - 0x78], ebx
mov dword [ebp + 0x10], ebx
jne 0x40c5f0
inc eax
inc eax
mov dword [ebp - 0x5c], eax
mov dword [ebp + 0x78], eax
push 0x22
lea eax, [ebp + 0x78]
call fcn.004128fe
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
je 0x40c5f0
mov word [eax], bx
push dword [ebp - 0x5c]
lea ecx, [ebp + 0x4c]
call fcn.004464ff
jmp 0x40c6e2
cmp dword [ebp - 0x48], ebx
je 0x40cc0e
cmp word [ebp - 0x28], bx
mov edi, dword [ebp - 0x48]
je 0x40c62b
push 0x3a
push ebx
push edi
call dword [sym.imp.SHLWAPI.DLL_StrRChrW]
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x40c62b
mov word [eax], bx
inc eax
inc eax
mov dword [ebp - 8], eax
add dword [ebp - 0x48], 2
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00444988
mov si, word [edi]
pop ecx
mov dword [ebp - 0xdc], eax
mov eax, dword [0x4c0ea0]
mov word [edi], bx
pop ecx
mov ecx, dword [ebp - 0x5c]
mov dword [ebp + 0x38], 0x20
cmp word [ecx], bx
mov dword [ebp + 0x78], ebx
je 0x40c671
push 2
push ebx
push ecx
call dword [sym.imp.KERNEL32.DLL_LoadLibraryExW]
mov dword [ebp + 0x78], eax
cmp eax, ebx
mov word [edi], si
je 0x40c6a2
lea ecx, [ebp + 0x38]
push ecx
lea ecx, [ebp - 0xac]
push ecx
push dword [ebp - 0xdc]
mov dword [ebp + 0x38], 0x20
push dword [ebp - 0x164]
push eax
call fcn.00413369
add esp, 0x14
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x78], ebx
je 0x40c6b0
push dword [ebp + 0x78]
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
cmp dword [ebp - 0xa8], ebx
je 0x40cbda
cmp dword [ebp + 0x14], ebx
je 0x40cbda
cmp word [ebp - 0xc], bx
mov dword [ebp - 0x174], 1
ja 0x40c6df
cmp word [ebp - 0x28], bx
je 0x40cb00
mov esi, dword [ebp - 8]
cmp dword [ebp + 0x10], ebx
mov eax, dword [ebp - 0x168]
jne 0x40c6f2
mov eax, 0x4a71c4
push eax
push 0x4a7990
push dword [ebp - 0x78]
lea eax, [ebp - 0x90]
push dword [ebp + 0x10]
push eax
call fcn.0040556e
add esp, 0x14
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0xc]
call fcn.0044652d
mov edi, dword [ebp - 0x44]
lea eax, [ebp + 0x4c]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x44]
cmp edi, ebx
mov dword [ebp - 0x78], eax
setne al
cmp al, bl
mov dword [ebp - 0x9c], ebx
je 0x40c762
push ebx
lea eax, [ebp - 0x9c]
push eax
push dword [ebp - 0xa8]
push dword [ebp + 0x14]
push edi
call dword [sym.imp.KERNEL32.DLL_WriteFile]
push edi
call fcn.0043bbca
pop ecx
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x40c76f
cmp dword [ebp - 0x174], 1
jle 0x40cbda
cmp esi, ebx
push dword [ebp - 0x90]
mov byte [ebp + 0x7b], bl
je 0x40c8ce
mov eax, dword [ebp + 0x4c]
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x4c], ebx
call fcn.0044655b
push 0x4a7984
lea ecx, [ebp + 0x4c]
call fcn.0043ddea
lea eax, [ebp + 0x4c]
push eax
lea ecx, [ebp + 0xc]
call fcn.0044652d
cmp word [esi], 0x5c
je 0x40c7b8
add esi, 0xfffffffe
mov word [esi], 0x5c
push ebx
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
cmp word [ebp - 0x28], 1
jne 0x40c811
push 0x4a7970
lea ecx, [ebp + 0x18]
call fcn.00446497
push dword [ebp + 0x38]
lea ecx, [ebp + 0x18]
call fcn.0043ddea
push 0x4a7968
lea ecx, [ebp + 0x18]
call fcn.0043ddea
push dword [ebp + 0x4c]
lea ecx, [ebp + 0x18]
call fcn.0043ddea
push dword [ebp + 0x18]
mov ecx, dword [ebp + 0x44]
call fcn.004296e0
lea ecx, [ebp + 0x18]
call fcn.00437e1a
jmp 0x40c8af
cmp word [ebp - 0x28], 0x100
jne 0x40c8af
push 0xf
pop ecx
xor eax, eax
mov dword [ebp - 0x2e4], 0x44
mov dword [ebp - 0x2e0], ebx
lea edi, [ebp - 0x2dc]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1c8], ebx
lea edi, [ebp - 0x1c4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x2e4]
push eax
push dword [ebp + 0xc]
mov dword [ebp - 0x2b8], 0x80
push ebx
push dword [ebp - 0x14]
push ebx
push ebx
push ebx
push 0x4a7960
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.DLL_CreateProcessW]
push 0xffffffffffffffff
push dword [ebp - 0x1c8]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
cmp dword [ebp - 0x1c8], ebx
je 0x40c89b
push dword [ebp - 0x1c8]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebp - 0x1c4], ebx
je 0x40c8af
push dword [ebp - 0x1c4]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push esi
lea ecx, [ebp + 0x4c]
call fcn.0043ddea
lea eax, [ebp + 0x4c]
push eax
lea ecx, [ebp + 0x20]
call fcn.0044652d
lea ecx, [ebp + 0x38]
call fcn.00437e1a
jmp 0x40c8d6
lea ecx, [ebp + 0xc]
call fcn.0044655b
mov edx, dword [ebp + 0x64]
mov di, word [edx]
cmp di, 0x22
mov eax, edx
jne 0x40c8e7
lea eax, [edx + 2]
cmp word [eax], 0x3f
jne 0x40c974
lea esi, [eax + 2]
mov cx, word [esi]
cmp cx, 0x3f
jne 0x40c905
mov edi, dword [ebp + 0x4c]
lea esi, [eax + 4]
jmp 0x40c949
cmp cx, 0x5c
jne 0x40c974
cmp di, 0x22
je 0x40c946
mov eax, dword [ebp + 0xc]
mov edi, 0x104
push edi
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x38], eax
mov dword [ebp + 0xc], ebx
call fcn.0043ddc3
mov eax, dword [ebp + 0xc]
push edi
mov word [eax], bx
push dword [ebp + 0xc]
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.DLL_GetShortPathNameW]
lea ecx, [ebp + 0x38]
call fcn.00437e1a
mov edx, dword [ebp + 0x64]
mov edi, dword [ebp + 0xc]
cmp word [edx], 0x22
jne 0x40c95c
push 0x4a6c24
lea ecx, [ebp - 0x1c]
call fcn.0044655b
push edi
lea ecx, [ebp - 0x1c]
call fcn.0043ddea
push esi
lea ecx, [ebp - 0x1c]
call fcn.0043ddea
mov edx, dword [ebp - 0x1c]
mov dword [ebp + 0x64], edx
cmp dword [ebp - 8], ebx
je 0x40c9d7
cmp word [ebp - 0xc], bx
ja 0x40c9ad
lea eax, [ebp - 0xac]
push eax
push dword [ebp + 0x20]
mov dword [ebp - 8], ebx
call fcn.00412e1c
cmp dword [ebp - 0xa8], ebx
pop ecx
pop ecx
je 0x40c9d4
mov eax, dword [ebp - 0xac]
mov byte [ebp + 0x7b], 1
mov dword [ebp + 0x14], eax
jmp 0x40cacb
cmp byte [ebp + 0x3f], bl
je 0x40c9d7
cmp dword [ebp + 0x58], ebx
jne 0x40c9bd
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x58], eax
cmp word [ebp - 0xc], 2
mov dword [ebp - 8], ebx
mov byte [ebp + 0x7b], 2
jb 0x40ce24
jmp 0x40cacb
mov edx, dword [ebp + 0x64]
mov eax, dword [ebp - 8]
cmp eax, ebx
mov edi, dword [ebp + 0x4c]
je 0x40c9e8
cmp word [eax], bx
jne 0x40c9e8
xor edi, edi
cmp dword [ebp + 0x58], ebx
jne 0x40c9f3
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x58], eax
push edx
push dword [ebp + 0x4c]
lea eax, [ebp + 0x20]
push dword [ebp + 0x58]
push eax
call fcn.00404426
mov esi, eax
push esi
mov dword [ebp + 0x58], esi
call fcn.0040451e
add esp, 0x14
test eax, eax
jne 0x40cc2e
cmp dword [ebp + 0x28], ebx
je 0x40ca4d
push dword [ebp + 0x28]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x14]
or eax, dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00402ea0
add esp, 0x2c
jmp 0x40cab4
cmp dword [ebp - 0x3c], ebx
je 0x40ca8a
movzx eax, word [ebp - 0x3c]
push ebx
push 0x4a72cc
push ebx
push eax
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x14]
or eax, dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00405299
add esp, 0x38
jmp 0x40cab4
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x14]
or eax, dword [ebp + 0x54]
push esi
push dword [ebp + 0x68]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00492719
add esp, 0x28
cmp byte [ebp - 0xc], 2
mov dword [ebp + 8], eax
jl 0x40cbda
cmp word [ebp - 0x28], bx
jne 0x40cbda
cmp byte [ebp + 0x7b], 1
jne 0x40cad6
or eax, 0xffffffff
jmp 0x40cadf
lea eax, [ebp - 0x160]
mov eax, dword [eax + 8]
push eax
push dword [ebp - 0x90]
call fcn.00403735
cmp byte [ebp + 0x7b], 1
mov eax, dword [ebp - 0x90]
pop ecx
pop ecx
mov word [eax], bx
jne 0x40cc05
mov eax, dword [ebp + 0x64]
cmp word [eax], 0x22
mov edi, eax
jne 0x40cb0e
add eax, 2
cmp word [eax], 0x3f
mov dword [ebp + 0x38], ebx
jne 0x40cb35
cmp word [eax + 2], 0x5c
jne 0x40cb35
lea edi, [eax + 4]
cmp word [edi], 0x22
jne 0x40cb35
dec edi
dec edi
mov ax, word [edi]
mov word [ebp + 0x38], ax
mov word [edi], 0x22
push dword [ebp + 0x58]
call fcn.0040451e
test eax, eax
pop ecx
jne 0x40cc2e
push ebx
lea esi, [ebp - 0x160]
push esi
lea eax, [ebp - 0x2a0]
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x68]
push dword [ebp + 0x54]
push dword [ebp - 4]
push edi
push dword [ebp - 0xa8]
push dword [ebp + 0x14]
call fcn.004894d1
add esp, 0x28
cmp word [ebp + 0x38], bx
mov dword [ebp - 0xdc], eax
je 0x40cb86
mov ax, word [ebp + 0x38]
mov word [edi], ax
cmp dword [ebp - 0xdc], ebx
jl 0x40c6df
mov esi, dword [esi + 8]
cmp esi, ebx
je 0x40c6df
push esi
push ebx
push 0x400
call dword [sym.imp.KERNEL32.DLL_OpenProcess]
cmp eax, ebx
je 0x40c6df
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
xor eax, eax
cmp dword [ebp - 0xdc], ebx
setg al
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x90]
cmp eax, ebx
je 0x40cbda
cmp word [eax], bx
jne 0x40cacb
lea ecx, [ebp + 0x4c]
call fcn.00437e1a
lea ecx, [ebp - 0xac]
call fcn.00437e1a
lea ecx, [ebp - 0x10]
call fcn.00437e1a
cmp dword [ebp + 8], ebx
je 0x40cf1a
xor eax, eax
jmp 0x40cf20
cmp byte [ebp + 0x7b], 2
jmp 0x40ce1e
push dword [ebp + 0x64]
lea eax, [ebp + 0x20]
push edi
push dword [ebp + 0x58]
push eax
call fcn.00404426
push eax
mov dword [ebp + 0x58], eax
call fcn.0040451e
add esp, 0x14
test eax, eax
je 0x40cc55
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x78], 3
call fcn.00437e1a
lea ecx, [ebp - 0xac]
call fcn.00437e1a
lea ecx, [ebp - 0x10]
call fcn.00437e1a
jmp 0x40cf28
cmp byte [ebp + 0x73], bl
jne 0x40ccd7
push 0x5c
push ebx
push dword [ebp + 0x64]
call dword [sym.imp.SHLWAPI.DLL_StrRChrW]
mov esi, eax
cmp esi, ebx
je 0x40cc70
inc esi
inc esi
jmp 0x40cc73
mov esi, dword [ebp + 0x64]
push 8
push esi
push 0x4a7954
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40cca5
xor eax, eax
mov ax, word [esi + 0x10]
cmp ax, bx
je 0x40cca1
cmp ax, 0x2e
je 0x40cca1
call fcn.00437e2d
test al, al
je 0x40cca5
mov byte [ebp + 0x1f], 1
push 8
push esi
push 0x4a794c
call fcn.0043917b
add esp, 0xc
test al, al
je 0x40ccd7
xor eax, eax
mov ax, word [esi + 0xe]
cmp ax, bx
je 0x40ccd3
cmp ax, 0x2e
je 0x40ccd3
call fcn.00437e2d
test al, al
je 0x40ccd7
mov byte [ebp + 0x1f], 1
test byte [ebp + 0x4b], 1
jne 0x40cce2
cmp dword [ebp - 0x30], ebx
je 0x40cd0a
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, eax
push eax
push dword [ebp + 0x64]
push 1
push 0x4a793c
push 0x4a7918
push 0x80000002
call fcn.00439000
add esp, 0x18
cmp dword [ebp + 0x28], ebx
je 0x40cd40
push dword [ebp + 0x28]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebp - 0x14]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x54]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00402ea0
add esp, 0x2c
jmp 0x40cdab
cmp dword [ebp - 0x3c], ebx
je 0x40cd7f
movzx eax, word [ebp - 0x3c]
push ebx
push 0x4a72cc
push ebx
push eax
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebp - 0x14]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x54]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00405299
add esp, 0x38
jmp 0x40cdab
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x2a0]
push eax
push dword [ebp + 0x58]
mov eax, dword [ebp - 0x14]
push dword [ebp + 0x68]
or eax, dword [ebp + 0x54]
push eax
push dword [ebp - 4]
push ebx
push ebx
push dword [ebp + 0x64]
push edi
call fcn.00492719
add esp, 0x28
cmp eax, ebx
mov dword [ebp + 8], eax
jne 0x40cdb5
mov byte [ebp + 0x1f], bl
cmp byte [ebp + 0x1f], bl
je 0x40cde0
call fcn.004194a5
test eax, eax
je 0x40cdc7
or dword [ebp + 0x24], 1
cmp dword [ebp + 0x24], ebx
jne 0x40cde0
push 0x4a78f4
call fcn.00492742
neg eax
sbb eax, eax
neg eax
pop ecx
mov dword [ebp + 0x24], eax
cmp dword [ebp + 8], ebx
jne 0x40cbda
push dword [ebp - 0x30]
push ebx
push dword [ebp + 0x64]
push 0x4a78b8
push 0x4c0fb8
call fcn.0040f70e
add esp, 0x14
cmp byte [ebp + 0x3f], bl
jne 0x40cbda
cmp edi, ebx
jne 0x40cbda
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xc1
jne 0x40cbda
lea ecx, [ebp + 0x4c]
call fcn.00437e1a
lea ecx, [ebp - 0xac]
call fcn.00437e1a
lea ecx, [ebp - 0x10]
call fcn.00437e1a
push 0xd
xor eax, eax
pop ecx
lea edi, [ebp - 0x208]
mov dword [ebp - 0x210], 0x3c
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x40]
cmp eax, ebx
mov dword [ebp - 0x20c], 0x4540
jne 0x40ce6a
push 5
pop eax
movzx eax, ax
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp + 0x58]
cmp eax, ebx
je 0x40ce85
cmp word [eax], bx
je 0x40ce85
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x78], eax
mov dword [ebp - 0x200], eax
push 1
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x68], ebx
call fcn.00419202
mov esi, eax
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [esi], bx
jne 0x40cec1
cmp eax, dword [ebp + 0x64]
je 0x40cedc
push dword [ebp + 0x68]
lea ecx, [ebp - 0x118]
push eax
call fcn.0043dea2
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x200], eax
cmp word [esi], bx
je 0x40cee7
mov dword [ebp - 0x1fc], esi
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHELL32.DLL_ShellExecuteExW]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x1d8]
lea esi, [ebp - 0x160]
push eax
mov dword [esi], eax
mov dword [ebp - 0x1d8], ebx
call dword [sym.imp.KERNEL32.DLL_GetProcessId]
mov dword [esi + 8], eax
jmp 0x40cbf5
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ecx, dword [ebp + 0x74]
mov dword [ecx], eax
mov dword [ebp + 0x78], eax
lea ecx, [ebp - 0x50]
call fcn.00402b5a
cmp dword [ebp - 0xc8], ebx
je 0x40cf44
push dword [ebp - 0xbc]
call fcn.00403cee
pop ecx
lea esi, [ebp - 0xb4]
mov eax, dword [esi]
cmp eax, ebx
je 0x40cf57
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebp - 0x104], ebx
mov dword [esi], ebx
je 0x40cf7b
push dword [ebp - 0x104]
lea eax, [ebp - 0x160]
push dword [eax + 8]
push dword [ebp + 0x44]
call fcn.0044023a
add esp, 0xc
mov edx, dword [ebp - 0x12c]
cmp edx, ebx
je 0x40cfcb
push 0x26
pop esi
cmp word [edx], si
mov ecx, edx
jne 0x40cf9e
lea eax, [edx + 2]
jmp 0x40cf99
mov ecx, eax
lea eax, [ecx + 2]
cmp word [eax], si
je 0x40cf94
cmp word [ecx], si
mov eax, ecx
jne 0x40cfac
lea eax, [ecx + 2]
jmp 0x40cfac
inc eax
inc eax
cmp word [eax], 0x3a
je 0x40cfaa
cmp word [eax], bx
je 0x40cfcb
push edx
lea eax, [ebp - 0x160]
push dword [eax]
push dword [ebp + 0x44]
call fcn.00426b76
add esp, 0xc
cmp byte [ebp + 0x35], bl
je 0x40cff1
lea esi, [ebp - 0x160]
cmp dword [esi], ebx
je 0x40cff1
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateJobObjectW]
push dword [esi]
mov dword [ebp - 0xe4], eax
push eax
call dword [sym.imp.KERNEL32.DLL_AssignProcessToJobObject]
push 0x4a78a0
lea edi, [ebp - 0x160]
push dword [edi + 8]
push dword [ebp + 0x44]
call fcn.0044023a
push 0x4a7888
push dword [edi + 0xc]
push dword [ebp + 0x44]
call fcn.0044023a
add esp, 0x18
cmp dword [ebp - 0xd8], ebx
je 0x40d033
push dword [edi]
push 4
push 0x4a69e8
call fcn.00411a7e
add esp, 0xc
test byte [ebp + 0x54], 4
je 0x40d047
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40d047
push eax
call dword [sym.imp.KERNEL32.DLL_ResumeThread]
lea ecx, [ebp - 0x1c]
call fcn.00437e1a
lea ecx, [ebp + 0xc]
call fcn.00437e1a
lea ecx, [ebp + 0x20]
call fcn.00437e1a
mov eax, 0x4c1b94
cmp eax, ebx
je 0x40d06f
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea ecx, [ebp + 0x2c]
call fcn.00437e1a
lea ecx, [ebp - 0x84]
call fcn.00412b79
lea esi, [ebp - 0x64]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d092
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi], ebx
lea esi, [ebp - 0xc0]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d0a7
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi], ebx
lea esi, [ebp - 0x74]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d0b9
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi], ebx
lea esi, [ebp + 4]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d0cb
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi], ebx
lea esi, [ebp - 0x38]
mov eax, dword [esi]
cmp eax, ebx
je 0x40d0dd
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp byte [ebp + 0x4b], bl
mov dword [esi], ebx
jne 0x40d0e9
cmp byte [ebp + 0x37], bl
je 0x40d136
mov eax, dword [edi]
cmp eax, ebx
je 0x40d0fb
push 0x1388
push eax
call dword [sym.imp.USER32.DLL_WaitForInputIdle]
cmp byte [ebp + 0x4b], bl
je 0x40d136
test byte [ebp + 0x4b], 1
je 0x40d11d
mov eax, dword [edi]
push dword [edi + 8]
neg eax
sbb eax, eax
and eax, 2
or eax, 1
push eax
call fcn.00417eef
pop ecx
pop ecx
cmp dword [ebp - 0x10c], ebx
je 0x40d136
mov ecx, dword [ebp + 0x44]
push ebx
push ebx
push ebx
push dword [ebp - 0x10c]
call fcn.0042d06c
cmp dword [ebp + 8], ebx
je 0x40da2e
mov eax, dword [edi]
cmp eax, ebx
jne 0x40d148
mov dword [ebp + 0x24], ebx
mov ecx, dword [ebp - 0x94]
inc dword [ebp - 0x94]
mov dword [ebp + ecx*4 - 0x170], eax
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40d169
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [ebp - 0x30], ebx
mov dword [edi + 4], ebx
je 0x40d188
mov ecx, dword [ebp + 0x44]
push ebx
push ebx
push 0x3e8
call fcn.00413b53
push dword [edi]
call fcn.004105c8
pop ecx
cmp dword [ebp + 0x24], ebx
je 0x40da44
mov al, byte [0x4bf2c0]
mov edi, 0x100000
push 0x100004
lea ecx, [ebp + 0x58]
mov byte [ebp + 0x6b], al
mov dword [ebp - 0x30], edi
xor esi, esi
call fcn.0043dc74
mov eax, dword [ebp - 0x58]
cmp word [eax], 0x40
lea ecx, [eax + 2]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc8], ecx
mov byte [ebp + 0x7b], bl
jne 0x40d27b
mov byte [ebp + 0x7b], 1
mov dword [ebp - 8], ecx
cmp byte [ebp - 0x6e], bl
je 0x40d22e
mov ecx, dword [ebp + 0x44]
push ebx
lea eax, [ebp + 0x38]
push eax
push dword [ebp - 8]
mov dword [ebp + 0x38], ebx
call fcn.00444caf
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x38]
lea ecx, [ebp + 0x58]
call fcn.0043dd06
push dword [ebp + 0x58]
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov esi, eax
lea edi, [esi + 0x3ff]
and edi, 0xfffffc00
add edi, 0x100000
lea eax, [edi + 8]
push eax
lea ecx, [ebp + 0x58]
mov dword [ebp - 0x30], edi
call fcn.0043dc99
lea ecx, [ebp + 0x38]
call fcn.00437e1a
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.DLL_SetProcessWorkingSetSize]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
test byte [ebp + 0x73], 8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x78], ebx
je 0x40d6ab
mov eax, dword [ebp - 0x58]
mov ax, word [eax]
cmp ax, 0x40
je 0x40d290
cmp byte [ebp - 0x17], bl
je 0x40d290
cmp ax, 0x26
je 0x40d275
mov eax, dword [ebp + 0x44]
test byte [eax + 9], 0xf
je 0x40d290
mov byte [ebp + 0x37], 1
jmp 0x40d293
cmp dword [ebp - 0xb0], ebx
je 0x40d1d3
mov byte [ebp + 0x7b], 2
jmp 0x40d1d3
mov byte [ebp + 0x37], bl
push ebx
mov dword [ebp - 0x9c], ebx
call dword [sym.imp.KERNEL32.DLL_SetLastError]
lea eax, [ebp - 0x4c]
mov edi, dword [eax]
lea eax, [ebp - 0x1b8]
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_ConnectNamedPipe]
cmp byte [ebp + 0x7b], bl
mov dword [ebp - 0x44], esi
je 0x40d2c5
mov eax, dword [ebp - 0x30]
sub eax, esi
mov dword [ebp + 0x18], eax
jmp 0x40d2cc
mov dword [ebp + 0x18], 0x100000
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x9c]
push eax
push dword [ebp + 0x18]
mov eax, dword [ebp + 0x58]
add eax, esi
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
cmp dword [ebp - 0xd0], ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x84], eax
mov dword [ebp + 0x10], ebx
jg 0x40d308
mov dword [ebp - 0xd0], 0x3e8
lea ecx, [ebp]
mov byte [ebp + 0x35], bl
call fcn.0043dd7e
mov al, byte [0x4bf2c0]
cmp al, bl
mov byte [ebp + 0x6b], al
jg 0x40d32c
cmp dword [ebp - 0xe0], 2
jl 0x40d5f0
cmp dword [ebp - 0xcc], ebx
jle 0x40d362
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [ebp - 0x78], eax
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xcc]
jae 0x40d5f0
mov ecx, dword [ebp - 0xcc]
sub ecx, eax
cmp dword [ebp - 0xd0], ecx
jbe 0x40d362
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ebp + 0x44]
push 0x4ff
push dword [ebp - 0xd0]
lea eax, [ebp - 0x170]
push ebx
push eax
push dword [ebp - 0x94]
call fcn.00411465
cmp eax, ebx
mov dword [ebp - 0x114], eax
jne 0x40d417
lea eax, [ebp - 0x4c]
mov edi, dword [eax]
push ebx
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x1b8]
push eax
push edi
mov dword [ebp + 0x14], ebx
call dword [sym.imp.KERNEL32.DLL_GetOverlappedResult]
cmp dword [ebp + 0x14], ebx
jle 0x40d3c5
mov eax, dword [ebp + 0x18]
cmp dword [ebp + 0x14], eax
jle 0x40d3bc
mov dword [ebp + 0x14], eax
add esi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x58]
mov byte [eax + esi], bl
lea eax, [esi + 0x100000]
cmp eax, dword [ebp - 0x30]
jl 0x40d3e6
add dword [ebp - 0x30], 0x100000
mov eax, dword [ebp - 0x30]
add eax, 4
push eax
lea ecx, [ebp + 0x58]
call fcn.0043dc99
cmp byte [ebp + 0x7b], bl
je 0x40d3f5
mov eax, dword [ebp - 0x30]
sub eax, esi
mov dword [ebp + 0x18], eax
jmp 0x40d3fc
mov dword [ebp + 0x18], 0x100000
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp + 0x14]
push eax
push dword [ebp + 0x18]
mov eax, dword [ebp + 0x58]
add eax, esi
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
cmp byte [ebp + 0x7b], bl
je 0x40d44e
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [ebp - 0x78], eax
sub eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0xd0]
jge 0x40d529
cmp esi, dword [ebp + 0x10]
je 0x40d5e7
cmp eax, 0x14
jl 0x40d5e7
jmp 0x40d529
mov eax, dword [ebp - 0x94]
cmp eax, 1
jle 0x40d47d
dec eax
cmp eax, dword [ebp - 0x114]
jne 0x40d47d
cmp byte [ebp + 0x7b], bl
mov byte [ebp + 0x35], 1
je 0x40d5f0
cmp esi, dword [ebp + 0x10]
je 0x40d5f0
jmp 0x40d529
test byte [ebp + 0x73], 1
je 0x40d4bb
cmp dword [ebp - 0x44], esi
jge 0x40d4bb
mov eax, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x44]
mov edi, dword [ebp + 0x58]
cmp byte [ecx + edi], 0xa
jne 0x40d4b6
add eax, 0xffffffff
adc edx, 0xffffffff
js 0x40d5f0
jg 0x40d4b6
cmp eax, ebx
jbe 0x40d5f0
inc ecx
cmp ecx, esi
jl 0x40d497
push 5
pop edi
dec edi
js 0x40d313
cmp byte [0x4bf2c0], bl
jle 0x40d313
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x1d4]
push eax
call dword [sym.imp.USER32.DLL_PeekMessageW]
test eax, eax
je 0x40d313
cmp dword [ebp - 0x1d0], 0x12
je 0x40d510
lea eax, [ebp - 0x1d4]
push eax
call dword [sym.imp.USER32.DLL_TranslateMessage]
lea eax, [ebp - 0x1d4]
push eax
call dword [sym.imp.USER32.DLL_DispatchMessageW]
jmp 0x40d4be
cmp byte [ebp + 0x7b], bl
mov byte [ebp + 0x6b], bl
mov byte [ebp + 0x35], 1
je 0x40d313
cmp byte [ebp + 0x37], bl
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp + 0x58]
mov dword [ebp + 0x10], esi
mov dword [ebp - 0x84], ecx
jne 0x40d56b
cmp dword [ebp - 0x98], 0x4b0
je 0x40d55e
cmp byte [ebp + 0x7b], 1
jne 0x40d588
cmp byte [ebp + 0x35], bl
je 0x40d44e
lea ecx, [ebp]
call fcn.00437e1a
cmp dword [ebp + 0x24], 0xffffff9c
mov eax, dword [ebp + 0x58]
mov byte [eax + esi + 2], bl
mov eax, dword [ebp + 0x58]
mov byte [eax + esi + 1], bl
mov eax, dword [ebp + 0x58]
mov byte [eax + esi], bl
mov dword [ebp - 0xc], ebx
je 0x40d651
cmp byte [ebp + 0x6b], bl
jle 0x40d651
cmp dword [ebp - 0x120], 1
je 0x40d651
cmp dword [ebp - 0xe4], ebx
je 0x40d63d
push dword [ebp - 0x100]
push dword [ebp - 0xe4]
call dword [sym.imp.KERNEL32.DLL_TerminateJobObject]
push dword [ebp - 0x100]
lea eax, [ebp - 0x160]
push dword [eax]
call dword [sym.imp.KERNEL32.DLL_TerminateProcess]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x160]
push dword [eax]
call dword [sym.imp.KERNEL32.DLL_GetExitCodeProcess]
cmp byte [ebp + 0x73], bl
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x74]
mov dword [ecx], eax
je 0x40d9cd
mov eax, dword [ebp - 0x58]
mov ax, word [eax]
xor edi, edi
cmp ax, 0x40
je 0x40d7e9
cmp byte [ebp - 0x17], bl
je 0x40d7e9
cmp ax, 0x26
je 0x40d6a2
mov eax, dword [ebp + 0x44]
test byte [eax + 9], 0xf
je 0x40d7e9
mov byte [ebp + 0x77], 1
jmp 0x40d7ec
cmp dword [ebp + 0x24], 0xffffff9c
je 0x40d5f8
mov al, byte [0x4bf2c0]
cmp al, bl
mov byte [ebp + 0x6b], al
jg 0x40d6ce
cmp dword [ebp - 0xe0], 2
jl 0x40d5f8
cmp dword [ebp - 0xcc], ebx
mov dword [ebp - 0x84], 0x3e8
jle 0x40d70b
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xcc]
jae 0x40d5f8
mov ecx, dword [ebp - 0xcc]
sub ecx, eax
cmp ecx, 0x3e8
jae 0x40d70b
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp + 0x44]
push 0x4ff
push dword [ebp - 0x84]
lea eax, [ebp - 0x170]
push ebx
push eax
push dword [ebp - 0x94]
call fcn.00411465
mov ecx, dword [ebp - 0x94]
dec ecx
cmp ecx, eax
je 0x40d5f8
cmp dword [ebp - 0x94], 1
jle 0x40d7dc
cmp eax, ebx
jne 0x40d7dc
lea eax, [esi + 0x100000]
cmp eax, edi
jl 0x40d76c
add edi, 0x100000
lea eax, [edi + 4]
push eax
lea ecx, [ebp + 0x58]
call fcn.0043dc99
mov eax, dword [ebp + 0x58]
push ebx
lea ecx, [ebp + 0x78]
push ecx
add eax, esi
push 1
push eax
lea eax, [ebp - 0x4c]
push dword [eax]
mov dword [ebp + 0x78], ebx
call dword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
je 0x40d7dc
cmp dword [ebp + 0x78], ebx
jbe 0x40d7dc
add esi, dword [ebp + 0x78]
mov eax, dword [ebp + 0x58]
mov byte [eax + esi], bl
jmp 0x40d7dc
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x1f0]
push eax
call dword [sym.imp.USER32.DLL_PeekMessageW]
test eax, eax
je 0x40d6b5
cmp dword [ebp - 0x1ec], 0x12
je 0x40d6b5
lea eax, [ebp - 0x1f0]
push eax
call dword [sym.imp.USER32.DLL_TranslateMessage]
lea eax, [ebp - 0x1f0]
push eax
call dword [sym.imp.USER32.DLL_DispatchMessageW]
cmp byte [0x4bf2c0], bl
jg 0x40d79b
jmp 0x40d6b5
mov byte [ebp + 0x77], bl
lea ecx, [ebp - 0x8c]
call fcn.0043dc57
cmp byte [ebp + 0x77], bl
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
jne 0x40d963
cmp byte [ebp + 0x3e], 2
jne 0x40d81e
mov eax, dword [ebp + 0x58]
mov word [eax + esi], bx
mov edi, dword [ebp + 0x58]
jmp 0x40d887
cmp byte [ebp + 0x3e], 1
lea ecx, [ebp - 0x8c]
jne 0x40d83b
push dword [ebp - 0x98]
push esi
push dword [ebp + 0x58]
call fcn.0043de39
jmp 0x40d88b
lea eax, [esi + 0x18]
push eax
call fcn.0043ddc3
lea eax, [esi + 1]
push eax
push dword [ebp + 0x58]
mov dword [ebp - 0x84], esi
push dword [ebp - 0x8c]
mov dword [ebp - 0x88], esi
call fcn.004128b6
mov eax, dword [ebp - 0x8c]
push 0x10
add eax, esi
push ebx
push eax
call fcn.00492e00
lea eax, [ebp - 0x8c]
push 0x2004
push eax
call fcn.00489b15
add esp, 0x20
cmp edi, ebx
jne 0x40d891
mov edi, dword [ebp - 0x8c]
test byte [ebp + 0x73], 4
je 0x40d8c9
push edi
mov dword [ebp + 0x70], edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [edi + eax*2 - 2]
jmp 0x40d8bf
mov cx, word [eax]
cmp cx, 0xd
je 0x40d8ba
cmp cx, 0xa
jne 0x40d963
mov word [eax], bx
dec eax
dec eax
cmp eax, dword [ebp + 0x70]
jae 0x40d8a7
jmp 0x40d963
test byte [ebp + 0x73], 1
je 0x40d92c
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x9c], eax
jmp 0x40d91f
cmp ax, 0xd
jne 0x40d905
lea ecx, [edi + 2]
cmp word [ecx], 0xa
jne 0x40d905
cmp ax, 0xa
jne 0x40d91d
mov ax, word [edi]
cmp ax, bx
jne 0x40d8e3
mov word [edi], bx
jmp 0x40d963
test byte [ebp + 0x73], 2
je 0x40d963
jmp 0x40d95b
cmp ax, 0xd
je 0x40d944
mov ax, word [edi]
cmp ax, bx
jne 0x40d934
mov eax, dword [ebp - 0x58]
cmp word [eax], 0x40
jne 0x40d993
push dword [ebp - 0x8c]
mov ecx, dword [ebp + 0x44]
push dword [ebp - 0x8c]
push 0x4a69d4
push dword [ebp - 0xc8]
push dword [ebp - 0xc8]
call fcn.0043abfc
jmp 0x40d9bf
cmp byte [ebp + 0x77], bl
je 0x40d9b0
push 1
lea ecx, [ebp + 0x58]
push ecx
push esi
push dword [ebp + 0x58]
push eax
push dword [ebp + 0x44]
call fcn.0044983b
add esp, 0x18
jmp 0x40d9bf
push dword [ebp - 0x8c]
mov ecx, dword [ebp + 0x44]
push eax
call fcn.0043d658
lea ecx, [ebp - 0x8c]
call fcn.00437e1a
mov eax, dword [ebp - 0xc]
push eax
mov dword [ebp + 0x78], eax
lea eax, [ebp - 0x2e0]
push 0x4a7880
push eax
mov word [ebp - 0x2e0], bx
call dword [sym.imp.USER32.DLL_wsprintfW]
mov ecx, dword [ebp + 0x44]
add esp, 0xc
lea eax, [ebp - 0x2e0]
push eax
push 0x4a7864
call fcn.0043d658
cmp dword [ebp - 0xe4], ebx
je 0x40da24
cmp dword [ebp - 0x120], 1
je 0x40da24
push dword [ebp - 0x100]
push dword [ebp - 0xe4]
call dword [sym.imp.KERNEL32.DLL_TerminateJobObject]
lea ecx, [ebp + 0x58]
call fcn.00437e1a
jmp 0x40da44
mov eax, dword [ebp - 0x58]
cmp word [eax], bx
je 0x40da44
mov ecx, dword [ebp + 0x44]
push 0x4a69d4
push eax
call fcn.0043d658
mov ecx, dword [ebp + 0x7c]
cmp ecx, ebx
je 0x40da55
lea eax, [ebp - 0x160]
mov eax, dword [eax]
mov dword [ecx], eax
cmp byte [ebp + 0x1f], bl
lea eax, [ebp - 0x160]
mov dword [eax], ebx
je 0x40db99
cmp dword [eax + 8], ebx
je 0x40db99
cmp byte [0x4c0c88], bl
jne 0x40db99
cmp dword [ebp + 0x24], ebx
mov byte [0x4c0c88], 1
jne 0x40db24
push 0x1000
lea ecx, [ebp + 0x70]
call fcn.0043dd9c
mov eax, dword [ebp + 0x70]
push ebx
mov dword [ebp + 0x68], ebx
mov word [eax], bx
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x70]
push eax
push 0x4a7774
push 0x4a7730
push 0x80000002
call fcn.00441d07
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00437e65
mov eax, dword [ebp + 0x74]
add esp, 0x1c
cmp word [eax], bx
je 0x40db17
mov esi, dword [sym.imp.SHLWAPI.DLL_StrCmpNIW]
push 8
push eax
push 0x4a7850
call esi
test eax, eax
je 0x40db10
push 6
push dword [ebp + 0x74]
push 0x4a7840
call esi
test eax, eax
je 0x40db10
lea eax, [ebp + 0x74]
push eax
call fcn.00405196
mov eax, dword [ebp + 0x74]
cmp word [eax], bx
pop ecx
jne 0x40dade
jmp 0x40db17
mov dword [ebp + 0x24], 1
lea ecx, [ebp + 0x70]
call fcn.00437e1a
cmp dword [ebp + 0x24], ebx
je 0x40db45
call fcn.004194a5
test eax, eax
je 0x40db3c
push 0x4a7834
push dword [ebp + 0x44]
call fcn.00419546
pop ecx
pop ecx
push ebx
call fcn.00414752
pop ecx
jmp 0x40db99
lea eax, [ebp - 0x160]
push dword [eax + 8]
lea eax, [ebp - 0x3ac]
push 0x4a77d0
push eax
call dword [sym.imp.USER32.DLL_wsprintfW]
lea eax, [ebp - 0x3ac]
push eax
push 0x4a779c
push dword [ebp + 0x44]
call fcn.0040f70e
mov ecx, dword [ebp + 0x44]
add esp, 0x18
push 0x4c0bb8
push ebx
push ebx
push ebx
lea eax, [ebp + 0x76]
push eax
push dword [ebp + 0x44]
lea eax, [ebp - 0x3ac]
push eax
mov word [ebp + 0x76], bx
call fcn.00409677
mov ecx, dword [ebp - 0x90]
cmp ecx, ebx
je 0x40dbb9
cmp word [ecx], bx
je 0x40dbb9
lea eax, [ebp - 0x160]
push dword [eax + 8]
push ecx
call fcn.00403735
pop ecx
pop ecx
mov esi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
lea edi, [ebp - 0x74]
mov eax, dword [edi]
cmp eax, ebx
je 0x40dbcb
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp + 4]
mov eax, dword [edi]
cmp eax, ebx
je 0x40dbd9
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x38]
cmp dword [edi], ebx
je 0x40dbe5
push ebx
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x64]
mov eax, dword [edi]
cmp eax, ebx
je 0x40dbf3
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0x4c]
mov eax, dword [edi]
cmp eax, ebx
je 0x40dc01
push eax
call esi
mov dword [edi], ebx
lea edi, [ebp - 0xb8]
mov eax, dword [edi]
cmp eax, ebx
je 0x40dc12
push eax
call esi
cmp dword [ebp - 0x1a8], ebx
mov dword [edi], ebx
je 0x40dc24
push dword [ebp - 0x1a8]
call esi
lea edi, [ebp - 0x160]
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40dc34
push eax
call esi
mov ecx, dword [ebp + 0x44]
push ebx
mov dword [edi + 4], ebx
call fcn.004628c6
mov ebx, dword [ebp + 0x78]
lea ecx, [ebp - 0xec]
call fcn.00437e1a
lea ecx, [ebp - 0x108]
call fcn.00437e1a
lea ecx, [ebp - 0x50]
call fcn.00402b5a
lea ecx, [ebp - 0x138]
call fcn.00437e1a
lea ecx, [ebp - 0xb4]
call fcn.00402b5a
lea ecx, [ebp - 0xc0]
call fcn.00402b5a
lea ecx, [ebp - 0x38]
call fcn.00402b5a
lea ecx, [ebp + 4]
call fcn.00402b5a
lea ecx, [ebp - 0x74]
call fcn.00402b5a
lea ecx, [ebp - 0xb8]
call fcn.00402b5a
lea ecx, [ebp - 0x64]
call fcn.00402b5a
lea ecx, [ebp - 0x4c]
call fcn.00402b5a
lea ecx, [ebp - 0x90]
call fcn.00437e1a
lea ecx, [ebp - 0x188]
call fcn.00437e1a
lea ecx, [ebp - 0xf0]
call fcn.00437e1a
lea ecx, [ebp - 0x7c]
call fcn.00437e1a
lea ecx, [ebp - 0x118]
call fcn.00437e1a
lea ecx, [ebp - 0xf4]
call fcn.00437e1a
lea ecx, [ebp - 0x104]
call fcn.00437e1a
lea ecx, [ebp - 0x12c]
call fcn.00437e1a
lea ecx, [ebp - 0xc4]
call fcn.00437e1a
lea ecx, [ebp - 0xe4]
call fcn.00402b5a
lea ecx, [ebp - 0x130]
call fcn.00402b5a
lea ecx, [ebp - 0x1a4]
call fcn.00404668
lea ecx, [ebp - 0x178]
call fcn.00437e1a
lea ecx, [ebp - 0x80]
call fcn.00437e1a
lea ecx, [ebp - 0xd4]
call fcn.00437e1a
lea ecx, [ebp - 0x58]
call fcn.00437e1a
lea ecx, [ebp - 0x124]
call fcn.00437e1a
lea ecx, [ebp - 0x110]
call fcn.00437e1a
lea ecx, [ebp - 0x134]
call fcn.00437e1a
lea ecx, [ebp - 0x11c]
call fcn.00437e1a
lea ecx, [ebp - 0x10c]
call fcn.00437e1a
lea ecx, [ebp - 0xe8]
call fcn.00437e1a
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x5c
leave
ret 0x1c