Function at 0x1001be71
Capabilities:
Accept command line arguments
Query environment variable
Read .ini file

Disassembly:
mov eax, 0x1008db76
call fcn.1008d170
sub esp, 0x160
push ebx
push esi
mov dword [ebp - 0x18], 0x4530
xor esi, esi
push edi
inc esi
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x10], 0xfffffffe
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 7
push esi
mov dword [ebp - 0x6c], edx
call fcn.10019c20
xor ebx, ebx
lea ecx, [ebp - 0xe8]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], 0xa3a7
push esi
call fcn.10019c20
mov dword [ebp - 0x14], ebx
jmp 0x1001bee0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001bed1
mov dword [ebp - 0x14], ebx
jmp 0x1001befd
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], 0x30b137d3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001beea
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor ebx, ebx
add ecx, 0xb8f7
cmp ecx, eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
setne bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
add eax, 0x10994e85
add ebx, edx
add eax, ebx
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
cmp eax, dword [ebp - 0x18]
jne 0x1001bf48
mov eax, esi
cmp dword [ebp - 0x10], ebx
jne 0x1001bf4a
mov eax, ebx
cmp dword [ebp - 0x18], eax
jg 0x1001bf56
mov eax, esi
cmp dword [ebp - 0x28], ebx
jne 0x1001bf58
mov eax, ebx
cmp eax, 0xfffffffb
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0xc4]
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
lea ecx, [ebp - 0xe8]
mov eax, dword [ebp - 0xe8]
dec dword [eax]
call fcn.1001a511
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc4]
call fcn.1001a511
mov dword [ebp - 0x14], 0x890
lea ecx, [ebp - 0x9c]
push esi
call fcn.10019c20
mov dword [ebp - 4], esi
mov dword [ebp - 0x18], 0xaaf7cc73
mov dword [ebp - 0x10], 0x7c7a5019
mov dword [ebp - 0x10], ebx
jmp 0x1001bfce
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001bfbb
push 6
pop eax
push 3
pop edi
cmp dword [ebp - 0x14], ebx
je 0x1001c0cb
push 4
mov dword [ebp - 0x14], ebx
pop ebx
jmp 0x1001c092
push edi
lea ecx, [ebp - 0x90]
call fcn.10019c20
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x1001c013
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0x54fddd3f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001c000
mov eax, dword [ebp - 0x90]
mov dword [eax], edx
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
jmp 0x1001c071
mov dword [ebp - 0x10], edx
jmp 0x1001c045
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb8], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1001c034
mov dword [ebp - 0xb8], edx
jmp 0x1001c065
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
dec dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 0xffffffe7
jne 0x1001c052
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x11
jle 0x1001c02f
mov eax, dword [ebp - 0x90]
inc dword [eax]
cmp dword [eax], 0x1b
jne 0x1001c020
lea ecx, [ebp - 0x90]
call fcn.1001a511
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x36
jl 0x1001bfed
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x1001c1e7
push 0x2554
push 0x6a3
push 0xbf3
push 0x1320
push 0
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
jmp 0x1001c1e7
mov dword [ebp - 0x11c], eax
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
push edi
call fcn.10019c20
push 4
pop ebx
push ebx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 2
call fcn.10019c20
xor edx, edx
mov dword [ebp - 0x20], edx
jmp 0x1001c118
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1001c109
mov dword [ebp - 0x20], edx
jmp 0x1001c12c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x7c], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1001c122
mov dword [ebp - 0x20], edx
jmp 0x1001c149
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0x52ee8b72
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1001c136
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x11c], eax
test eax, eax
jne 0x1001c172
cmp dword [ebp - 0x14], edx
je 0x1001c167
mov eax, dword [ebp - 0x14]
mov eax, esi
jmp 0x1001c169
mov eax, edx
mov ecx, edx
add eax, 0xc5a7
je 0x1001c174
mov ecx, esi
mov eax, dword [ebp - 0x9c]
push 0xfffffffffffffffd
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0xfffffffe
mov eax, dword [ebp - 0x10]
pop ecx
cmp ecx, eax
mov dword [ebp - 0x7c], eax
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 8], ecx
mov dword [ebp - 0x18], 7
jmp 0x1001c1cb
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0x700c0d35
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffffc
je 0x1001c1bc
lea ecx, [ebp - 0xdc]
call fcn.1001a511
lea ecx, [ebp - 0x128]
call fcn.1001a511
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.1001a511
push 2
lea ecx, [ebp - 0x10c]
call fcn.10019c20
mov dword [ebp - 4], edi
xor ecx, ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], ecx
jmp 0x1001c247
mov dword [ebp - 0x10], 0xfffffff7
mov dword [ebp - 0x10], 0xffffffe2
jmp 0x1001c23e
mov byte [ebp - 0x19], cl
cmp byte [ebp - 0x19], 0
je 0x1001c23b
push 0x157e
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
xor ecx, ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1a
jge 0x1001c223
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jne 0x1001c213
mov dword [ebp - 0x20], ecx
jmp 0x1001c35c
mov dword [ebp - 0x18], 0x2c36544d
mov dword [ebp - 0x14], 0xbc106ec6
mov dword [ebp - 0x2c], 0x4801465e
cmp dword [ebp - 0x20], ecx
jne 0x1001c27e
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x20]
mov eax, ecx
je 0x1001c280
mov eax, esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0x10
jmp 0x1001c34f
mov dword [ebp - 0x24], 0x9df9481f
mov dword [ebp - 0x14], ecx
jmp 0x1001c2ac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x84], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001c29b
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x10], ecx
jne 0x1001c346
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x14], ecx
jmp 0x1001c327
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ecx
jl 0x1001c324
mov dword [ebp - 0x24], ecx
jmp 0x1001c305
cmp byte [ebp - 0x19], 0
je 0x1001c302
push 0x622
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor ecx, ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
mov byte [ebp - 0x19], cl
jle 0x1001c2ed
cmp byte [ebp - 0x19], 0
je 0x1001c31f
push ecx
push esi
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
xor ecx, ecx
dec dword [ebp - 0x10]
jns 0x1001c2e8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x1001c2e0
mov dword [ebp - 0x14], 0xfffffff0
jmp 0x1001c33e
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff9
jge 0x1001c335
jmp 0x1001c34c
mov dword [ebp - 0x84], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1c
jg 0x1001c28f
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffc
je 0x1001c254
push edi
lea ecx, [ebp - 0xf4]
call fcn.10019c20
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], bl
push eax
lea eax, [ebp - 0x80]
push 0
push eax
call fcn.10020b9f
lea eax, [ebp - 0x80]
xor dl, dl
push eax
lea ecx, [ebp - 0xf4]
call fcn.1001cecb
add esp, 0x10
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], 0xdfddae97
xor ecx, ecx
mov dword [ebp - 0x2c], 0x5706b379
mov dword [ebp - 0x10], ecx
push 2
mov dword [ebp - 0x14], ecx
pop edx
jmp 0x1001c3c7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x44], 0xd9e2a8d3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001c3b9
mov dword [ebp - 0x14], ecx
jmp 0x1001c3df
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001c3d1
cmp dword [ebp - 0x44], ecx
je 0x1001c3f1
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x4c], ecx
jne 0x1001c3f4
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setle dl
xor ebx, ebx
cmp edx, 0x4cff
push 4
setne bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x24]
pop ebx
setle cl
xor edx, edx
cmp dword [ebp - 0x28], ecx
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x40]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
mov ecx, 0xa624cdb8
setge dl
imul eax, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
sete dl
add eax, edx
xor edx, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0xf4]
setne dl
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x4c], edx
and dword [eax + 8], 0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x28], 0x3ff14eb4
mov dword [ebp - 0x2c], 0xc0de
mov dword [ebp - 0x14], esi
push 2
call fcn.10019c20
xor edx, edx
mov byte [ebp - 4], 5
mov dword [ebp - 0x10], edx
jmp 0x1001c4b7
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14c]
mov dword [eax + ecx*4], 0x6bb64548
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001c4a4
cmp dword [ebp - 0x18], edx
je 0x1001c587
push esi
lea ecx, [ebp - 0x100]
call fcn.10019c20
xor edx, edx
mov dword [ebp - 0x20], edx
jmp 0x1001c4e7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x38], 0xde2167fa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1001c4d9
mov dword [ebp - 0x20], edx
jmp 0x1001c504
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0x1466
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1001c4f1
mov dword [ebp - 0x20], edx
jmp 0x1001c51f
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x15c], 0xfffffffb
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1001c50e
cmp dword [ebp - 0x38], edx
xor edx, edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
test eax, eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
setns dl
sub ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setl dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x2c]
cmp edx, eax
mov eax, dword [ebp - 0x100]
sete cl
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x38]
setg dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x100]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x158], eax
jmp 0x1001c641
mov byte [ebp - 0x19], dl
cmp byte [ebp - 0x19], dl
je 0x1001c5a1
push edx
push 0x1600
push edx
push edx
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor edx, edx
mov dword [ebp - 0x18], 0xd
cmp dword [ebp - 0x18], 0xffffffe6
jge 0x1001c646
jmp 0x1001c5b6
xor edx, edx
mov dword [ebp - 0x10], edx
lea ecx, [ebp - 0xa8]
push edi
call fcn.10019c20
mov dword [ebp - 0x24], 0
jmp 0x1001c5e1
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], 0x638299fa
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1001c5ce
cmp dword [ebp - 0x10], 0
jne 0x1001c63b
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x10], eax
jmp 0x1001c61b
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], 0
jl 0x1001c618
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
dec dword [ebp - 0x14]
jns 0x1001c601
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xd
je 0x1001c5f4
lea ecx, [ebp - 0xa8]
call fcn.1001a511
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe6
jl 0x1001c5b4
jmp 0x1001c646
lea ecx, [ebp - 0xa8]
call fcn.1001a511
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], 0
jl 0x1001c668
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x1001c663
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCommState]
dec dword [ebp - 0x14]
jns 0x1001c64f
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], bl
call fcn.1001a511
push esi
lea ecx, [ebp - 0x64]
call fcn.10019c20
push edi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call fcn.10019c20
mov byte [ebp - 4], 7
xor edx, edx
mov dword [ebp - 0x28], 0x2f7f1c74
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x10], edx
jmp 0x1001c6b8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001c6a8
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x30], ebx
mov dword [ebx], edx
push 2
lea ecx, [ebp - 0x78]
call fcn.10019c20
mov byte [ebp - 4], 8
xor edx, edx
mov dword [ebp - 0x10], 0x5912491e
mov dword [ebp - 0x20], 0xc37069e5
mov dword [ebp - 0x10], edx
jmp 0x1001c6f8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x78]
mov dword [eax + ecx*4], 0x654f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001c6e8
cmp dword [ebx + 8], edx
jne 0x1001c89a
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], esi
jg 0x1001c87e
push edi
lea ecx, [ebp - 0xd0]
call fcn.10019c20
mov dword [ebp - 0x28], 0x6866
mov dword [ebp - 0x24], 0
jmp 0x1001c742
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1001c72f
mov ebx, dword [ebp - 0xd0]
mov dword [ebx + 4], esi
mov dword [ebp - 0x18], 0x91df82
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], esi
jg 0x1001c858
mov edi, dword [ebp - 0x58]
mov dword [ebp - 0x24], 0x2c6eb81f
mov dword [ebp - 0x2c], 0xf60517e4
mov dword [ebp - 0x28], 0xbe831782
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
push 4
mov dword [ebp - 0x24], 0
pop ecx
jmp 0x1001c7ac
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x16c], 0xa5cd
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1001c79b
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setge dl
sub edx, dword [edi + 4]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x1001c7db
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp dword [eax], 0x79c93506
mov eax, dword [ebp - 0x18]
setle cl
sub ecx, eax
je 0x1001c7f3
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebx + 4]
push 0xfffffffffffffffe
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
xor edx, edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], 0x47bf
imul eax, dword [ebp - 0x24], 0xffff
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0x78]
cmp dword [eax + ecx*4], 0xb7de
pop eax
setg dl
cmp eax, edx
sbb ecx, ecx
xor eax, eax
inc ecx
neg ecx
cmp ecx, 0x8591f28f
setne al
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1001c771
dec dword [ebx + 4]
jns 0x1001c750
lea ecx, [ebp - 0xd0]
call fcn.1001a511
inc dword [ebp - 0x10]
push 3
pop edi
cmp dword [ebp - 0x10], esi
jle 0x1001c713
mov ebx, dword [ebp - 0x30]
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 7
call fcn.1001a511
mov eax, dword [ebp - 0x58]
dec dword [eax]
cmp dword [eax], 0xfffffff6
jge 0x1001c6c5
jmp 0x1001c8a2
lea ecx, [ebp - 0x78]
call fcn.1001a511
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg eax
cmp eax, esi
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 6
setle cl
neg ecx
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x58]
call fcn.1001a511
push 0x66d0
lea eax, [ebp - 0x64]
xor ebx, ebx
push eax
push ebx
lea eax, [ebp - 0x150]
push eax
push 0x2379
call fcn.1001fb89
mov dword [ebp - 0x28], 0xef5d
add esp, 0x14
mov dword [ebp - 0x2c], 0xd228
mov dword [ebp - 0x10], ebx
jmp 0x1001c905
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3c], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001c8fb
mov dword [ebp - 0x3c], 0xfffffffc
cmp dword [ebp - 0x3c], 0xfffffff9
jle 0x1001c9b6
push 4
pop edi
mov dword [ebp - 0x18], 0x22124f84
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], 0x69ff4caa
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0xffffffea
je 0x1001c9a6
mov dword [ebp - 0x10], 0xb35d
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp edi, eax
mov eax, dword [ebp - 0x10]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x28]
jne 0x1001c95e
cmp dword [ebp - 0x2c], ebx
je 0x1001c960
mov ebx, esi
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
inc edx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
lea eax, [ebx - 0xeaf8]
setl cl
cmp ecx, eax
jne 0x1001c984
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, 0x554a9bef
mov eax, dword [ebp - 0x18]
sub ecx, eax
add ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], ecx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
push 0
pop ebx
jne 0x1001c938
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff9
jg 0x1001c91e
push 3
pop edi
mov eax, dword [ebp - 0x64]
mov dword [eax], ebx
jmp 0x1001ca43
mov dword [ebp - 0x30], 0x83c7730f
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0xcbad86e5
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x30], 0xffffffff
push esi
call fcn.10019c20
mov dword [ebp - 0x28], 0x42ca8cda
mov dword [ebp - 0x10], ebx
jmp 0x1001ca12
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x140]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001ca02
mov dword [ebp - 0x30], 0xfffffffc
lea ecx, [ebp - 0x140]
dec dword [ebp - 0x28]
call fcn.1001a511
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0x5cbd9454
mov eax, dword [ebp - 0x64]
inc dword [eax]
mov eax, dword [ebp - 0x64]
cmp dword [eax], 2
jl 0x1001c9c0
push 4
pop ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call fcn.1001a511
mov eax, dword [ebp - 0x34]
inc dword [eax + 8]
cmp dword [eax + 8], esi
jle 0x1001c474
lea ecx, [ebp - 0xf4]
call fcn.1001a511
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c]
call fcn.1001a511
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x14], 0x664dc9ed
mov dword [ebp - 0x34], 0
push ebx
call fcn.10019c20
mov dword [ebp - 0x10], 0
jmp 0x1001cac3
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], 0x37a5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1001cab0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x18], eax
jne 0x1001cae4
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jne 0x1001cae6
xor esi, esi
cmp esi, 0xf9c28ade
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], 0
jmp 0x1001cb23
mov dword [ebp - 0x18], 0
jmp 0x1001cb1b
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x1001cb18
push 0
push 0
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x1001cb04
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1001cafb
lea ecx, [ebp - 0x134]
call fcn.1001a511
mov eax, dword [ebp - 0x6c]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0x68]
mov esi, edx
mov edi, eax
call fcn.1001bdff
mov ecx, dword [ebp - 0xc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret