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

Disassembly:
push 0xffffffffffffffff
push 0x10189ece
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 0x10084d3a
mov eax, dword [ebx + 0x20]
mov dword [ebx + 0x10], ebp
cmp eax, 0x10041
jne 0x1008443d
cmp dword [ebx + 0x24], 4
je 0x100844da
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.1001ba20
mov eax, dword [esp + 0x180]
add esp, 0x20
cmp eax, esi
jbe 0x100844cc
mov dword [ebx + 0x20], 0x10021
jmp 0x100844d3
mov dword [ebx + 0x20], 0x10011
mov dword [ebx + 0x24], 4
mov eax, dword [ebx + 0x20]
mov ebx, dword [ebx + 0x24]
cmp eax, 0x10041
jne 0x100847bc
cmp ebx, 4
jne 0x100847bc
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.100195a0
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x10084d3a
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x10084d3a
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.10016c80
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, esi
je 0x10084d3a
push 0x20
push eax
call fcn.100caf3c
mov edx, dword [esp + 0x18]
push 0x20
push edx
mov ebx, eax
call fcn.100c9d15
add esp, 0x10
cmp ebx, esi
je 0x10084d3a
cmp eax, esi
je 0x10084d3a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x10084d3a
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.100ca324
add esp, 8
test eax, eax
je 0x100847ad
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.1005d700
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.1005d7c0
lea edx, [esp + 0x20]
push edx
call fcn.10016a10
jmp 0x10084d37
cmp eax, 0x10021
jne 0x10084a9b
cmp ebx, 4
jne 0x10084a9b
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.100195a0
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x10084d3a
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x10084d3a
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.10016c80
mov eax, dword [esp + 0x2c]
add esp, 0x1c
cmp eax, esi
je 0x10084d3a
push 0x101d6060
push eax
call fcn.100ca359
mov edx, dword [esp + 0x18]
push 0x5b
push edx
mov ebx, eax
call fcn.100c9d15
add esp, 0x10
cmp ebx, esi
je 0x10084d3a
cmp eax, esi
je 0x10084d3a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x10084d3a
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.100ca324
add esp, 8
test eax, eax
je 0x10084a8c
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.1005d700
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.1005d7c0
lea edx, [esp + 0x20]
push edx
call fcn.10016a10
jmp 0x10084d37
cmp eax, 0x10011
jne 0x10084d3a
cmp ebx, 4
jne 0x10084d3a
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.100195a0
mov eax, dword [esp + 0x3c]
add esp, 0x28
cmp eax, esi
jbe 0x10084d3a
cmp dword [esp + 0x124], esi
je 0x10084d3a
push 0x73a4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], esi
call fcn.10173930
add esp, 4
mov dword [esp + 0x15c], eax
cmp eax, esi
mov dword [esp + 0x410], esi
je 0x10084baf
push 0x10017890
push 0x1002a820
lea ebp, [eax + 4]
push 0x14
push 0x5c8
push ebp
mov dword [eax], 0x14
call fcn.100ca8e7
jmp 0x10084bb1
xor ebp, ebp
cmp ebp, esi
mov dword [esp + 0x410], ebx
je 0x10084d3a
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.100178c0
mov edx, dword [esp + 0x40]
add esp, 0x30
cmp edx, esi
jbe 0x10084d1a
xor eax, eax
cmp edx, esi
jbe 0x10084d1a
lea ecx, [ebp + 0x14]
cmp word [ecx], 0x5b
je 0x10084c48
inc eax
add ecx, 0x5c8
cmp eax, edx
jb 0x10084c32
jmp 0x10084d1a
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 0x10084d1a
push 0x101d6060
push edi
call fcn.100ca359
push 0x5b
push edi
mov ebx, eax
call fcn.100c9d15
add esp, 0x10
cmp ebx, esi
je 0x10084d1a
cmp eax, esi
je 0x10084d1a
mov edx, eax
sub edx, ebx
test edx, 0xfffffffe
jle 0x10084d1a
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.100ca324
add esp, 8
test eax, eax
je 0x10084d0a
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.1005d700
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
call fcn.1005d7c0
lea edx, [esp + 0x11c]
push edx
call fcn.10016a10
add esp, 4
mov eax, dword [ebp - 4]
lea esi, [ebp - 4]
push 0x10017890
push eax
push 0x5c8
push ebp
call fcn.100ca7f3
push esi
call fcn.10173959
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