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

Disassembly:
push 0xffffffffffffffff
push 0x101ac19e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3f8
push ebx
push ebp
mov ebp, dword [esp + 0x410]
push esi
xor esi, esi
mov ebx, ecx
cmp ebp, esi
push edi
mov dword [esp + 0x1c], ebx
je 0x1008590a
mov eax, dword [ebx + 0x20]
mov dword [ebx + 0x10], ebp
cmp eax, 0x10041
jne 0x1008500d
cmp dword [ebx + 0x24], 4
je 0x100850aa
mov ecx, 0xa9
xor eax, eax
lea edi, [esp + 0x164]
push esi
mov dword [esp + 0x164], esi
push esi
rep stosd dword es:[edi], eax
push esi
push 1
lea eax, [esp + 0x12c]
push 1
push eax
lea ecx, [esp + 0x178]
push esi
push ecx
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x140], str.Main_Window_Class
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], esi
mov dword [esp + 0x14c], esi
mov dword [esp + 0x150], 2
mov dword [esp + 0x154], 1
mov dword [esp + 0x158], esi
call fcn.1001dc70
mov eax, dword [esp + 0x180]
add esp, 0x20
cmp eax, esi
jbe 0x1008509c
mov dword [ebx + 0x20], 0x10021
jmp 0x100850a3
mov dword [ebx + 0x20], 0x10011
mov dword [ebx + 0x24], 4
mov eax, dword [ebx + 0x20]
mov ebx, dword [ebx + 0x24]
cmp eax, 0x10041
jne 0x1008538c
cmp ebx, 4
jne 0x1008538c
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x24]
mov dword [esp + 0x20], esi
rep stosd dword es:[edi], eax
mov dword [esp + 0x120], ebx
mov eax, 3
or ebx, 0xffffffff
mov ecx, 1
mov dword [esp + 0x128], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xfc], eax
push ebx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x70], ecx
mov edi, ecx
push esi
lea eax, [esp + 0x70]
mov ecx, 4
push 5
push eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x108], ecx
push ecx
lea ecx, [esp + 0x130]
lea eax, [esp + 0x28]
mov edx, 2
push ecx
push eax
lea ecx, [esp + 0x3c]
push edx
push ecx
push ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x144], 2
mov dword [esp + 0x90], esi
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], edx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], esi
mov dword [esp + 0x100], edi
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], esi
mov dword [esp + 0x11c], esi
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], esi
call fcn.1001c550
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x1008590a
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x1008590a
lea edx, [esp + 0x18]
lea ecx, [esp + 0x10]
push edx
push ecx
mov ecx, dword [esp + 0x38]
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x28], esi
push eax
mov dword [esp + 0x34], esi
mov dword [edx], ecx
mov ecx, dword [esp + 0x50]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [edx + 0xc], ecx
call fcn.10018ef0
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, esi
je 0x1008590a
push 0x20
push eax
call fcn.100ea56e
mov edx, dword [esp + 0x18]
push 0x20
push edx
mov ebx, eax
call fcn.100e98c9
add esp, 0x10
cmp ebx, esi
je 0x1008590a
cmp eax, esi
je 0x1008590a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x1008590a
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x162]
mov word [esp + 0x160], si
rep stosd dword es:[edi], eax
sar edx, 1
stosw word es:[edi], ax
lea ecx, [edx + edx - 2]
lea esi, [ebx + 2]
mov eax, ecx
lea edi, [esp + 0x160]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x160]
push ecx
lea edx, [esi + 0xd0]
push edx
call fcn.100eb49e
add esp, 8
test eax, eax
je 0x1008537d
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.10060190
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.10060250
lea edx, [esp + 0x20]
push edx
call fcn.10018c80
jmp 0x10085907
cmp eax, 0x10021
jne 0x1008566b
cmp ebx, 4
jne 0x1008566b
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x24]
mov dword [esp + 0x20], esi
rep stosd dword es:[edi], eax
mov dword [esp + 0x120], ebx
mov eax, 3
or ebx, 0xffffffff
mov ecx, 1
mov dword [esp + 0x128], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xfc], eax
push ebx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x70], ecx
mov edi, ecx
push esi
lea eax, [esp + 0x70]
mov ecx, 4
push 5
push eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x108], ecx
push ecx
lea ecx, [esp + 0x130]
lea eax, [esp + 0x28]
mov edx, 2
push ecx
push eax
lea ecx, [esp + 0x3c]
push edx
push ecx
push ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x144], 2
mov dword [esp + 0x90], esi
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], edx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], esi
mov dword [esp + 0x100], edi
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], esi
mov dword [esp + 0x11c], esi
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], esi
call fcn.1001c550
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x1008590a
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x1008590a
lea edx, [esp + 0x18]
lea ecx, [esp + 0x10]
push edx
push ecx
mov ecx, dword [esp + 0x38]
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x28], esi
push eax
mov dword [esp + 0x34], esi
mov dword [edx], ecx
mov ecx, dword [esp + 0x50]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [edx + 0xc], ecx
call fcn.10018ef0
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, esi
je 0x1008590a
push 0x102066fc
push eax
call fcn.100e9e19
mov edx, dword [esp + 0x18]
push 0x5b
push edx
mov ebx, eax
call fcn.100e98c9
add esp, 0x10
cmp ebx, esi
je 0x1008590a
cmp eax, esi
je 0x1008590a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x1008590a
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x162]
mov word [esp + 0x160], si
rep stosd dword es:[edi], eax
sar edx, 1
stosw word es:[edi], ax
lea ecx, [edx + edx - 0xa]
lea esi, [ebx + 6]
mov eax, ecx
lea edi, [esp + 0x160]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x160]
push ecx
lea edx, [esi + 0xd0]
push edx
call fcn.100eb49e
add esp, 8
test eax, eax
je 0x1008565c
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.10060190
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.10060250
lea edx, [esp + 0x20]
push edx
call fcn.10018c80
jmp 0x10085907
cmp eax, 0x10011
jne 0x1008590a
cmp ebx, 4
jne 0x1008590a
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x120]
mov dword [esp + 0x11c], esi
rep stosd dword es:[edi], eax
or ebx, 0xffffffff
mov eax, 1
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
push ebx
push esi
lea eax, [esp + 0x28]
push 2
push eax
push esi
lea ecx, [esp + 0x28]
push esi
push ecx
lea edx, [esp + 0x138]
push 2
push edx
push ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
call fcn.1001c550
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x1008590a
cmp dword [esp + 0x124], esi
je 0x1008590a
push 0x73a4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], esi
call fcn.101963be
add esp, 4
mov dword [esp + 0x15c], eax
cmp eax, esi
mov dword [esp + 0x410], esi
je 0x1008577f
push 0x10019b10
push 0x1002e800
lea ebp, [eax + 4]
push 0x14
push 0x5c8
push ebp
mov dword [eax], 0x14
call fcn.100ea427
jmp 0x10085781
xor ebp, ebp
cmp ebp, esi
mov dword [esp + 0x410], ebx
je 0x1008590a
mov ecx, 0x1ce8
xor eax, eax
mov edi, ebp
push ebx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x14]
push 1
push eax
push 0x14
lea ecx, [esp + 0x28]
mov eax, dword [esp + 0x13c]
push ebp
push ecx
push 1
mov ecx, dword [esp + 0x14c]
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x160]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x164]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x150]
push edx
call fcn.10019b40
mov edx, dword [esp + 0x40]
add esp, 0x30
cmp edx, esi
jbe 0x100858ea
xor eax, eax
cmp edx, esi
jbe 0x100858ea
lea ecx, [ebp + 0x14]
cmp word [ecx], 0x5b
je 0x10085818
inc eax
add ecx, 0x5c8
cmp eax, edx
jb 0x10085802
jmp 0x100858ea
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*4]
lea edx, [eax + eax*4]
lea edi, [ebp + edx*8 + 0x14]
cmp edi, esi
je 0x100858ea
push 0x102066fc
push edi
call fcn.100e9e19
push 0x5b
push edi
mov ebx, eax
call fcn.100e98c9
add esp, 0x10
cmp ebx, esi
je 0x100858ea
cmp eax, esi
je 0x100858ea
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x100858ea
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x162]
mov word [esp + 0x160], si
rep stosd dword es:[edi], eax
sar edx, 1
stosw word es:[edi], ax
lea ecx, [edx + edx - 0xa]
lea esi, [ebx + 6]
mov eax, ecx
lea edi, [esp + 0x160]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x160]
push ecx
lea edx, [esi + 0xd0]
push edx
call fcn.100eb49e
add esp, 8
test eax, eax
je 0x100858da
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.10060190
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.10060250
lea edx, [esp + 0x11c]
push edx
call fcn.10018c80
add esp, 4
mov eax, dword [ebp - 4]
lea esi, [ebp - 4]
push 0x10019b10
push eax
push 0x5c8
push ebp
call fcn.100ea333
push esi
call fcn.101963e7
add esp, 4
mov ecx, dword [esp + 0x408]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x404
ret 4