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

Disassembly:
push 0xffffffffffffffff
push 0x101acede
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 0x10085a3a
mov eax, dword [ebx + 0x20]
mov dword [ebx + 0x10], ebp
cmp eax, 0x10041
jne 0x1008513d
cmp dword [ebx + 0x24], 4
je 0x100851da
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.1001dda0
mov eax, dword [esp + 0x180]
add esp, 0x20
cmp eax, esi
jbe 0x100851cc
mov dword [ebx + 0x20], 0x10021
jmp 0x100851d3
mov dword [ebx + 0x20], 0x10011
mov dword [ebx + 0x24], 4
mov eax, dword [ebx + 0x20]
mov ebx, dword [ebx + 0x24]
cmp eax, 0x10041
jne 0x100854bc
cmp ebx, 4
jne 0x100854bc
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.1001c680
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x10085a3a
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x10085a3a
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.10019020
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, esi
je 0x10085a3a
push 0x20
push eax
call fcn.100ea69e
mov edx, dword [esp + 0x18]
push 0x20
push edx
mov ebx, eax
call fcn.100e99f9
add esp, 0x10
cmp ebx, esi
je 0x10085a3a
cmp eax, esi
je 0x10085a3a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x10085a3a
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.100eb5ce
add esp, 8
test eax, eax
je 0x100854ad
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.100602c0
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.10060380
lea edx, [esp + 0x20]
push edx
call fcn.10018db0
jmp 0x10085a37
cmp eax, 0x10021
jne 0x1008579b
cmp ebx, 4
jne 0x1008579b
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.1001c680
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x10085a3a
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x10085a3a
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.10019020
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, esi
je 0x10085a3a
push 0x102066fc
push eax
call fcn.100e9f49
mov edx, dword [esp + 0x18]
push 0x5b
push edx
mov ebx, eax
call fcn.100e99f9
add esp, 0x10
cmp ebx, esi
je 0x10085a3a
cmp eax, esi
je 0x10085a3a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x10085a3a
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.100eb5ce
add esp, 8
test eax, eax
je 0x1008578c
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.100602c0
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.10060380
lea edx, [esp + 0x20]
push edx
call fcn.10018db0
jmp 0x10085a37
cmp eax, 0x10011
jne 0x10085a3a
cmp ebx, 4
jne 0x10085a3a
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.1001c680
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x10085a3a
cmp dword [esp + 0x124], esi
je 0x10085a3a
push 0x73a4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], esi
call fcn.101970fe
add esp, 4
mov dword [esp + 0x15c], eax
cmp eax, esi
mov dword [esp + 0x410], esi
je 0x100858af
push 0x10019c40
push 0x1002e930
lea ebp, [eax + 4]
push 0x14
push 0x5c8
push ebp
mov dword [eax], 0x14
call fcn.100ea557
jmp 0x100858b1
xor ebp, ebp
cmp ebp, esi
mov dword [esp + 0x410], ebx
je 0x10085a3a
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.10019c70
mov edx, dword [esp + 0x40]
add esp, 0x30
cmp edx, esi
jbe 0x10085a1a
xor eax, eax
cmp edx, esi
jbe 0x10085a1a
lea ecx, [ebp + 0x14]
cmp word [ecx], 0x5b
je 0x10085948
inc eax
add ecx, 0x5c8
cmp eax, edx
jb 0x10085932
jmp 0x10085a1a
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 0x10085a1a
push 0x102066fc
push edi
call fcn.100e9f49
push 0x5b
push edi
mov ebx, eax
call fcn.100e99f9
add esp, 0x10
cmp ebx, esi
je 0x10085a1a
cmp eax, esi
je 0x10085a1a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x10085a1a
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.100eb5ce
add esp, 8
test eax, eax
je 0x10085a0a
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.100602c0
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.10060380
lea edx, [esp + 0x11c]
push edx
call fcn.10018db0
add esp, 4
mov eax, dword [ebp - 4]
lea esi, [ebp - 4]
push 0x10019c40
push eax
push 0x5c8
push ebp
call fcn.100ea463
push esi
call fcn.10197127
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