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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100827c5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc0
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x38], edx
push 2
lea ecx, [esp + 0x78]
call fcn.10014aaf
xor ebx, ebx
lea ecx, [esp + 0x8c]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x10], 0x78144ad7
mov dword [esp + 0x20], 0x7cad7d71
push 3
call fcn.10014aaf
push ebx
push 0x5e0a
lea eax, [esp + 0x2c]
mov byte [esp + 0xdc], 1
push eax
lea eax, [esp + 0x80]
mov dword [esp + 0x24], 0xffffffff
push eax
push 0x6d5e
call fcn.1001a988
add esp, 0x14
lea eax, [esp + 0x24]
push 0x197
push eax
push 0x2620
push ebx
lea eax, [esp + 0x9c]
push 0x5b17
push eax
call fcn.100226b1
add esp, 0x18
mov dword [esp + 0x24], ebx
jmp 0x100186d8
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0xbc], 0x8cf1d65f
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x100186c5
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100186f9
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x10]
add edx, dword [eax]
mov eax, dword [esp + 0x74]
dec dword [eax]
cmp edx, ecx
jle 0x10018716
xor edx, edx
inc edx
jmp 0x10018718
mov edx, ebx
cmp dword [esp + 0x20], ebx
jne 0x10018722
mov ecx, ebx
jmp 0x10018725
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x8c]
mov dword [eax], 0xcdf5ef88
mov eax, dword [esp + 0xc0]
dec eax
neg eax
sbb eax, eax
neg eax
add eax, ecx
je 0x10018751
cmp dword [esp + 0x10], ebx
je 0x10018751
xor esi, esi
inc esi
mov eax, esi
jmp 0x10018756
xor esi, esi
mov eax, ebx
inc esi
cmp eax, dword [esp + 0xc4]
jge 0x10018767
mov eax, esi
cmp dword [esp + 0x10], ebx
jne 0x10018769
mov eax, ebx
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0xdd6
lea ecx, [esp + 0x8c]
setge al
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.100152cc
or dword [esp + 0xd4], 0xffffffff
lea ecx, [esp + 0x74]
call fcn.100152cc
cmp dword [edi + 0x10], ebx
jne 0x100187b0
xor al, al
jmp 0x10018d2e
push 2
lea ecx, [esp + 0x84]
call fcn.10014aaf
push esi
lea ecx, [esp + 0x68]
mov dword [esp + 0xd8], 2
call fcn.10014aaf
mov byte [esp + 0xd4], 3
mov dword [esp + 0x20], 0xfffffff6
mov dword [esp + 0x10], ebx
jmp 0x100187ff
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x80]
mov dword [eax + ecx*4], 0xea75c96
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x100187e9
mov dword [esp + 0x10], ebx
jmp 0x1001881f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov dword [eax + ecx*4], 0xf2f4a8b1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1001880c
mov eax, dword [esp + 0x64]
mov dword [eax], ebx
mov ebx, dword [esp + 0x80]
push 1
lea ecx, [esp + 0xa8]
call fcn.10014aaf
mov byte [esp + 0xd4], 4
xor esi, esi
mov dword [esp + 0x20], 0xfffffff6
inc esi
mov dword [esp + 0x1c], 0xe495761b
mov dword [esp + 0x20], 5
mov dword [esp + 0x18], 0
jmp 0x10018884
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xa4]
mov dword [eax + ecx*4], 6
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x1001886e
mov esi, dword [esp + 0x64]
xor ecx, ecx
mov eax, dword [esp + 0x80]
push 0x5047
push 0
mov edx, dword [esi]
cmp edx, 0xffffffff
push 0x772d
setne cl
push 0x78ba
mov dword [eax + edx*4], ecx
xor ecx, ecx
mov eax, dword [esi]
cmp eax, dword [ebx + 4]
setl cl
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0xb4]
mov edx, dword [eax]
test edx, edx
setne cl
xor eax, eax
cmp edx, ecx
setne al
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x74]
sub eax, dword [esi]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x3b]
push eax
push 0x72bc
mov byte [esp + 0x43], 0
call fcn.1001a530
add esp, 0x18
mov byte [esp + 0xd4], 3
lea ecx, [esp + 0xa4]
call fcn.100152cc
inc dword [esi]
cmp dword [esi], 1
jle 0x10018833
lea ecx, [esp + 0x64]
call fcn.100152cc
or dword [esp + 0xd4], 0xffffffff
lea ecx, [esp + 0x80]
call fcn.100152cc
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x98]
xor ebx, ebx
push 3
mov dword [eax], ebx
call fcn.10014aaf
push 0x5fa2
lea eax, [esp + 0xb4]
mov dword [esp + 0xd8], 5
push eax
mov dword [esp + 0x24], 0xfffffffc
lea edx, [esp + 0xa0]
push 0x22a3
xor cl, cl
call fcn.10018027
add esp, 0xc
mov dword [esp + 0x1c], ebx
push 2
pop esi
jmp 0x10018a97
mov dword [esp + 0x10], 0xade2167f
mov dword [esp + 0x10], ebx
jmp 0x10018a67
push 3
lea ecx, [esp + 0x58]
call fcn.10014aaf
push ebx
lea eax, [esp + 0xbc]
mov byte [esp + 0xd8], 6
push eax
lea eax, [esp + 0x5c]
push eax
push 0x2e90
push 0x3c1f
call fcn.10019eb2
mov eax, dword [esp + 0x68]
add esp, 0x14
mov dword [eax + 4], ebx
jmp 0x10018a49
mov dword [esp + 0x30], 0xfffffffd
mov dword [esp + 0x30], esi
cmp dword [esp + 0x30], ebx
jl 0x10018a3e
mov dword [esp + 0x18], 0xae649f6d
mov dword [esp + 0x18], ebx
jmp 0x10018a32
lea eax, [esp + 0x98]
mov dword [esp + 0x70], ebx
push eax
push ebx
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1001a84d
add esp, 0x10
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x10018a0f
dec dword [esp + 0x30]
jns 0x10018a01
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
inc dword [eax + 4]
mov eax, dword [esp + 0x54]
cmp dword [eax + 4], esi
jle 0x100189ef
lea ecx, [esp + 0x54]
mov byte [esp + 0xd4], 5
call fcn.100152cc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x100189b3
mov dword [esp + 0x10], ebx
jmp 0x10018a8d
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018a89
push ebx
call fcn.10019ff8
pop ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x10018a77
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jle 0x100189a2
or dword [esp + 0xd4], 0xffffffff
lea ecx, [esp + 0x98]
call fcn.100152cc
cmp dword [edi + 0x14], 0x10
jb 0x10018abf
mov ecx, dword [edi]
jmp 0x10018ac1
mov ecx, edi
cmp dword [edi + 0x14], 0x10
mov dword [esp + 0x3c], ecx
jb 0x10018acf
mov edx, dword [edi]
jmp 0x10018ad1
mov edx, edi
mov eax, dword [edi + 0x10]
add eax, edx
cmp ecx, eax
je 0x10018ce5
mov al, byte [ecx]
cmp al, 0x30
jl 0x10018b02
cmp al, 0x39
jg 0x10018b02
push ebx
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.1001b3c0
mov ecx, dword [esp + 0x48]
add esp, 0xc
inc ecx
jmp 0x10018ac1
xor ecx, ecx
mov dword [esp + 0x20], 0xe0a8eac8
mov dword [esp + 0x20], 0x17
inc ecx
jmp 0x10018c8f
mov dword [esp + 0x18], 4
mov dword [esp + 0x18], ebx
jmp 0x10018b34
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x4c], ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x10018b28
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x18], ebx
jl 0x10018c8b
mov dword [esp + 0x1c], 0xff63588c
mov dword [esp + 0x1c], ebx
jmp 0x10018b66
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x34], 0xffffffff
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ecx
jl 0x10018b56
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x34], ebx
jl 0x10018c7e
push ecx
lea ecx, [esp + 0x44]
call fcn.10014aaf
push 0x296b
lea eax, [esp + 0xb8]
mov dword [esp + 0xd8], 7
push eax
push 0x9a2
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.1001a026
mov eax, dword [esp + 0x54]
xor esi, esi
add esp, 0x14
inc esi
mov dword [eax], esi
jmp 0x10018c4c
mov dword [esp + 0x10], 0xe864896
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018be4
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], ebx
jl 0x10018c46
mov eax, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esp + eax*4 + 0x4c]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x34]
setne dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x4c]
imul edx, eax
mov eax, dword [esp + 0x10]
cmp edx, eax
mov eax, 0x92bb6a18
setne cl
sub eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], ebx
jmp 0x10018c3a
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x4c], ecx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jle 0x10018c28
dec dword [esp + 0x10]
jns 0x10018bee
mov eax, dword [esp + 0x40]
dec dword [eax]
mov eax, dword [esp + 0x40]
cmp dword [eax], ebx
jge 0x10018bbd
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x40]
or dword [esp + 0xd4], 0xffffffff
cmp dword [esp + eax*4 + 0x4c], ebx
call fcn.100152cc
dec dword [esp + 0x34]
push 1
pop ecx
jns 0x10018b7a
dec dword [esp + 0x18]
jns 0x10018b48
push 2
pop esi
dec dword [esp + 0x20]
cmp dword [esp + 0x20], ecx
je 0x10018b1a
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018cda
push 0x4e8c
push 0x1cf
push 0x6623
push 0x6809
push 0x3a51
push ebx
push 0x65f3
push 0x28af
push 0x64f3
push 0xc5a
call fcn.1001a0d0
add esp, 0x28
mov eax, dword [esp + 0x38]
mov dword [eax], ebx
jmp 0x100187a9
mov dword [esp + 0x2c], 1
mov dword [esp + 0x20], 0x5de1
mov dword [esp + 0x2c], ebx
jmp 0x10018d25
lea eax, [esp + 0x60]
mov dword [esp + 0x60], 0x53aa9ac7
push eax
lea eax, [esp + 0x30]
mov edx, 0x6c28
push 0x7ff4
push eax
mov cl, 1
call fcn.10018027
add esp, 0xc
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0x1a
je 0x10018cfb
mov al, 1
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret