Function at 0x1000d50c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100730f4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a0
push ebx
push esi
push edi
xor edi, edi
mov dword [esp + 0x14c], ecx
inc edi
mov dword [esp + 0x120], edx
mov dword [esp + 0x24], edi
lea ecx, [esp + 0xbc]
mov dword [esp + 0x18], 0x355fff83
mov dword [esp + 0x14], 0x7af2c9a1
mov dword [esp + 0x2c], 0xf15cc7c4
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x2c], 0x31ea062
mov dword [esp + 0x2c], 0xc6dd3ed2
mov dword [esp + 0x2c], 0xfffffffa
push 4
call fcn.10013d2b
xor ebx, ebx
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1c], ebx
jmp 0x1000d5b0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xbc]
mov dword [eax + ecx*4], 0x7f4a1d2d
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x1000d59a
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
neg edx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
sbb edx, edx
mov eax, dword [esp + 0x18]
xor ecx, ecx
neg edx
cmp edx, edi
sete cl
xor edx, edx
cmp ecx, eax
setne dl
xor ecx, ecx
imul edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp edx, eax
setle cl
xor edx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
add ecx, 0x74ca
cmp ecx, eax
mov eax, dword [esp + 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x18]
setg cl
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
setle cl
xor edx, edx
cmp ecx, 0xffffffff
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, 0x58aae07e
je 0x1000d669
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], bl
je 0x1000d6e3
push ebx
push 0x26c5
push 0x1272
push 0x14f1
call dword [sym.imp.USER32.dll_SetDlgItemInt]
jmp 0x1000d6e3
mov dword [esp + 0x2c], 0xfffffffe
lea ecx, [esp + 0x138]
push 2
call fcn.10013d2b
mov dword [esp + 0x14], ebx
jmp 0x1000d698
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x144], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x1000d685
mov dword [esp + 0x14], ebx
jmp 0x1000d6b6
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x138]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1000d6a4
mov eax, dword [esp + 0x138]
push eax
inc dword [eax + 4]
call fcn.10058737
pop ecx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x140], ebx
or dword [esp + 0x1b4], 0xffffffff
cmp dword [esp + 0xbc], ebx
je 0x1000d716
push dword [esp + 0xbc]
call fcn.10058737
pop ecx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x18], 3
lea ecx, [esp + 0xd4]
push 4
call fcn.10013d2b
mov dword [esp + 0x1b4], edi
lea ecx, [esp + 0x124]
mov dword [esp + 0x28], 0x1e6e2bf
mov dword [esp + 0x1c], 0x8cf5a8
mov dword [esp + 0x1c], ebx
push 4
call fcn.10013d2b
push 4
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1000d770
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xd4]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1000d75e
mov dword [esp + 0x10], ebx
jmp 0x1000d78b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x19c], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1000d77c
mov dword [esp + 0x10], ebx
jmp 0x1000d7ae
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x124]
mov dword [eax + ecx*4], 0x9c7c6f1f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1000d798
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x1000d7c6
push ebx
call dword [sym.imp.USER32.dll_CreateIconIndirect]
mov ecx, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x18]
add ecx, 0xa1fa
cmp eax, ecx
mov eax, dword [esp + 0xd4]
setne dl
xor ecx, ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x18]
cmp eax, edx
mov eax, dword [esp + 0x19c]
setg cl
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x28]
cmp ecx, eax
sete dl
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
sub eax, 0x60d2f38d
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
push ecx
mov dword [ecx + 4], eax
call fcn.10058737
or dword [esp + 0x1b8], 0xffffffff
pop ecx
push dword [esp + 0xd4]
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
call fcn.10058737
pop ecx
push 4
lea ecx, [esp + 0xac]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
call fcn.10013d2b
mov dword [esp + 0x1b4], 2
lea ecx, [esp + 0x84]
mov dword [esp + 0x2c], 0xfffffff7
push 3
call fcn.10013d2b
mov byte [esp + 0x1b4], 3
mov dword [esp + 0x14], 0xd5d7
mov dword [esp + 0x2c], 0x2ad015b0
mov dword [esp + 0x30], edi
mov dword [esp + 0x24], 0x3ebe1552
mov dword [esp + 0x28], 0x2580
cmp dword [esp + 0x28], 0xb3c
jge 0x1000da2f
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x40]
push eax
push 0x1000b254
call fcn.1005821b
add esp, 0xc
lea ecx, [esp + 0x90]
push dword [esp + 0x3c]
call fcn.10013d2b
mov byte [esp + 0x1b4], 4
lea ecx, [esp + 0xf8]
push dword [esp + 0x3c]
call fcn.10013d2b
mov byte [esp + 0x1b4], 5
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x90]
test eax, eax
jle 0x1000d951
mov esi, edi
mov edi, ebx
push esi
push 0x1000b248
call fcn.1005821b
mov eax, dword [esp + 0x44]
inc edi
pop ecx
add esi, 4
pop ecx
cmp edi, eax
jl 0x1000d92f
mov edi, dword [esp + 0x90]
test eax, eax
mov esi, dword [esp + 0xf8]
jle 0x1000d983
mov edi, esi
mov esi, ebx
push edi
push 0x1000b248
call fcn.1005821b
inc esi
add edi, 4
pop ecx
pop ecx
cmp esi, dword [esp + 0x3c]
jl 0x1000d95e
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0x90]
push dword [esp + 0x94]
push edi
call fcn.10018497
push dword [esp + 0x104]
push esi
call fcn.10018497
mov ecx, dword [esp + 0x4c]
add esp, 0x10
mov eax, ebx
dec ecx
mov edx, ebx
mov dword [esp + 0x18], eax
cmp dword [esp + 0x3c], eax
jle 0x1000d9d7
test ecx, ecx
js 0x1000d9d7
mov eax, dword [esi + ecx*4]
add eax, dword [edi + edx*4]
cmp eax, dword [esp + 0x130]
mov eax, dword [esp + 0x18]
jl 0x1000d9d0
dec ecx
inc eax
mov dword [esp + 0x18], eax
inc edx
cmp edx, dword [esp + 0x3c]
jl 0x1000d9b3
push eax
push 0x1000b25c
call fcn.100585c5
pop ecx
pop ecx
test esi, esi
je 0x1000da04
push esi
call fcn.10058737
pop ecx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov byte [esp + 0x1b4], 3
test edi, edi
je 0x1000da2c
push edi
call fcn.10058737
pop ecx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
xor edi, edi
inc edi
mov dword [esp + 0x18], 0xfffffffb
lea ecx, [esp + 0xc8]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], 0x3c6e85a6
mov dword [esp + 0x28], 0xffffffff
push edi
call fcn.10013d2b
mov dword [esp + 0x10], ebx
jmp 0x1000da74
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x84]
mov dword [eax + ecx*4], 0x315362d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1000da5e
push 2
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1000da94
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x74], 0xbefc7127
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1000da84
mov dword [esp + 0x10], ebx
jmp 0x1000dab3
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc8]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1000daa0
mov dword [esp + 0x10], ebx
jmp 0x1000dace
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x16c], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1000dabf
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp eax, edi
mov eax, dword [esp + 0x84]
push 0
setge cl
mov dword [esp + 0x78], ecx
or dword [eax + 4], 0xffffffff
mov dword [eax], edi
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
sub eax, 0xe0bb
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
sub eax, 0xb5b2
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x34]
sub ecx, eax
mov eax, dword [esp + 0xcc]
mov dword [eax], ecx
mov eax, dword [esp + 0x18]
pop ecx
setne cl
add eax, ecx
xor ecx, ecx
imul eax, eax, 0x9862
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x1c]
cmp eax, 0x6635
mov eax, dword [esp + 0x78]
setge cl
add eax, ecx
jne 0x1000db77
mov eax, dword [esp + 0x84]
mov edx, ebx
cmp dword [eax], ebx
je 0x1000db79
mov edx, edi
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x78]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [esp + 0x24]
setg dl
mov dword [esp + 0x28], edx
xor edx, edx
cmp dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
push dword [esp + 0xc8]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [esp + 0x7c], ecx
call fcn.10058737
pop ecx
mov byte [esp + 0x1b4], 2
push dword [esp + 0x84]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
call fcn.10058737
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x34], 0x3631e19e
pop ecx
mov dword [esp + 0x1c], ebx
jmp 0x1000dc19
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x44], 0xfffffff7
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jl 0x1000dc09
mov dword [esp + 0x44], ebx
jmp 0x1000dcd7
mov dword [esp + 0x18], 0x3b31
mov dword [esp + 0x28], 0xea964a90
mov dword [esp + 0x38], 5
mov dword [esp + 0x1c], ebx
jmp 0x1000dc59
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x190], 0x787d6364
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x1000dc46
xor edx, edx
mov dword [esp + 0x30], 0x14a9bacd
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, 0xdf63
setne al
xor edx, edx
lea ecx, [eax - 1]
mov eax, dword [esp + 0x28]
cmp ecx, eax
mov eax, dword [esp + 0x18]
setne dl
xor ecx, ecx
cmp edx, 0x2ee6
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x38]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [esp + 0x18]
mov dword [esp + 0x190], ecx
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x1000dcd3
push 0x10d8
call dword [sym.imp.KERNEL32.dll_SetLastError]
dec dword [esp + 0x44]
cmp dword [esp + 0x44], 0xfffffff1
je 0x1000dc28
push 0xfffffffffffffff6
mov dword [esp + 0x38], ebx
pop esi
jmp 0x1000dcfa
mov eax, dword [esp + 0x34]
mov dword [esp + eax*4 + 0x150], esi
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 3
jl 0x1000dceb
push dword [esp + 0x144]
movdqa xmm0, xmmword [0x1000b8c0]
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x188]
mov dword [esp + 0x50], ebx
push eax
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], ebx
movdqu xmmword [esp + 0x190], xmm0
mov dword [esp + 0x60], ebx
call fcn.1001973d
mov byte [esp + 0x1b4], 6
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], 3
cmp dword [esp + 0x14], ebx
jl 0x1000e141
mov eax, 0x9855eec8
mov dword [esp + 0x24], 0xc8a6b950
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
cmp dword [ecx + eax*4], ebx
jne 0x1000e145
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x1000ddc0
push 0x871
push 0x9bc
push 0xc72
push ebx
call dword [sym.imp.USER32.dll_GetMessageA]
mov dword [esp + 0x24], 3
cmp dword [esp + 0x24], ebx
jl 0x1000e132
mov dword [esp + 0x10], 0xfa5fef9d
mov dword [esp + 0x30], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x10], ebx
jmp 0x1000ddf8
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x6c], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1000dde8
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 3
jg 0x1000deac
mov dword [esp + 0x28], 8
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
cmp dword [eax + ecx*4], ebx
jne 0x1000de2a
mov ecx, ebx
cmp dword [esp + 0x1c], ebx
je 0x1000de2c
mov ecx, edi
mov edx, dword [esp + 0x14]
xor eax, eax
cmp ecx, 0xf340
push 0
setl al
imul ecx, eax, 0xa955
mov eax, dword [esp + 0x4c]
cmp ecx, dword [eax + edx*4]
pop ecx
setle cl
mov dword [esp + 0x11c], ecx
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], eax
xor eax, eax
cmp ecx, 1
push 1
setge al
xor ecx, ecx
test eax, eax
mov eax, dword [esp + 0x2c]
sets cl
sub eax, ecx
mov ecx, dword [esp + 0x4c]
cmp eax, 0xffb91e60
sbb eax, eax
xor edx, edx
neg eax
cmp dword [ecx + esi*4], eax
mov eax, dword [esp + 0x3c]
setge dl
imul edx, dword [ecx + edi*4]
pop edi
mov dword [ecx + eax*4], edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jle 0x1000de0d
mov dword [esp + 0x1c], ebx
jmp 0x1000e11d
push 3
lea ecx, [esp + 0xf0]
call fcn.10013d2b
mov byte [esp + 0x1b4], 7
push 3
mov dword [esp + 0x2c], 2
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1000deee
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xec]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1000dedc
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], ebx
jl 0x1000e000
mov dword [esp + 0x2c], 0x4801465e
mov dword [esp + 0x2c], 8
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x18], ebx
jmp 0x1000df33
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x174], 0xfffffff8
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x1000df20
mov dword [esp + 0x28], 0x1f8e
cmp dword [esp + 0x28], 0xd62
jge 0x1000dfef
lea eax, [esp + 0x7c]
push eax
push ecx
lea eax, [esp + 0x88]
push eax
push ecx
lea eax, [esp + 0x78]
push eax
push ecx
lea eax, [esp + 0x74]
mov ecx, 0x10663ef0
push eax
call fcn.100135b8
pop ecx
mov ecx, eax
call fcn.100135b8
pop ecx
mov ecx, eax
call fcn.100135b8
pop ecx
mov ecx, eax
call fcn.100135b8
mov eax, dword [esp + 0x5c]
mov esi, ebx
test eax, eax
je 0x1000dfda
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
test ecx, ecx
je 0x1000dfb0
test edx, edx
je 0x1000dfb0
add esi, 0x72
dec ecx
dec edx
dec eax
jne 0x1000dfa0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], edx
test eax, eax
je 0x1000dfda
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x1000dfd2
add esi, 0x20
dec ecx
dec eax
jne 0x1000dfc7
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], ecx
push esi
mov ecx, 0x10663e38
call fcn.100139dd
push eax
call fcn.100184bb
pop ecx
push 3
pop edx
dec dword [esp + 0x17c]
dec dword [esp + 0x10]
jns 0x1000df02
mov eax, dword [esp + 0x48]
xor edx, edx
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x110]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
sub eax, 4
cmp eax, dword [ecx + esi*4]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x38]
setle dl
xor ecx, ecx
cmp dword [eax + edi*4], edx
setle cl
xor edx, edx
sub ecx, 9
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x10]
imul ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
cmp ecx, dword [eax + esi*4]
mov ecx, dword [esp + 0x18]
setl dl
imul edx, dword [eax + ecx*4]
test edx, edx
jne 0x1000e098
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
cmp dword [eax + ecx*4], ebx
jne 0x1000e098
xor edi, edi
mov edx, ebx
inc edi
jmp 0x1000e09d
xor edi, edi
inc edi
mov edx, edi
mov eax, dword [esp + 0x11c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x11c]
setg cl
sub ecx, eax
je 0x1000e0be
mov ecx, edi
cmp dword [esp + 0x6c], ebx
jne 0x1000e0c0
mov ecx, ebx
mov dword [esp + 0x11c], ecx
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x48]
mov eax, dword [edx + eax*4]
imul eax, ecx
xor ecx, ecx
cmp eax, dword [edx + esi*4]
setg cl
mov dword [esp + 0x28], ecx
mov byte [esp + 0x1b4], 6
cmp dword [esp + 0xec], 0
je 0x1000e119
push dword [esp + 0xec]
call fcn.10058737
pop ecx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jle 0x1000deb5
dec dword [esp + 0x24]
jns 0x1000ddd2
dec dword [esp + 0x14]
mov eax, 0x9855eec8
jns 0x1000dd66
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x1b4], 2
test ecx, ecx
je 0x1000e164
push ecx
call fcn.10058737
pop ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
lea edx, [esp + 0xa8]
lea ecx, [esp + 0x34]
call fcn.1000d055
push 2
lea ecx, [esp + 0xa0]
call fcn.10013d2b
mov byte [esp + 0x1b4], 8
mov dword [esp + 0x14], ebx
jmp 0x1000e1a6
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x9c]
mov dword [eax + ecx*4], 6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1000e190
mov dword [esp + 0x14], ebx
jmp 0x1000e1c3
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x58], 0xfffffff8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x1000e1b3
mov dword [esp + 0x58], edi
cmp dword [esp + 0x58], ebx
jl 0x1000e338
push 2
lea ecx, [esp + 0x108]
call fcn.10013d2b
mov dword [esp + 0x18], ebx
jmp 0x1000e201
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x104]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1000e1eb
mov esi, dword [esp + 0x104]
mov dword [esi + 4], edi
mov dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x1c], ebx
jl 0x1000e2e0
mov dword [esp + 0x14], 0x42477066
mov dword [esp + 0x18], ebx
jmp 0x1000e246
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x60], 0xf2c36544
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1000e236
mov dword [esp + 0x60], ebx
jmp 0x1000e280
mov dword [esp + 0x18], ebx
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], ebx
jl 0x1000e27c
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x9c]
cmp dword [eax + ecx*4], ebx
jne 0x1000e27c
cmp dword [esi + 4], ebx
jne 0x1000e27c
dec dword [esp + 0x18]
jns 0x1000e261
inc dword [esp + 0x60]
cmp dword [esp + 0x60], edi
jle 0x1000e253
mov dword [esp + 0x14], edi
cmp dword [esp + 0x14], ebx
jl 0x1000e2d6
mov dword [esp + 0x18], 0xf0488f4f
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x18], ebx
jmp 0x1000e2ca
mov dword [esp + 0x24], 3
mov dword [esp + 0x24], edi
cmp dword [esp + 0x24], ebx
jl 0x1000e2c6
mov dword [esp + 0x28], 0x6b79df94
dec dword [esp + 0x24]
jns 0x1000e2b8
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jle 0x1000e2a6
dec dword [esp + 0x14]
jns 0x1000e290
dec dword [esp + 0x1c]
jns 0x1000e228
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x1000e303
push ebx
push 0x2103
push ebx
push 0x38f
push ebx
push 0x255d
call dword [sym.imp.USER32.dll_DrawTextExW]
dec dword [esi + 4]
jns 0x1000e212
push dword [esp + 0x104]
call fcn.10058737
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
dec dword [esp + 0x5c]
pop ecx
jns 0x1000e1d7
mov byte [esp + 0x1b4], 2
cmp dword [esp + 0x9c], 0
je 0x1000e36c
push dword [esp + 0x9c]
call fcn.10058737
pop ecx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x34], ebx
jmp 0x1000e385
mov eax, dword [esp + 0x34]
mov dword [esp + eax*4 + 0xb4], 0x3afc3718
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 2
jl 0x1000e372
lea ecx, [esp + 0x43]
mov byte [esp + 0x43], bl
call fcn.1000d4f5
mov esi, dword [esp + 0xa8]
mov dword [esi + 0xc], 2
mov dword [esp + 0x14], 0xd86e52d8
mov dword [esp + 0x30], 0xb416c011
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb8], eax
mov dword [esp + 0x14], ebx
jmp 0x1000e597
mov dword [esp + 0x10], 0x1d847576
xor edx, edx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp ecx, eax
mov eax, dword [esp + 0xb8]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setle cl
imul eax, ecx
mov dword [esp + 0xb8], eax
cmp dword [esp + 0x14], ebx
je 0x1000e467
mov dword [esp + 0x10], 2
cmp dword [esp + 0x10], ebx
jl 0x1000e58b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x150]
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x150], ecx
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x1000e45c
call fcn.1000d503
dec dword [esp + 0x10]
jns 0x1000e436
jmp 0x1000e58b
mov dword [esp + 0x18], 0xe8ee72c9
mov dword [esp + 0x10], ebx
jmp 0x1000e513
mov dword [esp + 0x1c], 0x4daed0f1
mov dword [esp + 0x1c], ebx
jmp 0x1000e504
push 2
lea ecx, [esp + 0xe4]
call fcn.10013d2b
mov dword [esp + 0x18], ebx
jmp 0x1000e4b0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xe0]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1000e49a
mov edx, dword [esp + 0xe0]
mov dword [edx + 4], ebx
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + eax*4 + 0x150]
mov eax, dword [esp + 0x10]
inc dword [edx + 4]
mov dword [esp + eax*4 + 0x154], ecx
cmp dword [edx + 4], edi
jle 0x1000e4c1
push dword [esp + 0xe0]
call fcn.10058737
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
inc dword [esp + 0x20]
pop ecx
cmp dword [esp + 0x1c], 2
jle 0x1000e486
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jle 0x1000e478
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x14]
imul ecx, dword [eax + 8]
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x14]
setl cl
xor edx, edx
imul ecx, ecx, 0xeddd
cmp ecx, eax
setg dl
mov dword [esp + 0x18], edx
cmp dword [esp + 0x18], ebx
je 0x1000e566
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
cmp dword [esp + 0x18], ebx
je 0x1000e577
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xb8]
mov eax, dword [esp + 0x18]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x30], 0xfffffffa
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jle 0x1000e3cb
dec dword [esi + 0xc]
jns 0x1000e3a7
or dword [esp + 0x1b4], 0xffffffff
push dword [esp + 0xa8]
call fcn.10058737
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x160], 0x2c32b96c
pop ecx
mov dword [esp + 0x2c], 0x15a60915
lea ecx, [esp + 0x160]
mov dword [esp + 0x28], 0x91ba8027
mov dword [esp + 0x14], edi
push 0xfffffffffffffffe
mov dword [esp + 0x58], 0xd933bd3e
pop esi
mov dword [esp + 0x38], 0xdb88dcfd
mov dword [esp + 0x2c], 0x2b622b60
mov dword [esp + 0x2c], esi
push edi
call fcn.10013d2b
mov dword [esp + 0x148], esi
mov dword [esp + 0x2c], 0x12393dfe
mov dword [esp + 0x70], 0xc0d2
mov dword [esp + 0x70], ebx
mov dword [esp + 0x134], 0xfffffff9
mov dword [esp + 0x24], 0x348f3bea
mov dword [esp + 0x1c], 0x9bf80b7f
mov dword [esp + 0x10], 6
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], ebx
jmp 0x1000e67e
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x160]
mov dword [eax + ecx*4], 0xde9e5a93
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x1000e668
dec dword [esp + 0x30]
jne 0x1000e696
mov eax, dword [esp + 0x1c]
mov esi, ebx
cmp dword [esp + 0x10], ebx
je 0x1000e698
mov esi, edi
mov eax, dword [esp + 0x160]
mov edx, edi
mov ecx, dword [esp + 0x38]
sub edx, dword [eax]
mov eax, dword [esp + 0x14]
add eax, edx
add ecx, eax
je 0x1000e6b9
mov eax, edi
cmp dword [esp + 0x24], ebx
jne 0x1000e6bb
mov eax, ebx
sub esi, eax
mov eax, 0xfffa
cmp eax, esi
mov eax, dword [esp + 0x134]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 0x52cf
setne al
sub eax, dword [esp + 0x24]
jne 0x1000e6ee
mov eax, dword [esp + 0x148]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x15c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
cmp dword [eax], ebx
jne 0x1000e72a
cmp dword [esp + 0x70], ebx
je 0x1000e72c
mov ebx, edi
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
sub ecx, eax
sub ecx, dword [esp + 0x2c]
push dword [esp + 0x160]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x2c], ecx
call fcn.10058737
mov eax, dword [esp + 0x124]
pop ecx
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, dword [esp + 0x14c]
mov esi, edx
mov edi, eax
call fcn.1000cf2f
mov ecx, dword [esp + 0x1ac]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret