Function at 0x405e50
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, dword [0x4260d0]
xor eax, esp
mov dword [esp + 0x70], eax
fldz
xor eax, eax
mov word [esp + 4], ax
fstp dword [esp + 0x10]
fldz
push ebx
push esi
fstp qword [esp + 0x1c]
push edi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x14], edi
mov word [esp + 0x18], cx
mov byte [esp + 0x7b], al
xor esi, esi
lea ecx, [ecx]
mov dx, word [0x4248b8]
mov cx, word [esp + 0x10]
movsx eax, dx
mov dword [esp + 0xc], eax
movsx edx, cx
fild dword [esp + 0xc]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fadd qword [esp + 0x20]
fsubp st(1)
call fcn.0040b210
mov word [0x4248b8], ax
movsx eax, byte [esi + 0x423930]
cdq
mov ecx, 0x1a
idiv ecx
inc esi
add dl, 0x61
mov byte [esp + esi + 0x73], dl
cmp esi, 7
jne 0x405e90
push 0xbb6
push 0x423930
call fcn.00401d40
fld dword [esp + 0x24]
fsub dword [esp + 0x24]
mov dx, word [esp + 0x18]
mov esi, eax
movsx eax, dx
fsub qword [0x41f710]
mov dword [esp + 0x14], eax
add esp, 8
or ebx, 0xffffffff
fild dword [esp + 0xc]
fucompp
fnstsw ax
fld1
test ah, 0x44
jnp 0x405f82
mov eax, 1
add dword [esp + 0x10], eax
mov cx, word [esp + 0x10]
movsx edx, cx
cmp edx, 0x8913ed49
jg 0x405f53
mov ax, word [esp + 0x10]
fstp st(0)
mov edx, dword [esp + 0x14]
movsx ecx, ax
lea eax, [ecx + edx - 0x208b8430]
mov dword [esp + 0x14], eax
jmp 0x405fb5
add dword [0x42498c], eax
mov ecx, dword [0x42498c]
mov edx, dword [esp + 0x14]
fld dword [0x425e3c]
mov cx, word [esp + 0x10]
fstp st(0)
fadd dword [0x425e3c]
fstp dword [0x425e3c]
add dword [esp + 0x10], eax
jmp 0x405fb5
mov edx, dword [0x423928]
mov eax, 0xb91f1659
sub eax, edx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fadd dword [esp + 0x1c]
fmul dword [0x4248f4]
fstp dword [0x4248f4]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
add dword [0x423928], ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld dword [0x4249c8]
fadd qword [0x41f348]
mov dword [0x4278d8], eax
mov dword [esp + 0x28], 0x30
mov dword [esp + 0x2c], 3
mov dword [esp + 0x30], 0x4054d0
fstp dword [0x4249c8]
fld dword [0x4249c8]
fadd qword [esp + 0x20]
movzx ecx, word [esp + 0x10]
movsx edx, cx
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
faddp st(1)
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
inc dword [esp + 0x10]
mov ax, word [0x4248f8]
movzx ecx, word [esp + 0x18]
cwde
movsx edx, cx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
add word [0x4248f8], bx
add eax, 0x46130e7f
cmp eax, edx
je 0x406049
movzx eax, word [esp + 0x10]
add eax, 0x7344231a
mov word [esp + 0x10], ax
mov ecx, dword [0x4278d8]
push 1
push esi
mov dword [esp + 0x44], ecx
call fcn.004016e0
add esp, 8
push 0x7f00
push edi
mov dword [esp + 0x48], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
mov edx, dword [0x42330c]
imul edx, edx, 0x4d61014b
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 6
mov dword [0x42330c], edx
mov edx, dword [esp + 0x14]
add edx, dword [esp + 0x14]
lea eax, [esp + 0x74]
mov ecx, 1
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], eax
add dword [esp + 0x14], ecx
add dword [esp + 0x14], ecx
cmp edx, 0x454b16a9
jl 0x406106
fld dword [0x424910]
fsubr qword [0x41f708]
fcomp qword [0x41f700]
fnstsw ax
test ah, 5
jp 0x4060e2
fld qword [0x425ea8]
fsub qword [0x41f6f8]
fstp qword [0x425ea8]
jmp 0x406106
mov eax, dword [0x424afc]
sub eax, 0x2e6cf112
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul qword [0x424af0]
fstp qword [0x424af0]
add dword [0x424afc], ebx
push ecx
mov dword [esp + 0x58], edi
call dword [sym.imp.GDI32.dll_GetStockObject]
mov cx, word [0x4231b4]
fld qword [0x423848]
mov edx, dword [0x424a90]
mov dword [esp + 0x48], eax
movsx eax, cx
sub edx, eax
mov dword [esp + 0xc], edx
lea eax, [esp + 0x28]
push eax
fild dword [esp + 0x10]
fsubp st(1)
fstp qword [0x423848]
add word [0x4231b4], bx
call dword [sym.imp.USER32.dll_RegisterClassExA]
fldz
push 0xbb6
fstp dword [esp + 0x10]
xor ecx, ecx
push edi
mov word [esp + 0x20], cx
push esi
call fcn.0040b190
push esi
call fcn.0040b07b
push 0x15
push 0x424da4
call fcn.00401d40
mov edx, dword [0x4278d8]
add esp, 0x18
push edi
push edx
push edi
push edi
push edi
push connect
push edi
push connect
push 0xc80000
mov esi, eax
push esi
lea eax, [esp + 0x9c]
push eax
push edi
call dword [sym.imp.USER32.dll_CreateWindowExA]
fldz
mov edi, eax
fstp dword [esp + 0xc]
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
xor ecx, ecx
mov dword [esi + 0x10], eax
mov word [esp + 0x18], cx
push esi
mov byte [esi + 0x14], al
call fcn.0040b07b
fld qword [0x424a08]
fcomp qword [0x41f6f0]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x4061f8
mov edx, dword [0x4248f0]
mov dword [esp + 0x14], edx
inc dword [0x4248f0]
test edi, edi
je 0x40633c
add dword [0x4238a8], ebx
fld dword [0x424974]
fsub qword [0x41f348]
fstp dword [0x424974]
fld dword [0x424974]
mov eax, dword [0x4238a8]
mov cx, word [esp + 0x10]
mov dword [esp + 0xc], eax
fiadd dword [esp + 0xc]
movsx edx, cx
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
faddp st(1)
call fcn.0040b210
push 1
push edi
mov word [esp + 0x18], ax
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 0
push 0
push 0
lea eax, [esp + 0x64]
push eax
call esi
test eax, eax
je 0x406303
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
fld qword [0x425db0]
fsub qword [0x41f6e8]
fcomp qword [0x41f6e0]
fnstsw ax
fld qword [0x425db0]
fld1
fsub st(1), st(0)
fxch st(1)
fstp qword [0x425db0]
test ah, 0x41
jp 0x4062c4
mov ecx, dword [esp + 0x14]
fstp st(0)
mov edx, 0x88b3ad56
sub edx, ecx
add edx, dword [0x424dc8]
mov dword [0x424dc8], edx
jmp 0x4062e0
fsubr dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fsubr qword [0x41f6d8]
call fcn.0040b210
mov word [esp + 0x18], ax
lea eax, [esp + 0x58]
push eax
call edi
lea ecx, [esp + 0x58]
push ecx
call ebx
push 0
push 0
push 0
lea edx, [esp + 0x64]
push edx
call esi
test eax, eax
jne 0x40627e
fld dword [0x424974]
mov eax, dword [esp + 0x14]
fadd qword [0x41f6d0]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmulp st(1)
call fcn.0040b210
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x60]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.0040b775
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0040b775
mov esp, ebp
pop ebp
ret