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

Disassembly:
sub esp, 0x114
mov eax, str.Enter_in_Main_Loop
test eax, eax
push ebx
push ebp
push esi
push edi
je 0x44f7bb
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x44f7bb
lea esi, [ecx + 1]
push esi
call fcn.00450d2b
mov edi, eax
push esi
push str.Enter_in_Main_Loop
push edi
call fcn.00450dd0
push edi
push 0x483838
call fcn.00407c90
add esp, 0x18
call fcn.00408a10
mov eax, dword [0x485460]
xor ebx, ebx
cmp eax, ebx
mov dword [0x47f77c], 0x483530
mov dword [0x481e28], 0x48353c
jne 0x44fdba
mov ebp, 1
push ebx
push ebx
push ebx
lea ecx, [esp + 0xb4]
push ebx
push ecx
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x44f82e
push ebx
push ebx
lea edx, [esp + 0xb0]
push ebx
push edx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x44fdad
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [esp + 0xa8]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [0x47f8a8], ebx
je 0x44f9bc
cmp dword [0x46b7dc], ebx
je 0x44f906
mov eax, 0x47e1ec
mov ecx, 8
mov dword [eax], ebx
add eax, 0xc
dec ecx
jne 0x44f850
mov eax, dword [0x485500]
mov dword [0x47e124], ebx
cmp eax, 2
mov dword [0x47e128], ebx
mov dword [0x47e12c], ebx
mov dword [0x47e130], ebx
mov dword [0x47e134], ebx
mov dword [0x47e138], ebx
mov dword [0x47e13c], ebx
mov dword [0x47e140], ebx
mov dword [0x47e144], ebx
mov dword [0x47e148], ebx
je 0x44f9b6
mov edx, dword [0x47dff4]
push 7
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x47dff4]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [0x47dff4]
push 0x43
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0x485500]
cmp eax, ebx
jne 0x44f8f4
mov edx, dword [0x47dff4]
push 0x4814e0
push edx
call fcn.0040ceb0
add esp, 8
jmp 0x44f9b6
cmp eax, ebp
jne 0x44f9b6
call fcn.0040fbb0
jmp 0x44f9b6
cmp dword [0x485500], 2
je 0x44f9b6
mov eax, dword [0x47dff4]
push 6
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x47dff4]
push 0x13
push ebx
push ebx
push ebx
push ebx
push ebp
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [0x47dff4]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [0x485500]
cmp eax, ebx
jne 0x44f994
push ebx
push ebx
push ebx
call dword [0x483ee8]
push ebp
call dword [0x47db00]
mov eax, dword [0x4849bc]
push eax
call dword [0x47f770]
call dword [0x4816b8]
call fcn.0040c810
call fcn.0040baf0
cmp dword [0x485500], 2
jne 0x44f985
call fcn.0040f3d0
cmp dword [0x485500], ebp
jne 0x44f9b6
call fcn.0040fb30
jmp 0x44f9b6
cmp eax, ebp
jne 0x44f9b6
push ebx
push ebx
call dword [sym.imp.USER32.dll_ChangeDisplaySettingsA]
push ebx
call dword [sym.imp.USER32.dll_ShowCursor]
mov ecx, dword [0x47da64]
push 6
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [0x47f8a8], ebx
cmp dword [0x46b7dc], ebx
jne 0x44f9d0
push ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x44fda1
call fcn.00408d80
call fcn.00435280
cmp dword [0x485608], ebx
je 0x44f9f0
call fcn.00434390
test eax, eax
jne 0x44f9f0
call fcn.0044f2b0
cmp dword [0x485654], ebx
je 0x44fa0f
cmp dword [0x480ed8], 2
jne 0x44fa0f
cmp dword [0x48546c], ebx
je 0x44fa0f
mov dword [0x485478], ebp
call fcn.004359e0
cmp dword [0x485468], ebx
jne 0x44fcc5
cmp dword [0x48546c], ebx
je 0x44fcc5
call fcn.0042dd50
mov eax, dword [0x480db8]
xor esi, esi
cmp eax, ebx
jle 0x44fa64
push esi
push 0x480db8
call fcn.00415750
mov ecx, dword [eax + 0x54]
add esp, 8
cmp ecx, ebp
jne 0x44fa5a
push eax
call fcn.00418330
add esp, 4
mov eax, dword [0x480db8]
inc esi
cmp esi, eax
jl 0x44fa3c
call fcn.0042b390
call fcn.0042bc30
mov eax, dword [0x4854a8]
cmp eax, ebx
je 0x44fa79
call eax
mov eax, dword [0x483e1c]
cmp dword [eax + 0x68], 4
je 0x44fcc5
cmp dword [0x46abf8], ebx
je 0x44fcc5
add eax, 0x10
push eax
call fcn.00421020
mov edx, dword [0x483544]
push edx
call fcn.004010c0
mov eax, dword [0x483540]
fstp dword [esp + 0x20]
push eax
call fcn.004010c0
mov ecx, dword [0x48353c]
fstp dword [esp + 0x1c]
push ecx
call fcn.004010c0
mov edx, dword [0x483544]
fstp dword [esp + 0x2c]
push edx
call fcn.00401060
mov eax, dword [0x483540]
fchs
fstp dword [esp + 0x34]
push eax
call fcn.00401060
mov ecx, dword [0x48353c]
fchs
fstp dword [esp + 0x2c]
push ecx
call fcn.00401060
fchs
fld dword [esp + 0x3c]
fmul dword [esp + 0x38]
fld dword [esp + 0x30]
fmul dword [esp + 0x34]
fld st(2)
fmul dword [esp + 0x3c]
fld dword [esp + 0x38]
fmul dword [esp + 0x2c]
mov ecx, 9
lea esi, [esp + 0x7c]
mov edi, 0x483548
add esp, 0x1c
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0xbf800000
fstp dword [esp + 0x60]
fld st(3)
fmul dword [esp + 0x10]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
fstp dword [esp + 0x64]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x68]
fld st(2)
fmul dword [esp + 0x14]
fld st(4)
fmul dword [esp + 0x18]
fsubp st(1)
fstp dword [esp + 0x6c]
fld st(0)
fmul dword [esp + 0x14]
fld dword [esp + 0x1c]
fmul dword [esp + 0x18]
faddp st(1)
fstp dword [esp + 0x70]
fld dword [esp + 0x20]
fmul dword [esp + 0x10]
fstp dword [esp + 0x74]
fld st(1)
fmul dword [esp + 0x1c]
fadd st(1)
fstp dword [esp + 0x78]
fstp st(0)
fmul st(2)
fsub st(1)
fstp dword [esp + 0x7c]
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fmul dword [esp + 0x18]
fstp dword [esp + 0x80]
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0xd0]
push 0x483548
push edx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0xbf800000
mov dword [esp + 0xa4], 0x3f800000
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
call fcn.0044fdd0
mov ecx, dword [eax]
mov dword [esp + 0x3c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 8]
fld dword [0x483530]
mov dword [esp + 0x44], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x48], edx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x4c], ecx
mov edx, dword [eax + 0x14]
fchs
fld dword [0x483534]
mov dword [esp + 0x50], edx
mov ecx, dword [eax + 0x18]
fchs
mov dword [esp + 0x54], ecx
mov edx, dword [eax + 0x1c]
fstp dword [esp + 0x34]
fld dword [0x483538]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x58], edx
mov eax, dword [eax + 0x20]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x3c]
fchs
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0xc4]
fstp dword [esp + 0x24]
push eax
push ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x34], edx
call fcn.004182c0
lea edx, [esp + 0x3c]
push eax
push edx
lea ecx, [esp + 0xfc]
call fcn.00435db0
mov ecx, 0xc
mov esi, eax
mov edi, 0x48356c
rep movsd dword es:[edi], dword [esi]
cmp dword [0x485474], ebx
je 0x44fcd5
mov dword [0x485474], ebx
jmp 0x44fcda
call fcn.00447f30
cmp dword [0x485478], ebx
je 0x44fda1
mov dword [0x485478], ebx
mov dword [0x4840ac], 0xffffffff
mov dword [0x485494], ebp
mov dword [0x485468], ebp
mov dword [0x47e140], ebx
mov dword [0x4819a0], ebx
call fcn.004397b0
call fcn.00417420
mov dword [0x483a04], ebp
mov byte [0x485668], bl
mov dword [0x4854f0], ebp
call fcn.0043ac80
mov eax, dword [0x485654]
mov dword [0x48549c], ebp
cmp eax, ebx
je 0x44fda1
mov eax, dword [0x480ed8]
mov esi, 2
cmp eax, esi
jne 0x44fda1
push str.Math_Difficulty
mov dword [0x485654], ebx
mov dword [0x4813a8], ebp
mov dword [0x484b24], ebx
mov dword [0x484b28], ebx
call fcn.0043ad00
inc eax
push str.Numbers__1_2_3..._
mov dword [0x484b28], eax
call fcn.0043ad00
push str.Addition
mov dword [0x484b2c], eax
call fcn.0043ad00
add esp, 0xc
mov dword [0x484b30], eax
mov dword [0x46c82c], ebp
mov dword [0x4840ac], esi
cmp dword [0x485460], ebx
je 0x44f7e3
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x114
ret