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

Disassembly:
push 0xffffffffffffffff
push 0x101b02ee
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 0x1008666a
mov eax, dword [ebx + 0x20]
mov dword [ebx + 0x10], ebp
cmp eax, 0x10041
jne 0x10085d6d
cmp dword [ebx + 0x24], 4
je 0x10085e0a
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.1001de80
mov eax, dword [esp + 0x180]
add esp, 0x20
cmp eax, esi
jbe 0x10085dfc
mov dword [ebx + 0x20], 0x10021
jmp 0x10085e03
mov dword [ebx + 0x20], 0x10011
mov dword [ebx + 0x24], 4
mov eax, dword [ebx + 0x20]
mov ebx, dword [ebx + 0x24]
cmp eax, 0x10041
jne 0x100860ec
cmp ebx, 4
jne 0x100860ec
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.1001c730
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x1008666a
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x1008666a
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.100190d0
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, esi
je 0x1008666a
push 0x20
push eax
call fcn.100ed78e
mov edx, dword [esp + 0x18]
push 0x20
push edx
mov ebx, eax
call fcn.100ecae9
add esp, 0x10
cmp ebx, esi
je 0x1008666a
cmp eax, esi
je 0x1008666a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x1008666a
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.100ee41f
add esp, 8
test eax, eax
je 0x100860dd
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.10060a30
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.10060af0
lea edx, [esp + 0x20]
push edx
call fcn.10018e60
jmp 0x10086667
cmp eax, 0x10021
jne 0x100863cb
cmp ebx, 4
jne 0x100863cb
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.1001c730
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x1008666a
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x1008666a
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.100190d0
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, esi
je 0x1008666a
push 0x1020a9ec
push eax
call fcn.100ed039
mov edx, dword [esp + 0x18]
push 0x5b
push edx
mov ebx, eax
call fcn.100ecae9
add esp, 0x10
cmp ebx, esi
je 0x1008666a
cmp eax, esi
je 0x1008666a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x1008666a
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.100ee41f
add esp, 8
test eax, eax
je 0x100863bc
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.10060a30
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.10060af0
lea edx, [esp + 0x20]
push edx
call fcn.10018e60
jmp 0x10086667
cmp eax, 0x10011
jne 0x1008666a
cmp ebx, 4
jne 0x1008666a
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.1001c730
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x1008666a
cmp dword [esp + 0x124], esi
je 0x1008666a
push 0x73a4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], esi
call fcn.1019a42e
add esp, 4
mov dword [esp + 0x15c], eax
cmp eax, esi
mov dword [esp + 0x410], esi
je 0x100864df
push 0x10019cf0
push 0x1002fbd0
lea ebp, [eax + 4]
push 0x14
push 0x5c8
push ebp
mov dword [eax], 0x14
call fcn.100ed647
jmp 0x100864e1
xor ebp, ebp
cmp ebp, esi
mov dword [esp + 0x410], ebx
je 0x1008666a
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.10019d20
mov edx, dword [esp + 0x40]
add esp, 0x30
cmp edx, esi
jbe 0x1008664a
xor eax, eax
cmp edx, esi
jbe 0x1008664a
lea ecx, [ebp + 0x14]
cmp word [ecx], 0x5b
je 0x10086578
inc eax
add ecx, 0x5c8
cmp eax, edx
jb 0x10086562
jmp 0x1008664a
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 0x1008664a
push 0x1020a9ec
push edi
call fcn.100ed039
push 0x5b
push edi
mov ebx, eax
call fcn.100ecae9
add esp, 0x10
cmp ebx, esi
je 0x1008664a
cmp eax, esi
je 0x1008664a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x1008664a
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.100ee41f
add esp, 8
test eax, eax
je 0x1008663a
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.10060a30
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.10060af0
lea edx, [esp + 0x11c]
push edx
call fcn.10018e60
add esp, 4
mov eax, dword [ebp - 4]
lea esi, [ebp - 4]
push 0x10019cf0
push eax
push 0x5c8
push ebp
call fcn.100ed553
push esi
call fcn.1019a457
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