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

Disassembly:
sub esp, 0x70
mov eax, dword [0x4261d8]
xor eax, esp
mov dword [esp + 0x6c], eax
fldz
push ebx
xor ebx, ebx
mov dword [esp + 0xc], ebx
fst dword [esp + 0x10]
mov dword [esp + 4], ebx
fstp dword [esp + 8]
fldz
mov byte [esp + 0x6f], bl
fstp qword [esp + 0x14]
mov ecx, 0xaaffe82a
fld dword [esp + 8]
push ebp
fld1
push esi
fsub st(1), st(0)
mov ebp, 1
fxch st(1)
push edi
or edi, 0xffffffff
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x18]
sub ecx, eax
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fld dword [esp + 0x14]
add dword [esp + 0x18], ebp
fsub qword [0x41f740]
fcompp
fnstsw ax
test ah, 1
jne 0x405b3a
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x1c]
add dword [0x425b6c], ebp
mov edx, dword [0x425b6c]
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fld dword [esp + 0x1c]
fsubr qword [0x41f738]
fld dword [esp + 0x14]
fsubp st(2)
fcompp
fnstsw ax
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
test ah, 1
jne 0x405b3c
add word [0x4231d0], di
mov eax, dword [0x4234fc]
mov cx, word [0x4231d0]
add dword [0x4234fc], edi
jmp 0x405b3c
fstp st(0)
xor ecx, ecx
mov edi, edi
movsx eax, byte [ecx + 0x424660]
cdq
mov esi, 0x1a
idiv esi
add dl, 0x61
mov byte [esp + ecx + 0x74], dl
add ecx, ebp
cmp ecx, 7
jne 0x405b40
fld dword [0x41f730]
push 0xbb6
fstp dword [0x4245ec]
push 0x424660
call fcn.00401c10
add esp, 8
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld dword [esp + 0x1c]
fsub dword [0x425bd8]
mov dword [0x4279d8], eax
mov dword [esp + 0x28], 0x30
mov dword [esp + 0x2c], 3
fadd qword [0x41f728]
mov dword [esp + 0x30], 0x405180
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov edx, dword [0x4279d8]
fsub qword [0x41f388]
mov dword [esp + 0x3c], edx
fstp dword [esp + 0x1c]
add dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
sub eax, 0x2c2192a3
cmp eax, 0xf48c1b39
je 0x405c04
add dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x18]
mov edx, 0xcbe8b035
sub edx, ecx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fstp dword [esp + 0x14]
movzx edx, byte [esi + 0x17]
fldz
movzx ecx, byte [esi + 0x16]
fst dword [esp + 0x10]
fstp dword [esp + 0x20]
mov eax, dword [esi + 0x22]
push ebx
push edx
push ecx
mov ecx, dword [esi + 0x1e]
push 0x30000
push ebp
add eax, esi
push ecx
push eax
call dword [sym.imp.USER32.dll_CreateIconFromResourceEx]
push 0x7f00
fld dword [esp + 0x14]
push ebx
fsub qword [0x41f500]
mov dword [esp + 0x48], eax
fstp dword [esp + 0x18]
call dword [sym.imp.USER32.dll_LoadCursorA]
lea edx, [esp + 0x74]
push ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ebx
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
fldz
push 0xbb6
fstp dword [esp + 0x18]
push ebx
mov dword [esp + 0x18], ebx
push esi
call fcn.0040b400
push esi
call fcn.0040b14f
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
fsub dword [esp + 0x24]
call fcn.0040b310
push 0x15
mov dword [esp + 0x24], eax
push 0x425a24
call fcn.00401c10
fld dword [0x424410]
fld qword [0x424430]
add esp, 0x18
fsub qword [0x41f720]
push ebx
mov esi, eax
lea eax, [esp + 0x78]
fsubp st(1)
fstp dword [0x424410]
fld qword [0x424430]
mov edx, dword [0x4279d8]
fadd qword [0x41f388]
push edx
push ebx
push ebx
push ebx
fstp qword [0x424430]
push connect
push ebx
push connect
push 0xc80000
push esi
push eax
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
fldz
fstp dword [esp + 0x14]
mov edi, eax
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 + 0x10], ebx
push esi
mov byte [esi + 0x14], al
call fcn.0040b14f
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
add esp, 4
fsub dword [esp + 0x14]
call fcn.0040b310
mov dword [esp + 0x10], eax
cmp edi, ebx
je 0x405dcb
push ebp
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push ebx
push ebx
push ebx
lea edx, [esp + 0x64]
push edx
call esi
test eax, eax
je 0x405dac
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageA]
lea ecx, [ecx]
lea eax, [esp + 0x58]
push eax
call edi
lea ecx, [esp + 0x58]
push ecx
call ebp
push ebx
push ebx
push ebx
lea edx, [esp + 0x64]
push edx
call esi
test eax, eax
jne 0x405d90
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.0040b2f6
add esp, 0x70
ret
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0040b2f6
add esp, 0x70
ret