Function at 0x10047b0c
Capabilities:
Enumerate gui resources
Get common file path
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100742ce
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x360
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x148]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x355fff83
push ebx
mov dword [esp + 4], 0x7af2c9a1
push esi
mov dword [esp + 0x24], 0xf15cc7c4
mov dword [esp + 0x24], 0xffffffff
push edi
mov dword [esp + 0x28], 0x31ea062
mov dword [esp + 0x28], 0xc6dd3ed2
mov dword [esp + 0x28], 0xfffffffa
push 4
mov dword [esp + 0x3c], edx
call fcn.10013d2b
xor ebx, ebx
mov dword [esp + 0x374], ebx
mov dword [esp + 0x1c], ebx
jmp 0x10047bab
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x154]
mov dword [eax + ecx*4], 0x7f4a1d2d
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x10047b95
mov dword [esp + 0x18], 1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
neg edx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
sbb edx, edx
mov eax, dword [esp + 0x14]
xor ecx, ecx
neg edx
cmp edx, 1
sete cl
xor edx, edx
cmp ecx, eax
setne dl
xor ecx, ecx
imul edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
cmp edx, eax
setle cl
xor edx, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add ecx, 0x74ca
cmp ecx, eax
mov eax, dword [esp + 0xc]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x14]
setg cl
mov dword [esp + 0x20], ecx
xor ecx, ecx
cmp dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
setle cl
xor edx, edx
cmp ecx, 0xffffffff
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, 0x58aae07e
je 0x10047c6c
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x10047e2b
push ebx
push 0x26c5
push 0x1272
push 0x14f1
call dword [sym.imp.USER32.dll_SetDlgItemInt]
jmp 0x10047e2b
mov dword [esp + 0x20], 0x1cda
cmp dword [esp + 0x20], 0xb91
jge 0x10047dae
lea eax, [esp + 0x1e0]
push eax
lea eax, [esp + 0x1dc]
push eax
lea eax, [esp + 0x20c]
push eax
lea eax, [esp + 0x1d4]
push eax
lea eax, [esp + 0x1ec]
push eax
push 0x1000b798
call fcn.1005821b
mov ecx, dword [esp + 0x1e0]
add esp, 0x18
mov eax, dword [esp + 0x204]
mov edx, ebx
mov edi, dword [esp + 0x1dc]
mov dword [esp + 0x1c], edx
test ecx, ecx
js 0x10047ce2
cmp ecx, edi
jg 0x10047cf3
test eax, eax
jne 0x10047ce2
mov edx, ecx
jmp 0x10047d19
cmp ecx, edi
jne 0x10047cf3
test eax, eax
js 0x10047cf3
cmp eax, edi
jg 0x10047cf3
lea edx, [edi + eax]
jmp 0x10047d19
test ecx, ecx
js 0x10047d08
cmp ecx, edi
jg 0x10047d06
cmp eax, edi
jne 0x10047d06
imul edx, edi, 3
sub edx, ecx
jmp 0x10047d19
test ecx, ecx
jne 0x10047d1d
test eax, eax
js 0x10047d1d
cmp eax, edi
jg 0x10047d1d
mov edx, edi
shl edx, 2
sub edx, eax
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1d8]
mov ecx, ebx
mov esi, dword [esp + 0x1e0]
mov dword [esp + 0x14], ecx
test eax, eax
js 0x10047d41
cmp eax, edi
jg 0x10047d52
test esi, esi
jne 0x10047d41
mov ecx, eax
jmp 0x10047d78
cmp eax, edi
jne 0x10047d52
test esi, esi
js 0x10047d52
cmp esi, edi
jg 0x10047d52
lea ecx, [edi + esi]
jmp 0x10047d78
test eax, eax
js 0x10047d67
cmp eax, edi
jg 0x10047d65
cmp esi, edi
jne 0x10047d65
imul ecx, edi, 3
sub ecx, eax
jmp 0x10047d78
test eax, eax
jne 0x10047d7c
test esi, esi
js 0x10047d7c
cmp esi, edi
jg 0x10047d7c
mov ecx, edi
shl ecx, 2
sub ecx, esi
mov dword [esp + 0x14], ecx
mov esi, edi
shl edi, 2
shl esi, 3
mov eax, esi
sub esi, dword [esp + 0x1c]
sub eax, ecx
add esi, dword [esp + 0x14]
add eax, edx
cdq
idiv edi
mov eax, esi
mov ecx, edx
cdq
idiv edi
cmp ecx, edx
cmovl edx, ecx
push edx
push 0x1000b5fc
call fcn.100585c5
pop ecx
pop ecx
mov dword [esp + 0x28], 0xfffffffe
lea ecx, [esp + 0x1cc]
push 2
call fcn.10013d2b
xor edx, edx
mov dword [esp + 0xc], ebx
inc edx
jmp 0x10047de0
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x274], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10047dcd
mov dword [esp + 0xc], ebx
jmp 0x10047dfe
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1cc]
mov dword [eax + ecx*4], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x10047dec
mov eax, dword [esp + 0x1cc]
push eax
inc dword [eax + 4]
call fcn.10058737
pop ecx
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1d4], ebx
or dword [esp + 0x374], 0xffffffff
cmp dword [esp + 0x154], ebx
je 0x10047e5e
push dword [esp + 0x154]
call fcn.10058737
pop ecx
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], ebx
push 7
mov dword [esp + 0x20], 0xd4e7937d
pop esi
cmp dword [esp + 0x1c], esi
jg 0x10047eac
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x10047e97
push ebx
push 0x13fa
push 0x917
push 0x361
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x10047ec2
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
jmp 0x10047ec2
mov dword [esp + 0x20], 0x4c38b6b0
mov eax, dword [esp + 0x1c]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x20], eax
mov ecx, dword [0x108dee60]
test cl, 1
jne 0x10047f66
xor eax, eax
inc eax
or ecx, eax
mov dword [0x108dee60], ecx
push ebx
mov dword [esp + 0x378], eax
push ebx
mov dword [0x108dee70], ebx
mov dword [0x108dee74], ebx
call fcn.100183aa
mov dword [0x108dee70], eax
mov dword [0x108dee78], ebx
mov dword [0x108dee80], ebx
mov byte [esp + 0x374], 3
mov ecx, 0x108dee78
mov dword [esp + 0x208], eax
lea eax, [esp + 0x208]
push eax
push 0x10
push ebx
lea eax, [esp + 0x27c]
mov dword [0x108dee8c], 0x3f800000
push eax
mov dword [0x108dee7c], ebx
call fcn.10018182
push 0x100747b2
mov dword [0x108dee84], esi
mov dword [0x108dee88], 8
call fcn.1005859b
or dword [esp + 0x378], 0xffffffff
pop ecx
push 4
lea ecx, [esp + 0xbc]
call fcn.10013d2b
mov dword [esp + 0x374], 4
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 0xfffffffc
mov dword [esp + 0x24], 0xf3b7
mov dword [esp + 0x20], 0x7c93e255
mov dword [esp + 0xc], ebx
jmp 0x10047fb7
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xb8]
mov dword [eax + ecx*4], 0x824a8c6a
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x10047fa1
xor ecx, ecx
mov dword [esp + 0xc], ebx
inc ecx
jmp 0x10047fd7
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x3c], 0xfffffff9
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x10047fc7
mov esi, dword [esp + 0xb8]
mov dword [esi + 8], ebx
push 3
pop eax
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x20], 9
mov dword [esp + 0x1c], 0xfffffffb
push 4
call fcn.10013d2b
mov byte [esp + 0x374], 5
mov dword [esp + 0x1c], ebx
jmp 0x1004802a
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x10048017
cmp dword [esi + 8], ebx
jne 0x1004823c
mov eax, dword [esp + 0xb8]
xor ecx, ecx
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
setne cl
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0xb8]
xor eax, eax
cmp ecx, dword [edi + 0xc]
setl al
dec eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], ebx
je 0x1004815b
mov dword [esp + 0x14], 9
lea ecx, [esp + 0x124]
push 1
call fcn.10013d2b
xor edx, edx
inc edx
mov dword [esp + 0x21c], edx
mov dword [esp + 0x220], edx
mov dword [esp + 0x224], edx
mov dword [esp + 0x228], edx
mov dword [esp + 0x1c], ebx
jmp 0x100480c7
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x124]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x100480b4
mov eax, dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jne 0x10048108
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x124]
cmp dword [esi + 8], ebx
je 0x100480f5
mov eax, edx
cmp dword [ecx], ebx
jne 0x100480f7
mov eax, ebx
mov dword [ecx], eax
mov eax, dword [esp + 0x224]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
inc dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x228]
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x124], 0
mov dword [esp + 0x224], edx
je 0x10048152
push dword [esp + 0x124]
call fcn.10058737
pop ecx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov eax, dword [esp + 0x4c]
jmp 0x1004820e
xor edx, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], 1
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x3c]
cmp ecx, eax
mov eax, dword [esp + 0x3c]
setl dl
xor ecx, ecx
cmp edx, dword [edi + 0xc]
setl cl
xor edx, edx
imul ecx, dword [esi + 8]
cmp ecx, eax
mov eax, dword [esp + 0x14]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x4c]
setne cl
xor edx, edx
cmp ecx, dword [eax + 4]
setne dl
imul edx, dword [eax + 8]
mov eax, dword [esp + 0x18]
inc edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
imul ecx, dword [esp + 0x1c]
sub ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
add eax, 0x361ae7d5
add ecx, eax
mov eax, dword [esp + 0x1c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp dword [esp + 0x14], ecx
mov eax, dword [esp + 0x4c]
jne 0x10048207
cmp dword [eax + 0xc], ebx
jne 0x10048207
mov ecx, ebx
jmp 0x1004820a
xor ecx, ecx
inc ecx
mov dword [esp + 0x20], ecx
mov byte [esp + 0x374], 4
test eax, eax
je 0x1004822d
push eax
call fcn.10058737
pop ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
inc dword [esi + 8]
cmp dword [esi + 8], 0x1c
jne 0x10047fe7
jmp 0x10048259
cmp dword [esp + 0x4c], 0
je 0x10048259
push dword [esp + 0x4c]
call fcn.10058737
pop ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], 4
jge 0x10048280
xor edi, edi
inc edi
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xb8]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x10048267
or dword [esp + 0x374], 0xffffffff
push dword [esp + 0xb8]
call fcn.10058737
imul eax, dword [esp + 0x44], 0x2710
pop ecx
push 4
pop edi
mov dword [esp + 0xb8], ebx
lea ecx, [esp + 0x10c]
add eax, dword [esp + 0x38]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x18], 6
mov dword [esp + 0x20], 1
push edi
call fcn.10013d2b
mov dword [esp + 0x1c], ebx
jmp 0x100482f6
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10c]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jl 0x100482e3
mov dword [esp + 0x18], 0xa
jmp 0x10048370
mov dword [esp + 0x1c], 0xaad8
mov dword [esp + 0xc], 0x22e974a5
cmp dword [esp + 0x18], ebx
jne 0x10048320
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [esp + 0xc], ecx
mov dword [esp + 0xc], ebx
jmp 0x10048366
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10c]
mov dword [eax + ecx*4], 0xd0188753
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10048350
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x12
jg 0x10048306
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004838c
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
cmp dword [esp + 0x10c], 0
je 0x100483b8
push dword [esp + 0x10c]
call fcn.10058737
pop ecx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
lea eax, [esp + 0xf0]
push eax
call fcn.1004a0a8
mov esi, dword [eax]
test esi, esi
je 0x1004860f
mov dword [esp + 0x18], 0xa9ac70c3
mov dword [esp + 0x38], 0x2286
cmp dword [esp + 0x38], 0xaf5
jge 0x1004849e
lea eax, [esp + 0x48]
push eax
push 0x1000b248
call fcn.1005821b
pop ecx
jmp 0x1004848c
dec eax
mov dword [esp + 0x48], eax
lea eax, [esp + 0x200]
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x1b4]
push eax
lea eax, [esp + 0x84]
push eax
push 0x1000b2ec
call fcn.1005821b
mov edx, dword [esp + 0x1c0]
add esp, 0x14
cmp dword [esp + 0x78], edx
mov ecx, edx
mov eax, dword [esp + 0x7c]
cmovg ecx, dword [esp + 0x78]
cmp ecx, eax
cmovg eax, ecx
imul ecx, eax, 3
mov eax, dword [esp + 0x200]
sub ecx, dword [esp + 0x78]
sub ecx, edx
sub ecx, dword [esp + 0x7c]
cmp eax, ecx
jl 0x10048475
sub eax, ecx
push 3
pop ecx
cdq
idiv ecx
mov cl, 1
test edx, edx
je 0x10048477
mov cl, bl
test cl, cl
mov edx, 0x1000b250
mov eax, 0x1000b24c
cmove eax, edx
push eax
call fcn.10058886
mov eax, dword [esp + 0x4c]
pop ecx
test eax, eax
jne 0x10048402
dec eax
mov dword [esp + 0x48], eax
push 2
lea ecx, [esp + 0xd4]
call fcn.10013d2b
mov dword [esp + 0x14], ebx
mov dword [esp + 0x38], 0x5f7626a9
mov dword [esp + 0x1c], ebx
jmp 0x100484d4
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xd0]
mov dword [eax + ecx*4], 0x3938dd44
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x100484be
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x18]
jne 0x1004853b
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x18]
jne 0x100484f3
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xd0]
xor ecx, ecx
xor edi, edi
inc edi
cmp dword [eax], edi
sete cl
sub ecx, dword [eax]
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [eax], ecx
add ecx, 0xffff
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x18]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x14]
setge cl
dec dword [esp + 0x14]
cmp eax, ecx
jge 0x1004853b
mov eax, ebx
jmp 0x1004853e
xor eax, eax
inc eax
cmp dword [esp + 0x18], eax
jge 0x10048554
mov eax, dword [esp + 0xd0]
cmp dword [eax], ebx
je 0x10048554
xor eax, eax
inc eax
jmp 0x10048556
mov eax, ebx
mov dword [esp + 0x38], eax
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004856c
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp dword [esp + 0xd0], 0
je 0x10048598
push dword [esp + 0xd0]
call fcn.10058737
pop ecx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0x14], 0xda11525
push 4
mov dword [esp + 0x20], ebx
pop ecx
mov dword [esp + 0x1f4], esi
cmp dword [esp + 0x1c], ecx
jge 0x100485cc
xor edi, edi
inc edi
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x2b0], edi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ecx
jl 0x100485b7
mov dword [esp + 0x14], ebx
jmp 0x100485e5
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x2b0], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x100485d2
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049e65
push 0x9c
push 0x16c8
call dword [sym.imp.USER32.dll_SetParent]
jmp 0x10049e65
mov eax, dword [0x108dee60]
test al, 2
jne 0x100486b6
or eax, 2
mov dword [0x108dee60], eax
push ebx
mov dword [esp + 0x378], 6
push ebx
mov dword [0x108dee40], ebx
mov dword [0x108dee44], ebx
call fcn.100183aa
mov dword [0x108dee40], eax
mov dword [0x108dee48], ebx
mov dword [0x108dee50], ebx
mov byte [esp + 0x374], 8
mov ecx, 0x108dee48
mov dword [esp + 0x1f0], eax
lea eax, [esp + 0x1f0]
push eax
push 0x10
push ebx
lea eax, [esp + 0xec]
mov dword [0x108dee5c], 0x3f800000
push eax
mov dword [0x108dee4c], ebx
call fcn.10018182
push 0x100747ad
mov dword [0x108dee54], 7
mov dword [0x108dee58], 8
call fcn.1005859b
or dword [esp + 0x378], 0xffffffff
pop ecx
xorps xmm0, xmm0
lea ecx, [esp + 0x118]
movdqu xmmword [esp + 0x19c], xmm0
push 3
mov dword [esp + 0x20], 0xfffffffd
pop eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x18], 0xe0c8
mov dword [esp + 0x14], 0xba80278e
push eax
call fcn.10013d2b
push 3
mov dword [esp + 0x10], ebx
pop edx
jmp 0x1004870e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xc4], 0xffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x100486fb
mov dword [esp + 0xc], ebx
jmp 0x1004872a
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x64], 0x632667a8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1004871a
mov dword [esp + 0xc], ebx
jmp 0x1004874c
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x118]
mov dword [eax + ecx*4], 1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10048736
mov dword [esp + 0x68], ebx
cmp dword [esp + 0x68], 2
jg 0x100488a9
mov esi, dword [esp + 0x118]
cmp dword [esp + 0x6c], ebx
jne 0x10048772
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], 1
xor ecx, ecx
mov eax, dword [esp + 0x68]
push 0
mov eax, dword [esp + eax*4 + 0xc8]
test eax, eax
mov eax, dword [esp + 0xcc]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x6c]
setg dl
mov eax, dword [esp + eax*4 + 0xc8]
cmp eax, edx
mov eax, dword [esp + 0x6c]
pop edx
setne dl
mov ecx, dword [esp + eax*4 + 0xc4]
mov eax, dword [esp + 0x18]
sub edx, eax
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x1c]
add ecx, eax
je 0x100487e9
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004888c
push ebx
push 0x1a4f
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x1004888c
mov dword [esp + 0x1c], 0x33c017f2
mov dword [esp + 0x24], 0xd933
cmp dword [esp + 0x1c], ebx
jne 0x10048807
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + eax*4 + 0xc4]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + eax*4 + 0xc4]
sub eax, dword [esp + 0x68]
je 0x10048850
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004888c
push ebx
push 0x1c0d
push 0x1c37
push 0x15c1
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
jmp 0x1004888c
mov dword [esp + 0x14], 0xfffffffe
cmp dword [esp + 0x14], 8
je 0x1004888c
push 3
pop edx
mov dword [esp + 0x18], ebx
jmp 0x1004887b
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xc4], 0xfc1f
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x10048868
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 8
jne 0x10048862
mov eax, dword [esp + 0x68]
mov eax, dword [esp + eax*4 + 0xc4]
mov dword [esi + 4], eax
inc dword [esp + 0x68]
cmp dword [esp + 0x68], 2
jle 0x10048768
cmp dword [esp + 0x118], 0
je 0x100488d5
push dword [esp + 0x118]
call fcn.10058737
pop ecx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
lea eax, [esp + 0x40]
push eax
call fcn.1004a10a
mov esi, dword [eax]
mov dword [esp + 0x28], ebx
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
mov dword [esp + 0x1c], esi
je 0x10048900
push ebx
push 0x2e7
call dword [sym.imp.USER32.dll_SetMenu]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10048917
push 0x1ffb
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp byte [ebp + 0xc], 0
jne 0x10048925
test esi, esi
jne 0x100498f2
push 2
pop esi
mov dword [esp + 0x18], 0xe1757117
lea ecx, [esp + 0x16c]
push esi
call fcn.10013d2b
mov dword [esp + 0x374], 9
mov dword [esp + 0x20], 0x1874
cmp dword [esp + 0x20], 0xcf7
jge 0x10048ab4
call fcn.10058355
push eax
push 0x1000b2d4
push 0x1000b2d8
call fcn.1005880f
add esp, 0xc
call fcn.10058355
add eax, 0x20
push eax
push 0x1000b2e0
push 0x1000b2e4
call fcn.1005880f
add esp, 0xc
lea eax, [esp + 0x70]
mov ecx, 0x10663ef0
push eax
call fcn.100135b8
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x10048ab4
mov esi, dword [esp + 0x70]
mov byte [esp + 0x13], 1
test esi, esi
jle 0x100489cf
push esi
lea eax, [esp + 0x2d4]
push ebx
push eax
call fcn.10058680
add esp, 0xc
lea eax, [esp + 0xdc]
mov ecx, 0x10663ef0
push eax
call fcn.100135b8
cmp esi, 1
jle 0x10048a79
mov edi, dword [esp + 0xdc]
dec esi
mov dword [esp + 0x14], esi
lea eax, [esp + 0x80]
mov ecx, 0x10663ef0
push eax
call fcn.100135b8
cmp edi, dword [esp + 0x80]
je 0x10048a55
mov esi, dword [esp + 0x80]
sub esi, edi
push esi
call fcn.10058a26
pop ecx
cmp byte [esp + eax + 0x2d0], 0
jne 0x10048a51
push esi
call fcn.10058a26
pop ecx
cmp eax, dword [esp + 0x70]
jge 0x10048a51
push esi
call fcn.10058a26
mov esi, dword [esp + 0x18]
pop ecx
mov byte [esp + eax + 0x2d0], 1
mov al, byte [esp + 0x13]
jmp 0x10048a5b
mov esi, dword [esp + 0x14]
mov al, bl
mov byte [esp + 0x13], al
mov edi, dword [esp + 0x80]
dec esi
mov dword [esp + 0x14], esi
jne 0x100489f6
mov dword [esp + 0xdc], edi
mov edx, 0x1000b7b0
test al, al
je 0x10048a7e
mov edx, 0x1000b7a8
mov ecx, 0x10663e38
call fcn.100188c7
push eax
call fcn.100184bb
pop ecx
lea eax, [esp + 0x70]
mov ecx, 0x10663ef0
push eax
call fcn.100135b8
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x100489b0
push 4
pop edi
push 2
pop esi
mov dword [esp + 0x14], ebx
jmp 0x10048ad0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x16c]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10048aba
mov dword [esp + 0x18], 0x1c
jmp 0x10048bc1
push edi
lea ecx, [esp + 0x17c]
call fcn.10013d2b
push 3
mov dword [esp + 0x10], ebx
pop ecx
jmp 0x10048b0c
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1b0], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x10048af9
mov dword [esp + 0xc], ebx
jmp 0x10048b2e
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x178]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10048b18
mov dword [esp + 0x1b4], 1
cmp dword [esp + 0x1b4], ebx
jl 0x10048b68
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10048b5f
push 0x2338
push ebx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
dec dword [esp + 0x1b4]
jns 0x10048b48
mov ecx, dword [esp + 0x178]
mov dword [ecx + 4], esi
mov dword [esp + 0x14], 0x63a88e00
mov dword [esp + 0x14], ebx
jmp 0x10048b90
mov eax, dword [ecx + 4]
cmp dword [esp + eax*4 + 0x1b0], ebx
jne 0x10048b96
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jle 0x10048b80
dec dword [ecx + 4]
jns 0x10048b72
push dword [esp + 0x178]
call fcn.10058737
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebx
dec dword [esp + 0x1c]
pop ecx
cmp dword [esp + 0x18], 0x16
je 0x10048ae3
or dword [esp + 0x374], 0xffffffff
cmp dword [esp + 0x16c], 0
je 0x10048c00
push dword [esp + 0x16c]
call fcn.10058737
pop ecx
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebx
mov dl, byte [ebp + 0xc]
lea eax, [esp + 0x2c0]
mov ecx, dword [esp + 0x40]
push eax
call fcn.1003c560
mov esi, eax
lea edi, [esp + 0x1a0]
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc], ebx
mov dword [esp + 0xc], 0xa
jmp 0x10048ca5
mov dword [esp + 0x18], 0x665683c8
mov dword [esp + 0x18], ebx
jmp 0x10048c9a
push 1
lea ecx, [esp + 0x1c0]
call fcn.10013d2b
xor edx, edx
mov dword [esp + 0x14], ebx
inc edx
jmp 0x10048c6b
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1bc]
mov dword [eax + ecx*4], 0xb40194dd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x10048c55
mov eax, dword [esp + 0x1bc]
push eax
mov dword [eax], ebx
call fcn.10058737
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1c8], ebx
inc dword [esp + 0x1c]
pop ecx
cmp dword [esp + 0x18], 2
jne 0x10048c3e
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff2
jle 0x10048c30
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10048cce
push ebx
push ebx
push 0x1d8e
push 0x1c4a
push 0x265b
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
cmp byte [ebp + 0xc], 0
je 0x1004904e
cmp dword [esp + 0x1a4], 0
je 0x1004904e
push 3
mov dword [esp + 0x10], 0xfffffffd
lea ecx, [esp + 0x134]
pop eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x14], 0xe0c8
mov dword [esp + 0x18], 0xba80278e
push eax
call fcn.10013d2b
push 3
mov dword [esp + 0x10], ebx
pop edx
jmp 0x10048d32
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xe4], 0xffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10048d1f
mov dword [esp + 0xc], ebx
jmp 0x10048d4e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x58], 0x632667a8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10048d3e
mov dword [esp + 0xc], ebx
jmp 0x10048d70
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], 1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10048d5a
mov dword [esp + 0x5c], ebx
cmp dword [esp + 0x5c], 2
jg 0x10048ecd
mov esi, dword [esp + 0x130]
cmp dword [esp + 0x60], ebx
jne 0x10048d96
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], 1
xor ecx, ecx
mov eax, dword [esp + 0x5c]
push 0
mov eax, dword [esp + eax*4 + 0xe8]
test eax, eax
mov eax, dword [esp + 0xec]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x60]
setg dl
mov eax, dword [esp + eax*4 + 0xe8]
cmp eax, edx
mov eax, dword [esp + 0x60]
pop edx
setne dl
mov ecx, dword [esp + eax*4 + 0xe4]
mov eax, dword [esp + 0x14]
sub edx, eax
lea eax, [ecx + edx]
mov ecx, dword [esp + 0xc]
add ecx, eax
je 0x10048e0d
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10048eb0
push ebx
push 0x1a4f
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x10048eb0
mov dword [esp + 0xc], 0x33c017f2
mov dword [esp + 0x24], 0xd933
cmp dword [esp + 0xc], ebx
jne 0x10048e2b
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + eax*4 + 0xe4]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + eax*4 + 0xe4]
sub eax, dword [esp + 0x5c]
je 0x10048e74
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10048eb0
push ebx
push 0x1c0d
push 0x1c37
push 0x15c1
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
jmp 0x10048eb0
mov dword [esp + 0x18], 0xfffffffe
cmp dword [esp + 0x18], 8
je 0x10048eb0
push 3
pop edx
mov dword [esp + 0x14], ebx
jmp 0x10048e9f
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xe4], 0xfc1f
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x10048e8c
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 8
jne 0x10048e86
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + eax*4 + 0xe4]
mov dword [esi + 4], eax
inc dword [esp + 0x5c]
cmp dword [esp + 0x5c], 2
jle 0x10048d8c
cmp dword [esp + 0x130], 0
je 0x10048ef9
push dword [esp + 0x130]
call fcn.10058737
pop ecx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov eax, dword [esp + 0x1a8]
lea ecx, [esp + 0x90]
push 4
mov dword [esp + 0x1fc], eax
call fcn.10013d2b
mov dword [esp + 0x18], 0x22ba3946
mov dword [esp + 0xc], 0xfffffff6
mov dword [esp + 0x24], 0x7e815f84
mov dword [esp + 0x14], ebx
jmp 0x10048f49
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x90]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x10048f33
push 3
pop ecx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x18], ebx
jl 0x10049014
mov eax, dword [esp + 0x90]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebx
jmp 0x10048f85
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x264], 0x1874da8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x10048f72
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x90]
push 3
cmp dword [eax], 1
mov eax, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
add eax, ecx
xor ecx, ecx
cmp eax, 0x15d0
setge cl
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x26c], eax
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x94]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x24]
imul edx, dword [eax + 8]
xor eax, eax
cmp ecx, dword [esi + edi*4]
setne al
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, 2
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x26c]
dec dword [esp + 0x1c]
pop ecx
jns 0x10048f6c
cmp dword [esp + 0x90], 0
je 0x10049040
push dword [esp + 0x90]
call fcn.10058737
pop ecx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x1fc], eax
cmp dword [esp + 0x1c], 0
jne 0x100498f2
cmp dword [esp + 0x19c], 0
jle 0x100498f2
mov dword [esp + 0xc], 0xfffffff8
mov dword [esp + 0x18], 0xfffffff9
mov dword [esp + 0x14], 0x8eb16e2c
mov dword [esp + 0x20], 0x7032f1ef
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100490a1
push ebx
push ebx
push 0x1a26
push ebx
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x190]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
sub eax, 0x1fd9
neg eax
push 4
sbb eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
pop esi
mov dword [esp + 0x20], eax
push esi
call fcn.10013d2b
mov dword [esp + 0x18], 0xfffffffd
mov dword [esp + 0x14], ebx
jmp 0x10049154
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x190]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10049141
push 3
mov dword [esp + 0x1c], ebx
pop ecx
jmp 0x10049214
mov dword [esp + 0x14], ebx
jmp 0x1004917f
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x20c], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1004916c
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100491ab
push ebx
push 0x226b
push ebx
push ebx
push 0x1044
push 0x6d0
call dword [sym.imp.USER32.dll_ToAsciiEx]
push 3
pop ecx
mov dword [esp + 0x20c], ebx
jmp 0x10049207
mov dword [esp + 0x14], 0xfffffffd
mov dword [esp + 0x14], ebx
jmp 0x100491f3
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0xc], ecx
cmp dword [esp + 0xc], ebx
jl 0x100491ef
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100491e6
push ebx
call dword [sym.imp.KERNEL32.dll_ClearCommBreak]
dec dword [esp + 0xc]
jns 0x100491d4
push 3
pop ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jle 0x100491c2
mov eax, dword [esp + 0x20c]
inc dword [esp + 0x20c]
cmp dword [esp + 0x20c], ecx
jle 0x100491b4
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jle 0x10049166
cmp dword [esp + 0x190], 0
je 0x1004924a
push dword [esp + 0x190]
call fcn.10058737
pop ecx
mov dword [esp + 0x190], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x28], ebx
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049265
push ebx
push 0x2e7
call dword [sym.imp.USER32.dll_SetMenu]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1004927c
push 0x1ffb
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [esp + 0xc], 0xc75b57fd
lea ecx, [esp + 0x148]
push 2
call fcn.10013d2b
push 1
lea ecx, [esp + 0x104]
mov dword [esp + 0x378], 0xa
call fcn.10013d2b
mov byte [esp + 0x374], 0xb
mov dword [esp + 0x28], 0xf8c51723
mov dword [esp + 0xc], ebx
jmp 0x100492d7
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x148]
mov dword [eax + ecx*4], 0x6286c8a8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x100492c1
xor edx, edx
mov dword [esp + 0xc], ebx
inc edx
jmp 0x100492fd
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x100]
mov dword [eax + ecx*4], 0xbe74fd57
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x100492e7
mov dword [esp + 0xc], ebx
jmp 0x10049451
push dword [esp + 0xe0]
movdqa xmm0, xmmword [0x1000b8b0]
lea eax, [esp + 0x2a4]
push eax
lea eax, [esp + 0x298]
mov dword [esp + 0x1c], 0x403ca955
push eax
push ebx
lea ecx, [esp + 0x104]
mov dword [esp + 0x104], ebx
movdqu xmmword [esp + 0x2a0], xmm0
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
call fcn.1001973d
mov dword [esp + 0x18], 0xffffffff
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
sub ecx, 0x3a74adf2
mov eax, dword [esp + 0xf4]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
add eax, ecx
cmp eax, 0xfffd
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xfffffffa
mov eax, dword [esp + 0xc]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xc]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x14]
setl cl
mov dword [esp + 0x20], ecx
xor ecx, ecx
cmp dword [esp + 0x20], eax
setg cl
cmp ecx, esi
sbb eax, eax
neg eax
sub eax, dword [esp + 0xc]
neg eax
sbb eax, eax
inc eax
imul eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
neg eax
sbb eax, eax
xor edx, edx
neg eax
imul ecx, eax
mov eax, dword [esp + 0xc]
cmp ecx, eax
mov eax, dword [esp + 0xc]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x14]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x18], 8
mov eax, dword [esp + 0x148]
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x100]
mov dword [eax], ecx
push dword [esp + 0xf4]
call fcn.10058737
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
dec dword [esp + 0x10]
pop ecx
cmp dword [esp + 0xc], 0xffffffe6
je 0x1004930c
cmp dword [esp + 0x100], 0
je 0x10049488
push dword [esp + 0x100]
call fcn.10058737
pop ecx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
or dword [esp + 0x374], 0xffffffff
cmp dword [esp + 0x148], 0
je 0x100494bc
push dword [esp + 0x148]
call fcn.10058737
pop ecx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], ebx
push esi
lea ecx, [esp + 0x88]
call fcn.10013d2b
mov dword [esp + 0x18], 0x22ba3946
mov dword [esp + 0xc], 0xfffffff6
mov dword [esp + 0x24], 0x7e815f84
mov dword [esp + 0x14], ebx
jmp 0x100494fd
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x84]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x100494e7
push 3
pop ecx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x18], ebx
jl 0x100495ca
mov eax, dword [esp + 0x84]
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebx
jmp 0x10049538
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x284], 0x1874da8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x10049525
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x84]
push 3
cmp dword [eax], 1
mov eax, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
add eax, ecx
xor ecx, ecx
cmp eax, 0x15d0
setge cl
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28c], eax
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x88]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x24]
imul edx, dword [eax + 8]
xor eax, eax
cmp ecx, dword [esi + edi*4]
setne al
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, 2
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28c]
dec dword [esp + 0x1c]
pop ecx
jns 0x1004951f
push 4
pop esi
cmp dword [esp + 0x84], 0
je 0x100495f6
push dword [esp + 0x84]
call fcn.10058737
pop ecx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
cmp dword [esp + 0x1a0], 0
je 0x100498f2
push esi
lea ecx, [esp + 0x140]
call fcn.10013d2b
push 2
lea ecx, [esp + 0x164]
mov dword [esp + 0x378], 0xc
call fcn.10013d2b
mov dword [esp + 0xc], ebx
jmp 0x10049646
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x13c]
mov dword [eax + ecx*4], 8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10049630
mov dword [esp + 0xc], ebx
jmp 0x10049665
cmp dword [esp + 0xc], 2
jl 0x10049652
xor edi, edi
inc edi
push 3
pop eax
push eax
lea ecx, [esp + 0x188]
call fcn.10013d2b
mov dword [esp + 0xc], 9
mov dword [esp + 0x24], 0xfffffffb
mov dword [esp + 0x18], 0x9523
push 3
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ebx
pop edx
jmp 0x10049940
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x184]
mov dword [eax + ecx*4], 0x46db5052
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1004992a
mov eax, dword [esp + 0xc]
xor edx, edx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], eax
mov esi, dword [eax + 4]
mov eax, dword [esp + 0xc]
cmp ecx, eax
mov eax, dword [esp + 0xc]
setg dl
xor ecx, ecx
inc edx
cmp edx, eax
mov edx, dword [esp + 0x14]
lea eax, [esi + 1]
setle cl
add ecx, dword [esp + 0xc]
imul ecx, ecx, 0xffff
mov dword [edx + 4], eax
sub ecx, 0x5fffb
cmp esi, ecx
jle 0x100499a1
xor eax, eax
xor edi, edi
inc eax
inc edi
jmp 0x100499a3
mov eax, ebx
mov dword [esp + 0x24], eax
mov esi, edx
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [esi + 4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x18]
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, edi
setl al
imul eax, edx
imul eax, edx
cmp eax, 0xb51fd9ab
jbe 0x100499f4
cmp dword [esp + 0x18], ebx
je 0x100499f4
xor eax, eax
xor edi, edi
inc eax
inc edi
jmp 0x100499f6
mov eax, ebx
add eax, 0x9c7cdabe
xor edx, edx
cmp eax, dword [esi + 4]
mov eax, dword [esp + 0x20]
mov esi, dword [esi + 4]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xc23988f1
setge cl
add ecx, dword [esp + 0x24]
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp esi, eax
sete cl
sub ecx, esi
imul eax, ecx, 0x197b
test eax, eax
je 0x10049a45
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049a8f
call dword [sym.imp.KERNEL32.dll_GetACP]
jmp 0x10049a8f
mov dword [esp + 0x14], ebx
jmp 0x10049a5e
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x248], 0x987c837e
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10049a4b
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049a81
push ebx
push 0x20fe
push 0x1dc5
call dword [sym.imp.GDI32.dll_CreatePen]
mov eax, dword [esp + 0x248]
mov dword [esp + 0x248], eax
push dword [esp + 0x184]
call fcn.10058737
pop ecx
lea ecx, [esp + 0x19c]
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebx
call fcn.10044240
cmp dword [esp + 0x1c], 0
je 0x10049d50
push dword [esp + 0xe0]
movdqa xmm0, xmmword [0x1000b870]
lea eax, [esp + 0x2b4]
push eax
lea eax, [esp + 0x2a8]
mov dword [esp + 0x1c], 0x28ea388
push eax
mov dword [esp + 0x24], 0x45bbbdeb
lea ecx, [esp + 0xb8]
mov dword [esp + 0x18], 0x4361a6b7
push ebx
movdqu xmmword [esp + 0x2b0], xmm0
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
call fcn.1001973d
xor ecx, ecx
push 0xfffffffffffffffc
pop eax
mov dword [esp + 0x238], eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], eax
mov dword [esp + 0x244], eax
mov dword [esp + 0x24], 0xfffffff7
mov dword [esp + 0x28], 0xe731
mov dword [esp + 0x24], 0x4d2570d9
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, edi
setg cl
sub ecx, 0xd72b90f9
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
dec eax
mov esi, dword [esp + 0xac]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x5e17ca00
mov eax, dword [esp + 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0xac]
setle cl
xor edx, edx
mov dword [esi + 4], ecx
mov eax, dword [eax]
mov dword [esp + 0x240], eax
mov dword [esp + 0x24], eax
mov eax, dword [esi + 4]
inc eax
mov dword [esp + 0x238], 0xfffffffe
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
add eax, 0xffff95ca
add eax, ecx
cmp eax, 0xcdab
mov eax, dword [esp + 0xc]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
push dword [esp + 0xac]
mov dword [esp + 0x28], ecx
call fcn.10058737
mov edx, dword [esp + 0x3c]
pop ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
call fcn.10047b02
mov edi, eax
mov dword [esp + 0xc], 0xfffffff6
xor edx, edx
mov dword [esp + 0x1f4], edi
mov dword [esp + 0x1c], ebx
inc edx
jmp 0x10049c7d
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x34], 7
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x10049c6d
mov dword [esp + 0xc], ebx
jmp 0x10049c9d
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x34]
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x34], ecx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jle 0x10049c89
cmp dword [esp + 0x34], ebx
je 0x10049cc0
mov eax, dword [esp + 0x34]
mov ecx, 0xe1b1b552
cmp ecx, eax
mov esi, edx
sbb eax, eax
neg eax
cmp eax, dword [esp + 0x34]
jl 0x10049cc2
mov esi, ebx
mov eax, dword [esp + 0x34]
xor edx, edx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xc]
add ecx, 9
cmp eax, ecx
mov eax, dword [esp + 0x34]
setne dl
xor ecx, ecx
cmp esi, eax
setle cl
add edx, ecx
je 0x10049d15
push 3
mov dword [esp + 0x10], ebx
pop eax
jmp 0x10049d0d
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049d09
push ebx
call dword [sym.imp.KERNEL32.dll_ClearCommBreak]
push 3
pop eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], eax
jle 0x10049cf4
jmp 0x10049d3e
mov dword [esp + 0x28], 0xffffffff
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10049d3e
push ebx
push 0x840
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
lea eax, [esp + 0xf0]
push eax
call fcn.1004a0a8
mov dword [eax], edi
xor edi, edi
inc edi
push 3
pop ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0x6d39c7c6
mov dword [esp + 0x38], 0x42b9
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0xc], 5
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], ecx
jge 0x10049d9d
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x1e4], 1
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ecx
jl 0x10049d81
xor edi, edi
inc edi
mov eax, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp eax, 0x38d9
mov eax, dword [esp + 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x14]
jne 0x10049dd6
cmp dword [esp + 0x18], ebx
jne 0x10049ddc
mov dword [esp + 0x28], ebx
mov edi, ebx
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp edi, eax
sete cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, eax
setle dl
sub edx, dword [esp + 0x18]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0xc], edx
mov dword [esp + 0xc], ebx
jmp 0x10049e5e
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x1e4]
mov eax, dword [esp + 0xc]
cmp dword [esp + eax*4 + 0x1e4], ebx
je 0x10049e3c
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x1e4]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1e4], ecx
mov dword [esp + 0x28], ecx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x10049e15
mov eax, dword [ebp + 8]
lea esi, [esp + 0x1f4]
mov ecx, dword [esp + 0x36c]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret