Function at 0x10018df1
Capabilities:
Accept command line arguments
Check os version
Get common file path
Get disk size
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1008d2bd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x200
mov dword [esp + 0x50], edx
xor edx, edx
push ebx
mov dword [esp + 0x40], 0xffffffff
inc edx
mov dword [esp + 0xc], 0x4f833fcb
xor ebx, ebx
push esi
mov dword [esp + 0x2c], edx
push edi
mov dword [esp + 0x24], 0xfff7
mov edi, ecx
mov dword [esp + 0x3c], 0x415
push 0xfffffffffffffff6
mov dword [esp + 0x38], 0x43eef7d2
pop esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], 0x4faf1418
mov dword [esp + 0x4c], edi
mov dword [esp + 0x20], ebx
jmp 0x10018e78
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x1e8], 0x9339b884
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x10018e65
dec dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x30], eax
jne 0x10018ebd
mov ecx, edx
cmp dword [esp + 0x30], ebx
jne 0x10018ebf
mov ecx, ebx
xor eax, eax
cmp ecx, 3
sete al
add eax, 3
je 0x10018ed2
cmp dword [esp + 0x14], ebx
jne 0x10018eda
mov eax, edx
cmp dword [esp + 0x24], ebx
jne 0x10018edc
mov eax, ebx
xor ecx, ecx
cmp eax, 0xef23e469
setne cl
xor eax, eax
cmp ecx, 0xfffffffa
setg al
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
sub eax, 0x451d
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x1f4], eax
cmp dword [edi + 0x10], ebx
jne 0x10018f13
xor al, al
jmp 0x1001a778
lea eax, [esp + 0x5c]
push ebx
push eax
call fcn.1001bbec
pop ecx
pop ecx
push 6
pop eax
mov dword [esp + 0x1c], eax
mov ecx, 0x3268dd2a
mov dword [esp + 0x10], 0xb143e95a
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], 0x559653e3
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x2c], 0xeb8efb66
mov dword [esp + 0x1c], esi
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp dword [esp + 0x1c], eax
jle 0x10019157
or edi, 0xffffffff
mov dword [esp + 0x30], 0xfffffffc
lea ecx, [esp + 0x120]
mov dword [esp + 0x24], 0xf889e022
mov dword [esp + 0x38], edi
mov dword [esp + 0x18], 0x66de
mov dword [esp + 0x48], 0xf0adc109
mov dword [esp + 0x34], 0xfffffff9
push 1
call fcn.10016f54
xor edx, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], ebx
inc edx
jmp 0x10018fe0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x120]
mov dword [eax + ecx*4], 0x26cdee94
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x10018fca
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
je 0x1001902a
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
neg ecx
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x30]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x1c]
jl 0x1001902a
xor eax, eax
inc eax
jmp 0x1001902c
mov eax, ebx
mov dword [esp + 0x34], eax
xor ecx, ecx
mov eax, dword [esp + 0x34]
cmp eax, 0xbe4438b
mov eax, dword [esp + 0x24]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x3c]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x120]
cmp dword [eax], ebx
jne 0x10019075
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x10]
jl 0x10019075
mov ecx, ebx
jmp 0x10019078
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x14]
cmp edi, ecx
mov eax, dword [esp + 0xd8]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
inc dword [esp + 0x14]
mov eax, dword [esp + 0x120]
mov eax, dword [eax]
test eax, eax
je 0x100190db
mov dword [esp + 0xe0], eax
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], bl
je 0x10019138
push ebx
push 0x1cbf
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
jmp 0x10019138
mov dword [esp + 0x28], 0xfffffff4
jmp 0x10019131
mov dword [esp + 0x18], 0xffffffe9
jmp 0x10019126
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], bl
je 0x10019122
push 0x2487
push 0x11be
push 0x2385
push 0x132a
push 0x1fbf
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PatBlt]
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x10
jle 0x100190ef
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 4
jle 0x100190e5
lea ecx, [esp + 0x120]
call fcn.10017747
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 6
jg 0x10018f83
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x10], ebx
jmp 0x10019170
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xd4], 0xda0de902
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001915d
mov dword [esp + 0x20], 0x324ec2e0
lea ecx, [esp + 0x194]
mov dword [esp + 0x44], ebx
push 3
call fcn.10016f54
push 3
pop edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], 0x8b5131d8
mov dword [esp + 0x20], ebx
jmp 0x100191bc
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x194]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x100191a6
mov dword [esp + 0x20], ebx
jmp 0x100191e6
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], bl
je 0x100191e2
push ebx
push ebx
push 0xadd
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xffffffe9
jne 0x100191c8
inc dword [esp + 0x34]
lea ecx, [esp + 0x194]
call fcn.10017747
cmp dword [edi + 0x14], 0x10
jb 0x1001920b
mov esi, dword [edi]
mov dword [esp + 0x30], esi
jmp 0x10019211
mov esi, edi
mov dword [esp + 0x30], edi
cmp dword [edi + 0x14], 0x10
jb 0x1001921b
mov ecx, dword [edi]
jmp 0x1001921d
mov ecx, edi
mov eax, dword [edi + 0x10]
add eax, ecx
cmp esi, eax
je 0x1001a72f
mov dword [esp + 0x28], 6
xor ecx, ecx
mov dword [esp + 0x18], 0xb143e95a
inc ecx
mov dword [esp + 0x44], 0xfffffffb
mov dword [esp + 0x20], ebx
jmp 0x1001925b
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x54], 0x48261f9c
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ecx
jl 0x1001924b
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10019272
call dword [sym.imp.KERNEL32.dll_GetVersion]
push 3
pop edi
mov dword [esp + 0x54], edi
jmp 0x10019316
mov dword [esp + 0x28], 0x37d45db3
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x100192b1
push 0x1478
push ebx
push ebx
push ebx
push ebx
push 0xe09
push 0x186
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ScrollWindowEx]
mov dword [esp + 0x28], 0xffffffec
jmp 0x1001930b
push 1
lea ecx, [esp + 0x154]
call fcn.10016f54
xor edx, edx
mov dword [esp + 0x20], ebx
inc edx
jmp 0x100192e8
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x150]
mov dword [eax + ecx*4], 0xe30f
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x100192d2
mov eax, dword [esp + 0x150]
lea ecx, [esp + 0x150]
mov dword [eax], 0xd9ba07e4
call fcn.10017747
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 4
jne 0x100192bb
inc dword [esp + 0x54]
cmp dword [esp + 0x54], 0x17
jge 0x1001927e
mov dword [esp + 0x2c], ebx
lea ecx, [esp + 0x138]
mov dword [esp + 0x64], 0x559653e3
mov dword [esp + 0x28], 0xfffffffd
mov dword [esp + 0x14], 2
mov dword [esp + 0x34], 0x9ef72d4e
mov dword [esp + 0x38], 0x99d94b4b
push 1
call fcn.10016f54
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], ebx
jmp 0x10019378
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xfc], 0xfc3eee2f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10019365
xor edx, edx
mov dword [esp + 0x10], ebx
inc edx
jmp 0x1001939d
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x138]
mov dword [eax + ecx*4], 0xc924b541
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10019387
cmp dword [esp + 0xfc], ebx
jne 0x1001944b
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
neg eax
push 7
sbb eax, eax
inc eax
cmp eax, 0xfffffffa
mov eax, dword [esp + 0x18]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x18]
pop ecx
cmp eax, ecx
jl 0x100193ed
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x104]
xor edx, edx
mov eax, dword [esp + 0x104]
cmp ecx, eax
setge dl
xor ecx, ecx
mov dword [esp + 0x104], edx
mov eax, dword [esp + 0x38]
cmp edx, eax
setg cl
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
cmp eax, 1
mov eax, dword [esp + 0x28]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x38]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [esp + 0x28]
jne 0x10019448
mov edx, ebx
jmp 0x1001944b
xor edx, edx
inc edx
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx]
add eax, edx
inc dword [ecx]
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x138]
call fcn.10017747
mov eax, 0x3268dd2a
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x14], 8
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], 0xaad8
mov dword [esp + 0x20], ebx
jmp 0x100194b6
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x188], 0xbf9f3617
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jl 0x100194a3
mov dword [esp + 0x14], 0xf390197f
xor edx, edx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
cmp eax, ecx
mov eax, dword [esp + 0x14]
mov ecx, 0xffff
setl dl
add eax, ecx
imul edx, eax
mov dword [esp + 0x18c], edx
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10019502
call dword [sym.imp.USER32.dll_WaitMessage]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x18], 0x13a473eb
mov dword [esp + 0x10], 0x11738ab6
mov dword [esp + 0x38], 0x52e2cc7b
mov dword [esp + 0x10], ebx
jmp 0x1001953b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1b0], 0xd526
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10019528
xor ecx, ecx
mov dword [esp + 0x10], ebx
inc ecx
jmp 0x10019556
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x68], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1001954a
mov eax, dword [esp + 0x18]
push 7
pop edi
cmp edi, eax
sbb eax, eax
inc eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 2
cmp dword [esp + 0x18], ebx
jl 0x10019774
push edi
pop esi
mov dword [esp + 0x24], 0xa3f30045
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], 2
cmp dword [esp + 0x10], ebx
jl 0x100196b9
or edi, 0xffffffff
mov dword [esp + 0x28], edi
mov dword [esp + 0x28], ebx
cmp dword [esp + 0x28], 2
jg 0x100196af
mov dword [esp + 0x38], ecx
push ecx
lea ecx, [esp + 0xe8]
call fcn.10016f54
xor edx, edx
inc edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x1c], ebx
jmp 0x100195f0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xe4]
mov dword [eax + ecx*4], 0xc07c2076
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x100195da
mov dword [esp + 0x38], ebx
jmp 0x10019686
mov dword [esp + 0x44], 0xfffffffe
mov dword [esp + 0x1c], ebx
jmp 0x10019620
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x1c8], 0x6d6dbc1c
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x1001960d
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xe4]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], ebx
jne 0x10019646
mov eax, ebx
cmp dword [esp + 0x28], ebx
je 0x10019648
mov eax, edx
xor edx, edx
mov ecx, 0xfe81720d
cmp eax, ecx
mov dword [esp + 0x1c8], ecx
mov eax, dword [esp + 0xe4]
setne dl
xor ecx, ecx
push 1
cmp dword [eax], edx
mov eax, dword [esp + 0x28]
setl cl
cmp ecx, esi
pop edx
sbb ecx, ecx
neg ecx
sub ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
mov dword [esp + 0x3c], ecx
inc dword [esp + 0x38]
cmp dword [esp + 0x38], 2
jle 0x100195ff
lea ecx, [esp + 0xe4]
call fcn.10017747
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 2
push 1
pop ecx
jle 0x100195b8
dec dword [esp + 0x10]
jns 0x100195a5
cmp dword [esp + 0x14], ebx
je 0x1001975d
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x38]
je 0x100196dd
mov edx, ecx
cmp dword [esp + 0x24], ebx
jne 0x100196df
mov edx, ebx
mov eax, dword [esp + 0x2c]
add eax, edx
jne 0x100196ef
cmp dword [esp + 0x10], ebx
jne 0x100196ef
mov ecx, ebx
mov eax, dword [esp + 0x14]
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, 0xffff
setg cl
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x14], 0xfffffffa
jne 0x1001972d
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1b4]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jne 0x1001975d
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x10019762
xor ecx, ecx
mov eax, ebx
inc ecx
mov dword [esp + 0x14], eax
dec dword [esp + 0x18]
jns 0x10019580
mov esi, dword [esp + 0x30]
mov dword [esp + 0x44], 0xeb8efb66
lea ecx, [esp + 0x108]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x10], 0xe446df37
push 4
call fcn.10016f54
mov dword [esp + 0x214], ebx
mov dword [esp + 0x28], 0xfffffff6
mov dword [esp + 0x1c], 0x46d7
mov dword [esp + 0x14], ebx
jmp 0x100197c9
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x108]
mov dword [eax + ecx*4], 0x2df3
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x100197b3
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
jne 0x1001982f
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x10]
cmp eax, 1
mov edi, dword [esp + 0x108]
mov eax, dword [esp + 0x24]
setg cl
xor edx, edx
cmp dword [edi + 4], ecx
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x24]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x24]
setl dl
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
cmp eax, dword [edi + 4]
je 0x1001982f
mov ecx, ebx
jmp 0x10019832
xor ecx, ecx
inc ecx
mov edx, dword [esp + 0x108]
mov eax, dword [edx + 4]
add eax, ecx
je 0x10019954
mov dword [esp + 0x14], 0x9ba87a5
mov dword [esp + 0x2c], 0x72737ae9
cmp dword [esp + 0x10], ebx
jne 0x1001986f
mov eax, dword [edx + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x28]
jl 0x1001986f
mov ecx, ebx
jmp 0x10019872
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x10]
imul eax, ecx
xor ecx, ecx
cmp eax, 0x5f40e13f
mov eax, 0xf4ea14c5
setg cl
sub eax, ecx
imul eax, dword [esp + 0x14]
inc dword [esp + 0x14]
test eax, eax
je 0x10019905
push dword [esp + 0x6c]
movdqa xmm0, xmmword [0x10008250]
lea eax, [esp + 0x1b4]
push eax
lea eax, [esp + 0x1a8]
mov dword [esp + 0x84], ebx
push eax
push ebx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x90], ebx
movdqu xmmword [esp + 0x1b0], xmm0
mov dword [esp + 0x94], ebx
call fcn.100184c8
mov eax, dword [esp + 0x7c]
dec dword [eax + 0xc]
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x100198f7
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [esp + 0x7c]
call fcn.10017747
jmp 0x100199c1
push 3
mov dword [esp + 0x2c], ebx
pop edi
jmp 0x10019922
cmp byte [esp + 0xf], 0
je 0x1001991e
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
inc dword [esp + 0x28]
cmp dword [esp + 0x28], edi
mov byte [esp + 0xf], bl
jle 0x1001990e
cmp byte [esp + 0xf], 0
je 0x100199c4
push ebx
push 0x1cbf
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
jmp 0x100199c4
mov dword [esp + 0x2c], 4
mov eax, 0x927db404
mov dword [esp + 0x168], eax
xor edx, edx
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x3c], 6
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
add ecx, 0x4fc6a3f0
cmp ecx, eax
setl dl
mov dword [esp + 0x168], edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [esp + 0x3c], ecx
push 3
pop edi
mov dword [esp + 0x1c], ebx
jmp 0x100199e5
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x100199e1
push ebx
push 0x121d
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xc
jle 0x100199ca
or eax, 0xffffffff
lea ecx, [esp + 0x108]
mov dword [esp + 0x214], eax
call fcn.10017747
mov dword [esp + 0x18], 0xc03342eb
push 7
mov dword [esp + 0x40], 0xc77dcda7
pop eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x18], 2
cmp dword [esp + 0x18], 0xffffffef
jle 0x10019aad
or eax, 0xffffffff
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x2c], 0x589b5833
cmp dword [esp + 0x14], ebx
je 0x10019a4d
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x18]
cmp eax, ecx
setne dl
mov dword [esp + 0x2c], edx
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
cmp ecx, eax
setge dl
xor ecx, ecx
test edx, edx
setle cl
xor eax, eax
cmp ecx, 0xe80d
setg al
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x18], ebx
jne 0x10019a93
mov eax, ebx
jmp 0x10019a96
xor eax, eax
inc eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x48]
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffef
jg 0x10019a2c
mov esi, dword [esp + 0x30]
mov dword [esp + 0x28], 0xfffffff6
cmp dword [esp + 0x28], 6
jle 0x1001a51f
mov dword [esp + 0x34], 0xfffffffc
lea ecx, [esp + 0xb0]
push edi
call fcn.10016f54
xor eax, eax
lea ecx, [esp + 0x94]
inc eax
mov dword [esp + 0x214], eax
mov dword [esp + 0x1c], 0xe9bf9f36
push eax
call fcn.10016f54
push 2
pop edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ebx
jmp 0x10019b13
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xb0]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10019b01
xor edx, edx
mov dword [esp + 0x10], ebx
inc edx
jmp 0x10019b34
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x94]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10019b22
mov esi, dword [esp + 0xb0]
mov eax, dword [esp + 0x94]
inc dword [esi + 4]
mov dword [eax], 0xf34111d0
xor eax, eax
cmp dword [esi + 4], edx
setge al
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
imul eax, dword [esi + 4], 0xfffffff8
cmp eax, dword [esi + 4]
jge 0x10019b79
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], 0xa26cdee9
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], ebx
jmp 0x10019ba2
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x88], 8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x10019b8f
mov eax, dword [esp + 0x24]
mov ecx, 0xfd6b2214
mov eax, dword [esp + 0xb0]
cmp ecx, dword [eax]
mov eax, dword [esp + 0x24]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
mov eax, dword [esp + 0x18]
setge dl
add edx, dword [esi + 4]
imul eax, edx
cmp eax, dword [esp + 0x38]
jge 0x10019be9
mov eax, dword [esp + 0x94]
cmp dword [eax], ebx
je 0x10019be9
xor ecx, ecx
inc ecx
jmp 0x10019beb
mov ecx, ebx
xor eax, eax
test ecx, ecx
setle al
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
sub ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xb0]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [eax + 8]
jge 0x10019c20
cmp dword [esp + 0x38], ebx
je 0x10019c20
cmp dword [esp + 0x24], ebx
je 0x10019c20
xor ecx, ecx
inc ecx
jmp 0x10019c22
mov ecx, ebx
mov eax, dword [esp + 0x94]
mov dword [esp + 0x88], ecx
mov dword [eax], ecx
mov dword [esp + 0x18], 0xfffffffe
jmp 0x10019c66
mov dword [esp + 0x1c], ebx
jmp 0x10019c5c
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10019c58
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jle 0x10019c42
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1c
jl 0x10019c3c
lea ecx, [esp + 0x94]
call fcn.10017747
or esi, 0xffffffff
lea ecx, [esp + 0xb0]
mov dword [esp + 0x214], esi
call fcn.10017747
mov dword [esp + 0x48], 0xf889e022
lea ecx, [esp + 0x12c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], 0x9949dfcf
push 7
pop eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], 0xe54ee87f
mov dword [esp + 0x1c], 0xcfaf
mov dword [esp + 0x24], 0x12af04
mov dword [esp + 0x18], 0xfffffffd
push edi
call fcn.10016f54
mov dword [esp + 0x10], ebx
jmp 0x10019cf4
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1d8], 0x37911b9c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x10019ce1
mov dword [esp + 0x10], ebx
jmp 0x10019d17
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x12c]
mov dword [eax + ecx*4], 0x9f8c5172
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10019d01
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x1c]
test eax, eax
jne 0x10019d98
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x1c]
je 0x10019d40
cmp dword [esp + 0x14], ebx
jne 0x10019d40
xor esi, esi
mov eax, ebx
inc esi
jmp 0x10019d45
xor esi, esi
inc esi
mov eax, esi
mov dword [esp + 0x1dc], eax
xor edx, edx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
inc ecx
cmp ecx, eax
setle dl
xor ecx, ecx
or eax, 0xffffffff
cmp edx, eax
mov eax, dword [esp + 0x24]
setg cl
xor edx, edx
cmp ecx, eax
setl dl
xor ecx, ecx
add edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
cmp eax, edx
setne cl
add ecx, 0x6896e60b
jne 0x10019d9b
mov edx, ebx
jmp 0x10019d9d
xor esi, esi
inc esi
mov edx, esi
mov eax, dword [esp + 0x38]
xor ecx, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
cmp eax, esi
setge cl
sub ecx, dword [esp + 0x14]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setne al
sub eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
sub ecx, eax
mov eax, dword [esp + 0x12c]
mov dword [eax], ecx
lea ecx, [esp + 0x12c]
call fcn.10017747
mov dword [esp + 0x1c], 0x66de
lea ecx, [esp + 0x114]
push esi
call fcn.10016f54
mov dword [esp + 0x214], edi
lea ecx, [esp + 0x17c]
or esi, 0xffffffff
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], 0xfffffffb
mov dword [esp + 0x14], 0xa37d7c86
mov dword [esp + 0x1c], 0xec352115
push 2
call fcn.10016f54
xor edx, edx
mov dword [esp + 0x10], ebx
inc edx
jmp 0x10019e53
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x114]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10019e41
mov dword [esp + 0x10], ebx
jmp 0x10019e6f
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x70], 0x5cb5542a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10019e5f
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 2
jge 0x10019e9c
push 7
pop edi
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x17c]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x10019e83
xor eax, eax
mov dword [esp + 0x2c], edx
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x70], edi
cmp dword [ecx], ebx
mov edx, dword [ecx]
setl al
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
sub edi, eax
sub edi, edx
neg edi
sbb edi, edi
xor eax, eax
inc edi
imul edi, edx
cmp edi, edx
setl al
xor ecx, ecx
test eax, eax
sets cl
xor eax, eax
cmp ecx, edx
mov ecx, 0xffff
setl al
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x114]
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edx
setge cl
xor eax, eax
cmp ecx, 0xfffffffa
setl al
xor ecx, ecx
cmp eax, edx
setge cl
add ecx, 0x128abf8b
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10019f41
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SelectClipRgn]
mov eax, dword [esp + 0x70]
xor ecx, ecx
test eax, eax
mov eax, dword [esp + 0x24]
setns cl
xor edx, edx
sub ecx, eax
add ecx, dword [esp + 0x74]
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x70]
cmp ecx, eax
mov eax, dword [esp + 0x14]
setge dl
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x17c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
neg eax
mov dword [esp + 0x14], eax
call fcn.10017747
lea ecx, [esp + 0x114]
mov dword [esp + 0x214], esi
call fcn.10017747
mov dword [esp + 0x40], 0xf0adc109
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], ebx
jmp 0x10019fe0
cmp dword [esp + 0x1c], ebx
jne 0x10019fe7
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10019fdc
push 0x11e6
push ebx
call dword [sym.imp.USER32.dll_CharUpperBuffW]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xf
jne 0x10019fbf
mov dword [esp + 0x2c], 0xfffffff9
xor ecx, ecx
mov dword [esp + 0x24], 0x69f4
inc ecx
mov dword [esp + 0x40], 0xfb1c0380
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x40], 0xd7540573
push 7
mov dword [esp + 0x3c], 6
pop eax
mov dword [esp + 0x18], eax
mov dword [esp + 0xc0], 0x9958900f
mov dword [esp + 0xbc], ecx
push 3
mov dword [esp + 0x20], 0x9f5ab171
mov dword [esp + 0x14], ebx
pop edi
jmp 0x1001a057
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x144], 0x187110e6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1001a044
mov dword [esp + 0x10], ebx
jmp 0x1001a076
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1bc], 0xa44198d7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1001a063
mov dword [esp + 0x10], ebx
jmp 0x1001a092
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x58], 0x826f393
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1001a082
cmp dword [esp + 0x24], ebx
jne 0x1001a146
dec dword [esp + 0x58]
mov eax, dword [esp + 0x58]
je 0x1001a0b6
mov eax, dword [esp + 0x2c]
mov esi, ecx
neg eax
jne 0x1001a0b8
mov esi, ebx
mov ecx, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x14c]
cmp eax, ecx
mov eax, dword [esp + 0x14]
setg dl
sub edx, eax
neg edx
push 0
sbb edx, edx
neg edx
mov edx, dword [esp + 0x1c0]
pop eax
sete al
sub edx, eax
mov eax, dword [esp + 0x2c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, eax
mov eax, dword [esp + 0x144]
imul edx, eax
mov eax, dword [esp + 0xc0]
cmp edx, eax
mov eax, dword [esp + 0x24]
setl cl
xor edx, edx
add ecx, esi
cmp eax, ecx
mov eax, dword [esp + 0xbc]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
sub edx, 0x323f
cmp edx, eax
setne cl
mov dword [esp + 0x38], ecx
xor ecx, ecx
inc ecx
or esi, 0xffffffff
mov eax, dword [esp + 0x40]
push ecx
mov dword [esp + 0x148], eax
lea ecx, [esp + 0xf4]
dec dword [esp + 0x20]
call fcn.10016f54
mov dword [esp + 0x214], 4
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], 0x61f9
mov dword [esp + 0x2c], 6
mov dword [esp + 0x40], 0xa75015e0
cmp dword [esp + 0x18], ebx
je 0x1001a1aa
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x1001a279
push ebx
call dword [sym.imp.KERNEL32.dll_EncodePointer]
jmp 0x1001a279
mov dword [esp + 0x14], 0x8555145c
xor edx, edx
mov dword [esp + 0x10], 0xfffffffd
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setle dl
xor ecx, ecx
cmp eax, edx
setne cl
cmp ecx, dword [esp + 0x18]
jge 0x1001a1e2
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
cmp eax, 9
mov eax, dword [esp + 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x14]
setne cl
xor edx, edx
cmp ecx, 0x1f9e
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
xor edx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, 0xffff
setle dl
imul edx, dword [esp + 0x18]
cmp edx, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xfffc
setne cl
cmp ecx, dword [esp + 0x40]
jl 0x1001a25d
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0xfffffff6
setle cl
mov dword [esp + 0x10], ecx
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x1001a28a
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
push 0x3519
lea eax, [esp + 0xf4]
push eax
push ebx
lea eax, [esp + 0x184]
push 0xe08
push eax
call fcn.1001c2cc
mov eax, 0xa5d6c05b
add esp, 0x14
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x10], 0x8da8e97e
mov dword [esp + 0x40], esi
mov dword [esp + 0x10], edi
cmp dword [esp + 0x10], ebx
jl 0x1001a397
xor edx, edx
inc edx
mov dword [esp + 0x18], 0xc4c8d3c8
mov dword [esp + 0x40], edx
mov dword [esp + 0x18], ebx
jmp 0x1001a380
mov dword [esp + 0x14], 0xfffffffb
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0xa0]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0xa0]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xa0], ecx
test ecx, ecx
jne 0x1001a335
mov esi, ebx
cmp dword [esp + 0x18], ebx
je 0x1001a337
mov esi, edx
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp eax, 0x67120dd9
setle cl
sub ecx, 0x59512e2e
cmp esi, ecx
jl 0x1001a376
mov eax, edx
cmp dword [esp + 0xa8], ebx
jne 0x1001a378
mov eax, ebx
mov dword [esp + 0x14], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jle 0x1001a300
dec dword [esp + 0x10]
jns 0x1001a2eb
or esi, 0xffffffff
mov dword [esp + 0x10], ebx
jmp 0x1001a3b4
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x1001a3b0
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], esi
je 0x1001a39d
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], ebx
je 0x1001a400
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
neg ecx
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x28]
jl 0x1001a400
xor esi, esi
inc esi
mov eax, esi
jmp 0x1001a405
xor esi, esi
mov eax, ebx
inc esi
mov dword [esp + 0x2c], eax
xor ecx, ecx
mov eax, dword [esp + 0x2c]
cmp eax, 0xbe4438b
mov eax, dword [esp + 0x48]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x64]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0xf0]
cmp dword [eax], ebx
jne 0x1001a44c
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x18]
jl 0x1001a44c
mov esi, ebx
mov eax, dword [esp + 0x24]
or eax, 0xffffffff
cmp eax, esi
mov eax, dword [esp + 0xc8]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
inc dword [esp + 0x24]
mov eax, dword [esp + 0xf0]
mov eax, dword [eax]
test eax, eax
je 0x1001a4a9
mov dword [esp + 0xd0], eax
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x1001a4f6
push 0x10cd
push ebx
call fcn.1001c1f3
pop ecx
pop ecx
jmp 0x1001a4f6
mov dword [esp + 0x20], 0xfffffff4
jmp 0x1001a4ef
mov dword [esp + 0x1c], 0xffffffe9
jmp 0x1001a4e4
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x1001a4e0
push ebx
push 0x4cd5
push 0x2825
push 0x176a
call fcn.1001c895
add esp, 0x10
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x10
jle 0x1001a4bd
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jle 0x1001a4b3
or eax, 0xffffffff
lea ecx, [esp + 0xf0]
mov dword [esp + 0x214], eax
call fcn.10017747
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 6
jg 0x10019ac0
push 4
mov dword [esp + 0x1c], ebx
pop ecx
jmp 0x1001a53b
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xc4], 0xda0de902
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x1001a528
mov al, byte [esi]
cmp al, 0x30
jl 0x1001a625
cmp al, 0x39
jg 0x1001a625
xor eax, eax
lea ecx, [esp + 0x15c]
inc eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], 0x5c174734
push eax
call fcn.10016f54
push ebx
push 0x671a
lea eax, [esp + 0x164]
mov dword [esp + 0x21c], 5
push eax
lea eax, [esp + 0x19c]
mov dword [esp + 0x78], 0x26fbd10c
push eax
push 0x4206
call fcn.1001bfd7
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0xa8]
push eax
push 0x755b
lea eax, [esp + 0x8c]
push eax
push ebx
lea eax, [esp + 0x184]
push 0x3cb0
push eax
call fcn.1001b696
lea eax, [esp + 0x83]
mov byte [esp + 0x83], bl
push eax
push ebx
call fcn.1001b655
add esp, 0x38
lea ecx, [esp + 0x15c]
or eax, 0xffffffff
mov dword [esp + 0x214], eax
call fcn.10017747
mov edx, dword [esp + 0x5c]
movsx eax, byte [esi]
mov edi, dword [esp + 0x4c]
imul ecx, dword [edx], 0xa
add ecx, 0xffffffd0
add eax, ecx
inc esi
mov dword [edx], eax
mov dword [esp + 0x30], esi
jmp 0x10019211
or eax, 0xffffffff
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], 0x4f833fcb
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0xfff7
mov dword [esp + 0x44], 0x415
mov dword [esp + 0x4c], 0x43eef7d2
mov dword [esp + 0x3c], 0xfffffff6
mov dword [esp + 0x4c], 0x4faf1418
mov dword [esp + 0x30], ebx
jmp 0x1001a67d
mov eax, dword [esp + 0x30]
mov dword [esp + eax*4 + 0x1f8], 0x9339b884
inc dword [esp + 0x30]
cmp dword [esp + 0x30], ecx
jl 0x1001a66a
push 0x4a2e
push ebx
lea eax, [esp + 0x68]
push 0x5457
push eax
call fcn.1001ce2a
mov eax, dword [esp + 0x70]
add esp, 0x10
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x64]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x30], eax
jne 0x1001a6da
cmp dword [esp + 0x30], ebx
je 0x1001a6da
xor edx, edx
inc edx
mov ecx, edx
jmp 0x1001a6df
xor edx, edx
mov ecx, ebx
inc edx
xor eax, eax
cmp ecx, edi
sete al
add eax, edi
je 0x1001a6f0
cmp dword [esp + 0x60], ebx
jne 0x1001a6f6
cmp dword [esp + 0x34], ebx
jne 0x1001a6f8
mov edx, ebx
xor ecx, ecx
cmp edx, 0xef23e469
setne cl
xor eax, eax
cmp ecx, 0xfffffffa
setg al
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
sub eax, 0x451d
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x5c]
mov dword [eax], ebx
jmp 0x10018f0c
or eax, 0xffffffff
mov dword [esp + 0x14], 5
mov dword [esp + 0x14], eax
jmp 0x1001a76f
mov dword [esp + 0x30], 0xfffffff6
mov dword [esp + 0x30], ebx
jmp 0x1001a764
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x1001a760
push ebx
call fcn.1001c99d
pop ecx
dec dword [esp + 0x30]
cmp dword [esp + 0x30], 0xfffffff5
jle 0x1001a74e
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x1b
je 0x1001a740
mov al, 1
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret