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

Disassembly:
push 0xffffffffffffffff
push 0x515d1a
mov eax, dword fs:[0]
push eax
sub esp, 0x2c4
mov eax, dword [0x56c3c0]
xor eax, esp
mov dword [esp + 0x2c0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x56c3c0]
xor eax, esp
push eax
lea eax, [esp + 0x2d8]
mov dword fs:[0], eax
mov esi, dword [esp + 0x2e8]
xor ebx, ebx
mov edi, ecx
mov dword [esp + 0x84], esi
mov dword [esp + 0x50], ebx
mov eax, dword [esp + 0x2ec]
add eax, 0xfffffff0
mov ebp, 1
push eax
mov dword [esp + 0x2e4], ebp
call fcn.0044c460
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea ecx, [esp + 0x88]
mov dword [esp + 0x50], ebp
call fcn.00494702
mov eax, dword [esi]
mov eax, dword [eax - 0xc]
mov byte [esp + 0x2e0], 2
cmp eax, ebx
je 0x44f636
mov ecx, dword [edi + 0x42c]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x44f636
mov edx, dword [edi + 0x42c]
push edx
lea ecx, [esp + 0x8c]
call fcn.00495f55
test eax, eax
je 0x44f636
mov ecx, dword [edi + 0x42c]
lea eax, [esp + 0x60]
push eax
push ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], 7
mov dword [esp + 0x74], ebx
call dword [sym.imp.USER32.dll_MapDialogRect]
mov edi, dword [esp + 0x68]
test eax, eax
jne 0x44f1cb
lea edi, [ebx + 0x14]
mov eax, dword [esp + 0xa8]
lea edx, [esp + 0x30]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
cmp ecx, eax
jle 0x44f1f8
mov edx, ecx
mov ecx, eax
mov eax, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
jle 0x44f20c
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], edx
lea edx, [edi + edi]
sub eax, edx
sub eax, ecx
mov ebp, eax
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x74]
mov dword [esp + 0x50], ebp
call fcn.004a1378
push ebx
lea ecx, [esp + 0xe0]
push ecx
push 0x1f8
push 0x29
mov byte [esp + 0x2f0], 3
mov dword [esp + 0xec], 0x1f8
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
cmp eax, ebx
je 0x44f2ad
mov edi, vtable.CFont.0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], edi
lea edx, [esp + 0x274]
push edx
mov byte [esp + 0x2e4], 4
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push eax
lea ecx, [esp + 0x28]
call fcn.004a15b2
test eax, eax
je 0x44f296
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x74]
call fcn.004a17de
lea ecx, [esp + 0x24]
mov byte [esp + 0x2e0], 3
mov dword [esp + 0x24], edi
call fcn.0044ee70
jmp 0x44f2b8
push 0xd
lea ecx, [esp + 0x74]
call fcn.004a1707
push esi
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x78]
call fcn.0044eb80
cmp dword [eax], ebp
jle 0x44f619
mov eax, dword [esi]
mov ecx, dword [eax - 0xc]
cmp ecx, ebx
jg 0x44f2dd
or edi, 0xffffffff
jmp 0x44f2f7
push 0x5c
push eax
call fcn.004d72bf
add esp, 8
cmp eax, ebx
jne 0x44f2f1
or edi, 0xffffffff
jmp 0x44f2f7
sub eax, dword [esi]
sar eax, 1
mov edi, eax
push 0x5c
mov ecx, esi
call fcn.0044eae0
mov ebp, eax
cmp edi, ebx
jne 0x44f327
push 1
push 0x5c
mov ecx, esi
call fcn.0044eb40
cmp eax, 0xffffffff
je 0x44f619
inc eax
push eax
push 0x5c
mov ecx, esi
call fcn.0044eb40
mov edi, eax
cmp edi, 0xffffffff
je 0x44f619
cmp ebp, 0xffffffff
je 0x44f619
push 0x521148
lea ecx, [esp + 0x30]
inc edi
call fcn.0044d150
lea ecx, [esp + 0x20]
call fcn.0044c620
lea ecx, [esp + 0x14]
call fcn.0044c620
lea ecx, [esp + 0x18]
call fcn.0044c620
push edi
lea edx, [esp + 0x20]
mov bl, 8
push edx
mov ecx, esi
mov byte [esp + 0x2e8], bl
call fcn.0044cb70
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x2e4], 9
call fcn.0044cdc0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2e0], bl
call fcn.0044c650
mov eax, ebp
sub eax, edi
push eax
push edi
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0044ecb0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x2e4], 0xa
call fcn.0044cdc0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2e0], bl
call fcn.0044c650
push ebp
lea edx, [esp + 0x20]
push edx
mov ecx, esi
call fcn.0044ed80
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2e4], 0xb
call fcn.0044cdc0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2e0], bl
call fcn.0044c650
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edi, dword [eax - 0xc]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x50]
push eax
call fcn.0044edb0
lea ecx, [esp + 0x38]
push ecx
push eax
lea edx, [esp + 0x58]
push edx
mov byte [esp + 0x2f8], 0xc
call fcn.0044edb0
lea ecx, [esp + 0x30]
push ecx
push eax
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x304], 0xd
call fcn.0044edb0
add esp, 0x24
push eax
mov ecx, esi
mov byte [esp + 0x2e4], 0xe
call fcn.0044cdc0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x2e0], 0xd
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44f488
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x2e0], 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44f4b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x2e0], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44f4d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi]
mov ecx, dword [eax - 0xc]
lea edx, [esp + 0x58]
push edx
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
test edi, edi
jle 0x44f54e
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 0xc]
dec eax
push eax
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x1c]
call fcn.0044cb70
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x2e4], 0xf
call fcn.0044cdc0
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
mov byte [esp + 0x2e0], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44f5ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x44f5ce
cmp dword [ebp - 0xc], 0
jle 0x44f58f
mov eax, dword [ebp - 0xc]
dec eax
push eax
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x20]
call fcn.0044caf0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2e4], 0x10
call fcn.0044cdc0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2e0], bl
call fcn.0044c650
mov ebp, dword [esp + 0x18]
jmp 0x44f5ce
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
jle 0x44f5de
mov eax, dword [eax - 0xc]
dec eax
push eax
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x28]
call fcn.0044cb70
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x2e4], 0x11
call fcn.0044cdc0
lea ecx, [esp + 0x24]
mov byte [esp + 0x2e0], bl
call fcn.0044c650
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x58], eax
jg 0x44f402
jmp 0x44f5ed
lea ecx, [esp + 0x2ec]
push ecx
mov ecx, esi
call fcn.0044cdc0
lea ecx, [esp + 0x18]
call fcn.0044c650
lea ecx, [esp + 0x14]
call fcn.0044c650
lea ecx, [esp + 0x20]
call fcn.0044c650
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2e0], 3
call fcn.0044c650
lea ecx, [esp + 0x88]
call fcn.00495f91
lea ecx, [esp + 0x70]
mov byte [esp + 0x2e0], 2
call fcn.004a13cc
lea ecx, [esp + 0x88]
mov byte [esp + 0x2e0], 1
call fcn.00496ffb
mov eax, dword [esp + 0x2ec]
add eax, 0xfffffff0
mov byte [esp + 0x2e0], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x44f675
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x2d8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2c0]
xor ecx, esp
call fcn.004d6555
add esp, 0x2d0
ret 8