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

Disassembly:
sub esp, 0x74
mov eax, dword [0x425e40]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
xor eax, eax
mov word [esp + 0x10], ax
push ebp
xor ecx, ecx
mov word [esp + 8], cx
xor edx, edx
xor ebx, ebx
mov word [esp + 0x1c], dx
push esi
mov dword [esp + 0x10], ebx
push edi
mov word [esp + 0x20], ax
mov byte [esp + 0x7f], bl
lea ebp, [eax + 1]
lea esp, [esp]
movsx eax, byte [ecx + 0x424f38]
cdq
mov esi, 0x1a
idiv esi
add dl, 0x61
mov byte [esp + ecx + 0x78], dl
add ecx, ebp
mov edx, 0x1146
mov word [esp + 0x10], dx
cmp ecx, 7
jne 0x407840
push 0xbb6
push 0x424f38
call fcn.00401e60
add esp, 8
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld dword [0x425cd8]
fsub dword [0x424f10]
mov dword [0x427638], eax
fcomp qword [0x41f808]
fnstsw ax
fld1
test ah, 0x44
jp 0x40790b
fld qword [0x425b90]
fsub qword [0x41f800]
fsub qword [0x41f7f8]
fld dword [0x423638]
mov ax, word [esp + 0x20]
movsx ecx, ax
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
faddp st(1)
fsub qword [0x41f7f0]
fcompp
fnstsw ax
fld dword [0x423638]
fsub st(1)
fstp dword [0x423638]
fsubr qword [0x425b90]
fstp qword [0x425b90]
test ah, 1
jne 0x407922
movzx edx, word [0x425d24]
imul edx, edx, 0xf9a1ce13
mov word [0x425d24], dx
jmp 0x407922
dec dword [esp + 0x1c]
fstp st(0)
movzx eax, word [esp + 0x10]
movzx ecx, word [esp + 0x1c]
add eax, ecx
mov word [esp + 0x10], ax
mov edx, dword [0x427638]
push ebp
push esi
mov dword [esp + 0x34], 0x30
mov dword [esp + 0x38], 3
mov dword [esp + 0x3c], 0x406b20
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], edx
call fcn.00402c50
add esp, 8
push 0x7f00
push ebx
mov dword [esp + 0x4c], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [esp + 0x48], eax
movzx eax, word [0x424ba0]
movsx ecx, ax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x4c], 6
fild dword [esp + 0x24]
fld qword [0x4231a0]
fadd qword [0x41f7e8]
fsubp st(1)
call fcn.0040b1f0
mov word [0x424ba0], ax
fld qword [0x4231a0]
fsub qword [0x41f340]
lea edx, [esp + 0x78]
push ebp
mov dword [esp + 0x54], ebx
fstp qword [0x4231a0]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ebx
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
fldz
movzx ecx, word [0x424f24]
mov edx, dword [0x42315c]
movsx eax, cx
add eax, 0xfd896752
push 0xbb6
add edx, eax
mov word [esp + 0x28], dx
push ebx
fstp qword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
push esi
call fcn.0040b330
push esi
call fcn.0040b29b
push 0x15
push 0x425cf0
call fcn.00401e60
add esp, 0x18
push ebx
mov esi, eax
mov eax, dword [0x427638]
push eax
push ebx
push ebx
push ebx
push connect
push ebx
push connect
push 0xc80000
push esi
lea ecx, [esp + 0xa0]
push ecx
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
fldz
mov edx, 0x5ccc3942
sub edx, dword [esp + 0x14]
mov edi, eax
mov dword [esp + 0x14], edx
add dword [esp + 0x14], ebp
fstp qword [esp + 0x14]
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esp + 0x14], ebx
push esi
mov byte [esi + 0x14], al
call fcn.0040b29b
or esi, 0xffffffff
add word [0x425ce8], si
movzx eax, word [0x425ce8]
movzx ecx, word [esp + 0x20]
cwde
movsx edx, cx
sub edx, eax
add esp, 4
mov dword [esp + 0x14], edx
cmp edi, ebx
je 0x407b94
push ebp
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
movzx eax, word [esp + 0x20]
movsx ecx, ax
movzx eax, word [esp + 0x10]
mov edx, 0xb5b148e6
sub edx, ecx
movsx ecx, ax
sub edx, ecx
add edx, dword [esp + 0x14]
push ebx
push ebx
mov dword [esp + 0x1c], edx
add dword [esp + 0x18], ebp
push ebx
lea edx, [esp + 0x68]
push edx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x407b7d
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageA]
nop
lea eax, [esp + 0x5c]
push eax
call edi
lea ecx, [esp + 0x5c]
push ecx
call ebp
fld qword [0x424ef0]
mov dx, word [0x424ba8]
fadd qword [0x41f7e0]
add word [0x424ba8], si
movsx eax, dx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsubp st(1)
fcomp qword [0x41f7d8]
fnstsw ax
fld qword [0x424ef0]
fsub qword [0x41f340]
fstp qword [0x424ef0]
test ah, 1
jne 0x407b6b
mov ecx, dword [esp + 0x14]
mov edx, 0xa5ae3fa5
sub edx, ecx
add edx, dword [0x423fe4]
mov dword [0x423fe4], edx
push ebx
push ebx
push ebx
lea eax, [esp + 0x68]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x407b00
mov eax, dword [esp + 0x64]
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.0040b8e4
add esp, 0x74
ret
add dword [esp + 0x14], esi
mov cx, word [esp + 0x10]
pop edi
movsx edx, cx
sub dword [esp + 0x10], edx
mov ecx, dword [esp + 0x7c]
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0040b8e4
add esp, 0x74
ret