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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1008cd49
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x160
mov dword [esp + 0x6c], edx
xor edx, edx
push ebx
mov dword [esp + 8], 8
mov ebx, ecx
mov dword [esp + 0x14], edx
push esi
mov dword [esp + 0x20], 2
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0xc], edx
jmp 0x1001ae47
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x28], 0xc204e2db
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x1001ae37
mov dword [esp + 0xc], edx
jmp 0x1001ae64
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x4c], 0xadc1094
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x1001ae54
mov edi, dword [sym.imp.GDI32.dll_GetTextExtentExPointA]
mov byte [esp + 0x17], dl
cmp byte [esp + 0x17], dl
je 0x1001ae9b
push edx
push edx
push edx
push 0x1854
push 0x22bf
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
xor edx, edx
mov dword [esp + 0x10], edx
push 0xfffffffffffffff7
pop esi
cmp dword [esp + 0x10], edx
jg 0x1001b0a0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0xc], edx
jmp 0x1001aec9
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x154], esi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001aeba
mov dword [esp + 0xc], edx
jmp 0x1001aee6
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x5c], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x1001aed6
mov dword [esp + 0xc], edx
jmp 0x1001afad
je 0x1001af07
mov eax, dword [esp + 0xc]
cmp dword [esp + eax*4 + 0x28], edx
je 0x1001af07
xor ecx, ecx
inc ecx
jmp 0x1001af09
mov ecx, edx
mov dword [esp + 0x154], ecx
mov eax, dword [esp + 0xc]
mov edx, dword [esp + eax*4 + 0x28]
mov eax, dword [esp + 0xc]
imul edx, dword [esp + eax*4 + 0x28]
mov eax, dword [esp + 0x28]
add eax, ecx
xor ecx, ecx
imul edx, eax
mov eax, dword [esp + 0xc]
cmp edx, 0x19d87263
setne cl
xor ebx, ebx
cmp ecx, eax
setge bl
xor edx, edx
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x28]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x28]
cmp ecx, eax
sete dl
xor eax, eax
cmp ebx, 0xffffffff
setle al
sub eax, 0x86a6
neg eax
sbb eax, eax
inc eax
cmp edx, eax
jne 0x1001af7d
cmp dword [esp + 0x28], 0
je 0x1001af7d
xor edx, edx
inc edx
jmp 0x1001af7f
xor edx, edx
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x4c]
setne cl
xor edx, edx
imul ecx, ecx, 7
cmp ecx, eax
mov eax, dword [esp + 0x4c]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [esp + 0x28], ecx
inc dword [esp + 0xc]
xor edx, edx
cmp dword [esp + 0xc], edx
jle 0x1001aef6
mov dword [esp + 0xc], edx
jmp 0x1001b084
mov dword [esp + 0x18], 0xffffffff
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x28]
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x28], ecx
mov dword [esp + 0x18], edx
jmp 0x1001b076
mov eax, dword [esp + 0x18]
cmp dword [esp + eax*4 + 0x4c], edx
jne 0x1001aff5
cmp dword [esp + 0x5c], edx
jne 0x1001aff5
mov ecx, edx
jmp 0x1001aff8
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0x9f94
mov ecx, 0xfff6
setg al
dec eax
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
cmp eax, 0xb0b826fb
mov eax, dword [esp + 0x4c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x10]
setl dl
mov eax, dword [esp + eax*4 + 0x5c]
sub eax, edx
imul eax, eax, 0x2214
test eax, eax
je 0x1001b043
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov edx, dword [esp + eax*4 + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x28]
cmp eax, edx
setg cl
xor edx, edx
cmp ecx, 0xfffffff8
jne 0x1001b06b
cmp dword [esp + 0x10], edx
jne 0x1001b06b
mov eax, edx
jmp 0x1001b06e
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jle 0x1001afe1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jle 0x1001afc0
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jle 0x1001aeac
mov ebx, dword [esp + 0x20]
cmp dword [ebx + 0x10], edx
jne 0x1001b0ac
xor al, al
jmp 0x1001bf66
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x30], 0xf37831e4
mov dword [esp + 0x30], 0x532bb11a
push 0xfffffffffffffff9
mov dword [esp + 0x34], 0x6e52d8cb
mov dword [esp + 0x10], edx
pop ecx
jmp 0x1001b0e4
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x160], ecx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001b0d5
mov dword [esp + 0xc], edx
jmp 0x1001b100
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x90], esi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x1001b0f1
mov dword [esp + 0x20], 0xffffffff
lea ecx, [esp + 0x120]
dec dword [esp + 0x90]
push 3
call fcn.100186a3
xor edx, edx
mov dword [esp + 0x174], edx
mov dword [esp + 0xc], 0x62d5e48d
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], edx
jmp 0x1001b35d
mov dword [esp + 0x10], 0xfffffffa
mov dword [esp + 0x24], 3
mov dword [esp + 0x18], edx
jmp 0x1001b168
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x50], 0xba8b35ed
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1001b158
cmp dword [esp + 0x10], edx
je 0x1001b1d3
mov dword [esp + 0x1c], 5
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
cmp eax, 0x959c
setne cl
cmp ecx, 4
jle 0x1001b1a8
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x50]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov byte [esp + 0x17], dl
cmp byte [esp + 0x17], 0
je 0x1001b359
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x1001b357
push 2
lea ecx, [esp + 0x118]
call fcn.100186a3
xor edx, edx
mov dword [esp + 0x30], 8
mov dword [esp + 0x18], edx
jmp 0x1001b207
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x114]
mov dword [eax + ecx*4], 0x49c23edb
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1001b1f1
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x114]
mov dword [esi + 4], eax
test eax, eax
jne 0x1001b2f9
cmp dword [esp + 0x54], edx
jne 0x1001b2f9
mov dword [esp + 0x18], 0x7ba2
mov dword [esp + 0x10], 1
cmp dword [esp + 0x10], edx
jl 0x1001b2d9
mov dword [esp + 0x1c], 0xffffffff
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x114]
cmp dword [eax + ecx*4], edx
je 0x1001b278
mov eax, dword [esp + 0x10]
xor ecx, ecx
inc ecx
mov eax, dword [esp + eax*4 + 0x50]
sub ecx, eax
je 0x1001b278
xor ecx, ecx
inc ecx
jmp 0x1001b27a
mov ecx, edx
mov dword [esp + 0x1c], 0xfffffffd
xor edx, edx
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc]
sub ecx, eax
add ecx, dword [esp + 0x18]
cmp ecx, dword [esi + 4]
mov eax, dword [esp + 0x1c]
setge dl
xor ecx, ecx
cmp eax, edx
setge cl
xor edx, edx
cmp ecx, dword [esp + 0x54]
jl 0x1001b2bb
cmp dword [esp + 0x18], edx
je 0x1001b2bb
xor ecx, ecx
inc ecx
jmp 0x1001b2bd
mov ecx, edx
mov eax, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x50], ecx
inc dword [esp + 0x24]
dec dword [esp + 0x10]
jns 0x1001b24c
mov byte [esp + 0x17], dl
cmp byte [esp + 0x17], 0
je 0x1001b34b
push edx
push 0x19d3
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
jmp 0x1001b34b
mov byte [esp + 0x17], dl
cmp byte [esp + 0x17], dl
je 0x1001b323
push edx
push edx
push edx
push 0x1854
push 0x22bf
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
xor edx, edx
mov byte [esp + 0x17], dl
cmp byte [esp + 0x17], 0
je 0x1001b34b
push edx
push 0x1ede
push 0xb8d
push edx
push 0x160c
push 0xd51
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
lea ecx, [esp + 0x114]
call fcn.10018ed2
xor edx, edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x18
jne 0x1001b142
mov dword [esp + 0x48], 0xffffffff
xor ecx, ecx
mov dword [esp + 0x10], 0x96dd1e1e
inc ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], edx
jmp 0x1001b394
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x94], ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x1001b385
mov dword [esp + 0x10], edx
jmp 0x1001b3c6
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x94], edx
jne 0x1001b3bc
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x94], edx
mov eax, edx
je 0x1001b3be
mov eax, ecx
mov dword [esp + 0x20], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jle 0x1001b3a0
mov esi, dword [sym.imp.USER32.dll_GetParent]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [esp + 0x17], dl
cmp byte [esp + 0x17], 0
je 0x1001b3e8
call edi
push eax
call esi
mov dword [esp + 0x64], 4
lea ecx, [esp + 0xd0]
push 3
call fcn.100186a3
xor edx, edx
inc edx
xor ecx, ecx
mov byte [esp + 0x174], dl
mov dword [esp + 0x10], 0x96dd1e1e
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], ecx
jmp 0x1001b42b
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x84], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x1001b41c
mov dword [esp + 0x10], ecx
jmp 0x1001b45d
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x84], ecx
jne 0x1001b453
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x84], ecx
mov eax, ecx
je 0x1001b455
mov eax, edx
mov dword [esp + 0x20], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jle 0x1001b437
mov byte [esp + 0x17], cl
cmp byte [esp + 0x17], cl
je 0x1001b477
call edi
push eax
call esi
xor edx, edx
xor ecx, ecx
inc edx
lea eax, [esp + 0x120]
mov dword [esp + 0x98], 0x9a83
push eax
lea eax, [esp + 0x44]
mov dword [esp + 0x114], edx
push eax
push ecx
call fcn.1001e271
add esp, 0xc
mov dword [esp + 0x40], 0
jmp 0x1001b4bf
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0xd0]
mov dword [eax + ecx*4], 0xc47d1afd
inc dword [esp + 0x40]
cmp dword [esp + 0x40], 3
jl 0x1001b4a9
mov dword [esp + 0x48], 2
cmp dword [esp + 0x48], 0
jl 0x1001b763
mov dword [esp + 0xcc], 0xc6338430
lea ecx, [esp + 0xc0]
mov dword [esp + 0x60], 0xb2e4145c
mov dword [esp + 0x18], 8
push 3
call fcn.100186a3
mov byte [esp + 0x174], 2
mov dword [esp + 0x34], 0x920a6ff6
mov dword [esp + 0xdc], 0x9e96
mov dword [esp + 0x18], 0
jmp 0x1001b53d
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc0]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1001b527
mov byte [esp + 0x17], 0
cmp byte [esp + 0x17], 0
je 0x1001b564
push 0
push 0x72c0
push 0x7afb
call fcn.1001ec88
add esp, 0xc
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x4c]
push eax
push 0x77a1
lea eax, [esp + 0x12c]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0xe8]
push eax
push 0x45d6
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0xf0]
push eax
push 0
call fcn.1001c235
add esp, 0x2c
mov dword [esp + 0x34], 0
jmp 0x1001b73a
mov dword [esp + 0x88], 0xfffffffa
mov dword [esp + 0x80], 5
mov dword [esp + 0x8c], 0x98e5
mov dword [esp + 0xbc], 0x79c0213a
mov dword [esp + 0xfc], 0xc725ea9b
mov dword [esp + 0xb8], 0x2d068568
mov dword [esp + 0x18], 0
jmp 0x1001b6ad
lea eax, [esp + 0xdc]
mov dword [esp + 0x7c], 0
push eax
lea eax, [esp + 0x110]
mov dword [esp + 0xf0], 1
push eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x114], 0
push eax
lea eax, [esp + 0xcc]
inc dword [esp + 0x88]
push eax
lea eax, [esp + 0xfc]
push eax
push 0x1937
push 0x56cc
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x64]
push eax
push 0
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.1001bffb
add esp, 0x40
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jle 0x1001b60b
push 0x5303
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x68]
push eax
push 0x6b21
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x78]
push eax
push 0
lea eax, [esp + 0xec]
push eax
lea eax, [esp + 0x140]
push eax
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x134]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.1001f591
add esp, 0x44
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 2
jle 0x1001b5bc
lea ecx, [esp + 0xc0]
mov byte [esp + 0x174], 1
call fcn.10018ed2
dec dword [esp + 0x48]
jns 0x1001b4d9
lea ecx, [esp + 0xd0]
call fcn.10018ed2
or dword [esp + 0x174], 0xffffffff
lea ecx, [esp + 0x120]
call fcn.10018ed2
lea eax, [esp + 0x78]
push eax
push 0
call fcn.1001bfb9
pop ecx
pop ecx
mov dword [esp + 0x18], 6
lea ecx, [esp + 0x100]
push 3
call fcn.100186a3
push 3
pop eax
xor edx, edx
mov dword [esp + 0x174], eax
mov dword [esp + 0x18], edx
cmp dword [esp + 0x18], eax
jge 0x1001b7d6
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x100]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1001b7bd
mov dword [esp + 0x18], edx
jmp 0x1001b99d
mov dword [esp + 0x10], 0x75286e87
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0xf
jl 0x1001b999
mov esi, dword [esp + 0x100]
push 4
lea ecx, [esp + 0xf4]
call fcn.100186a3
xor edx, edx
mov byte [esp + 0x174], 4
mov dword [esp + 0xc], edx
jmp 0x1001b831
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xf0]
mov dword [eax + ecx*4], 0xa9869ec4
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x1001b81b
mov dword [esp + 0xc], edx
jmp 0x1001b851
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x14c], 0x12dc
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001b83e
mov eax, dword [esp + 0xf0]
mov dword [eax], edx
push 2
lea ecx, [esp + 0xe4]
call fcn.100186a3
push 1
lea ecx, [esp + 0x13c]
mov byte [esp + 0x178], 5
call fcn.100186a3
xor edx, edx
mov dword [esp + 0xc], edx
jmp 0x1001b89f
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xe0]
mov dword [eax + ecx*4], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001b88d
mov dword [esp + 0xc], edx
jmp 0x1001b8c2
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x138]
mov dword [eax + ecx*4], 0x84abf0a6
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x1001b8ac
mov eax, dword [esp + 0xe0]
mov dword [eax], 2
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x20], 0xc47a
mov ecx, dword [eax]
mov eax, dword [esp + 0x100]
cmp dword [eax + ecx*4], edx
je 0x1001b919
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax]
mov eax, dword [esp + 0x100]
mov dword [eax + ecx*4], ecx
cmp dword [esp + 0x18], 0xfffa
sbb ecx, ecx
neg ecx
imul ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x138]
mov dword [eax], ecx
mov eax, dword [esp + 0xe0]
dec dword [eax]
jns 0x1001b8d6
or dword [esi + 8], 0xffffffff
lea ecx, [esp + 0x138]
call fcn.10018ed2
lea ecx, [esp + 0xe0]
mov byte [esp + 0x174], 4
call fcn.10018ed2
mov eax, dword [esp + 0xf0]
inc dword [eax]
cmp dword [eax], 2
jle 0x1001b861
lea ecx, [esp + 0xf0]
mov byte [esp + 0x174], 3
call fcn.10018ed2
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0xf
jge 0x1001b7fd
xor edx, edx
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe2
jg 0x1001b7df
mov byte [esp + 0x17], dl
cmp byte [esp + 0x17], 0
je 0x1001b9ba
push edx
call dword [sym.imp.USER32.dll_SetCursor]
or dword [esp + 0x174], 0xffffffff
lea ecx, [esp + 0x100]
call fcn.10018ed2
cmp dword [ebx + 0x14], 0x10
jb 0x1001b9d8
mov ecx, dword [ebx]
jmp 0x1001b9da
mov ecx, ebx
cmp dword [ebx + 0x14], 0x10
mov dword [esp + 0x58], ecx
jb 0x1001b9e8
mov edx, dword [ebx]
jmp 0x1001b9ea
mov edx, ebx
mov eax, dword [ebx + 0x10]
add eax, edx
cmp ecx, eax
je 0x1001bcf7
mov dword [esp + 0x10], 0xc70bb743
xor edx, edx
inc edx
xor ecx, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], 0x67e307b5
mov dword [esp + 0x2c], 4
mov dword [esp + 0x20], 0xf5ae
mov dword [esp + 0x24], 0x65f
mov dword [esp + 0x1c], 0xfffffffa
mov dword [esp + 0xc], ecx
jmp 0x1001ba45
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x148], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001ba36
mov dword [esp + 0xc], ecx
jmp 0x1001ba61
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x70], 0xe7ed6f18
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001ba51
mov dword [esp + 0xc], ecx
jmp 0x1001ba7d
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x74], 0xe9ab
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001ba6d
mov dword [esp + 0xc], ecx
jmp 0x1001ba99
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x6c], 0x8158fb5c
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001ba89
mov dword [esp + 0x10], ecx
jmp 0x1001badc
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x30], 0xec4279c4
mov dword [esp + 0x18], ecx
jmp 0x1001bace
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x144], 9
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x1001babb
inc dword [esp + 0x74]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jle 0x1001baa5
mov eax, dword [esp + 0x20]
xor edx, edx
inc dword [esp + 0x6c]
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x2c]
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setle dl
lea ecx, [edx + esi]
xor edx, edx
cmp ecx, eax
setle dl
mov dword [esp + 0x70], edx
test edx, edx
je 0x1001bb17
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x58]
mov al, byte [eax]
cmp al, 0x30
jl 0x1001bce4
cmp al, 0x39
jg 0x1001bce4
mov dword [esp + 0x10], 0xa4f833fc
mov dword [esp + 0xc], 0x4a1cf041
mov dword [esp + 0x2c], 5
mov dword [esp + 0x18], 0
jmp 0x1001bb7a
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xa8], 6
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1001bb67
mov dword [esp + 0x10], 0
jmp 0x1001bc62
mov dword [esp + 0x68], 0x74e80031
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0xa8], 0x64caf14c
jg 0x1001bc01
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0xa8]
neg eax
cmp eax, 0x57f6cc9c
setge cl
xor eax, eax
cmp ecx, 7
setne al
xor ecx, ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0xa8]
cmp eax, 0xfd5009cb
mov eax, 0xa186f17a
setne cl
sub eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0xa8]
mov eax, dword [esp + 0x68]
sub eax, 0xd1f0
je 0x1001bc3f
push 0x6018
lea edx, [esp + 0x6c]
xor cl, cl
call fcn.1001a5f9
mov byte [esp + 0x1b], 0
cmp byte [esp + 0x1b], 0
pop ecx
je 0x1001bc5e
push 0x7bf9
push 0
push 0x266d
call fcn.1001e7fa
add esp, 0xc
jmp 0x1001bc5e
mov dword [esp + 0xc], 0
jmp 0x1001bc57
cmp dword [esp + 0xac], 0
jne 0x1001bc5e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x1001bc49
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x1001bb8e
mov dword [esp + 0xc], 0xfffffffd
jmp 0x1001bcb5
lea eax, [esp + 0x3b]
mov dword [esp + 0x24], 0xf451
mov byte [esp + 0x3b], 0
mov edx, 0x69fa
push eax
mov cl, 1
call fcn.1001a5f9
mov eax, dword [esp + 0xac]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], 0xa1dd7933
pop ecx
sbb eax, eax
neg eax
mov dword [esp + 0x2c], eax
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff1
jge 0x1001bc77
push 0x13d4
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x60]
push eax
push 0
push 0x3267
call fcn.1001c3ed
mov ecx, dword [esp + 0x6c]
add esp, 0x14
inc ecx
jmp 0x1001b9da
lea eax, [esp + 0x78]
push 0
push eax
call fcn.1001e914
pop ecx
pop ecx
jmp 0x1001b0a5
push 4
lea ecx, [esp + 0x130]
call fcn.100186a3
push 1
lea ecx, [esp + 0xa0]
mov dword [esp + 0x178], 6
call fcn.100186a3
mov byte [esp + 0x174], 7
xor ebx, ebx
mov dword [esp + 0xb4], 3
mov dword [esp + 0x10], ebx
jmp 0x1001bd4f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x12c]
mov dword [eax + ecx*4], 0x7571
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001bd39
mov dword [esp + 0x10], ebx
jmp 0x1001bd72
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x9c]
mov dword [eax + ecx*4], 0x1febaeef
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1001bd5c
mov eax, dword [esp + 0x9c]
mov dword [eax], 3
jmp 0x1001be04
mov dword [esp + 0x44], 0xd37ad435
mov dword [esp + 0x44], ebx
jmp 0x1001bdc9
mov dword [esp + 0x3c], 0x4f147909
mov dword [esp + 0x3c], ebx
jmp 0x1001bdbe
lea eax, [esp + 0x12c]
push eax
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.1001e177
add esp, 0xc
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], 4
jl 0x1001bda4
inc dword [esp + 0x44]
cmp dword [esp + 0x44], 3
jle 0x1001bd96
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x134]
push eax
lea eax, [esp + 0xa8]
push eax
push 0x2524
push ebx
call fcn.1002032d
mov eax, dword [esp + 0xb4]
add esp, 0x18
dec dword [eax]
mov eax, dword [esp + 0x9c]
cmp dword [eax], ebx
jge 0x1001bd88
lea ecx, [esp + 0x9c]
call fcn.10018ed2
lea ecx, [esp + 0x12c]
call fcn.10018ed2
mov dword [esp + 0x10], ebx
xor edx, edx
mov dword [esp + 0xc], 0xffffffff
push 3
pop eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 2
mov dword [esp + 0x2c], 0x8905b8b7
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], 0x9f8d19c9
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setne dl
push 0xfffffffffffffff9
pop ecx
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edx
setg cl
sub ecx, 0x1e19
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x10]
imul eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], 0x1d
jmp 0x1001bf59
mov dword [esp + 0x10], 0x1978e60d
mov dword [esp + 0x2c], 5
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001bee4
call edi
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_SetParent]
mov dword [esp + 0xc], 0xfffffff2
cmp dword [esp + 0xc], 4
jg 0x1001bf55
mov dword [esp + 0x24], 0x3c3d
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
inc edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
cmp eax, edx
mov eax, dword [esp + 0x20]
setle cl
xor edx, edx
imul ecx, ecx, 0xfab8
cmp ecx, eax
mov eax, dword [esp + 0x30]
setle dl
xor ebx, ebx
test edx, edx
setg bl
xor ecx, ecx
cmp ebx, eax
setl cl
mov dword [esp + 0x2c], ecx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jle 0x1001bef3
xor ebx, ebx
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe6
jle 0x1001bebd
mov al, 1
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret