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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x834
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
push edi
or eax, 0xffffffff
push esi
push ebx
mov dword [esp + 0x44], 6
mov dword [esp + 0x28], 0xffffff9c
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0x3ff00000
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0x40040000
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], 1
call fcn.00415300
mov edi, eax
add esp, 8
cmp edi, esi
jne 0x4405cd
mov ecx, 0x1e
xor eax, eax
lea edi, [esp + 0x390]
mov dword [esp + 0x388], esi
rep stosd dword es:[edi], eax
mov ecx, 6
lea edi, [esp + 0x90]
rep stosd dword es:[edi], eax
mov ecx, 6
lea edi, [esp + 0xb0]
rep stosd dword es:[edi], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
lea eax, [esp + 0x84]
push eax
mov dword [esp + 0x74], 0x3ff00000
call fcn.00476eb0
lea ecx, [esp + 0x24]
push ecx
push esi
push 0x9c
call fcn.0040c0d0
lea edx, [esp + 0x6c]
push edx
push esi
push 0x9d
call fcn.0040c0d0
lea eax, [esp + 0x1a4]
push eax
push 0x200
push 0x12
call fcn.0040c0d0
lea ecx, [esp + 0xc8]
push esi
lea edx, [esp + 0xc4]
push ecx
lea eax, [esp + 0xc0]
push edx
lea ecx, [esp + 0x70]
push eax
push ecx
call fcn.00475190
lea edx, [esp + 0xb8]
push esi
lea eax, [esp + 0xb4]
push edx
lea ecx, [esp + 0xb0]
push eax
lea edx, [esp + 0x84]
push ecx
push edx
mov dword [esp + 0x8c], 7
call fcn.00475190
fld qword [esp + 0xc4]
fld qword [esp + 0xbc]
fpatan
add esp, 0x50
fmul qword [0x5d57b0]
fstp qword [esp + 0x40]
fld qword [0x5d5448]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x4401e6
fld qword [esp + 0x40]
fadd qword [0x5d5790]
fstp qword [esp + 0x40]
lea eax, [esp + 0x108]
mov byte [esp + 0x108], 0
push eax
push 0x80
push 0xc7
call fcn.0040c0d0
add esp, 0xc
test eax, eax
je 0x440223
lea ecx, [esp + 0x108]
push ecx
push 0x80
push 0x7a
call fcn.0040c0d0
add esp, 0xc
lea edx, [esp + 0x48]
push 0
lea eax, [esp + 0x10c]
push edx
push eax
lea ecx, [esp + 0x24]
push 0
push ecx
mov dword [esp + 0x2c], 0x3c
call fcn.00430de0
lea edx, [esp + 0x5c]
push 0
lea eax, [esp + 0x30]
push edx
push eax
call fcn.00431b10
lea ecx, [esp + 0x3c]
push ecx
push 0
push 0xcc
call fcn.0043ebc0
lea edx, [esp + 0x8c]
push edx
push 0
push 0x42
call fcn.0043ebc0
lea eax, [esp + 0x68]
push eax
push 0
push 0x4b
call fcn.0043ebc0
fld qword [esp + 0x74]
fmul qword [esp + 0xa4]
add esp, 0x44
lea ecx, [esp + 0x3c0]
lea edx, [esp + 0x68]
lea eax, [esp + 0x1c]
push 0
push 0
fst qword [esp + 0x38]
fmul qword [0x5d57b8]
push ecx
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov dword [esp + 0x80], 0x40
fstp qword [esp + 0xc0]
mov dword [esp + 0x30], 0x17
call fcn.00431880
lea edx, [esp + 0x3a0]
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x1a4]
push eax
push ecx
mov dword [esp + 0x3bc], 0
mov dword [esp + 0x3c0], 0x3ff00000
call fcn.00477020
add ebx, 4
push 0
push ebx
call fcn.00415300
add esp, 0x2c
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4405c9
lea edx, [esp + 0x28]
push eax
push edx
mov dword [esp + 0x30], 0xa
call fcn.004137a0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4405c9
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xc8]
push eax
push str._GTOL__d
push ecx
call fcn.005bfd29
lea edx, [esp + 0xd4]
push edx
push 1
call fcn.00413440
lea eax, [esp + 0x64]
push 0
lea ecx, [esp + 0x68]
push eax
lea edx, [esp + 0x6c]
push ecx
push edx
call fcn.0043c520
lea eax, [esp + 0x38]
push 0
push eax
push 0
mov byte [esp + 0x1b8], 0
call fcn.0042a5b0
mov edi, eax
add esp, 0x30
test edi, edi
je 0x4404f6
test dword [edi + 0x184], 0x80000
je 0x44041e
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0xb0]
push ecx
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x38]
push eax
push ecx
lea eax, [esp + 0x94]
push edx
lea ecx, [esp + 0x19c]
push eax
push ecx
call fcn.0043ff30
mov ebx, eax
add esp, 0x1c
test ebx, ebx
mov dword [esp + 0x10], ebx
jne 0x4404fa
fld qword [esp + 0xb8]
fsub qword [esp + 0xa8]
mov dword [esp + 0x2c], 3
mov dword [esp + 0x24], 1
mov byte [esp + 0x188], al
fstp qword [esp + 0xb8]
lea ebx, [esi + 1]
lea edx, [esp + 0x14]
push ebx
push edx
push 0
call fcn.0042a5b0
add esp, 0xc
test eax, eax
je 0x44044b
mov ecx, dword [eax + 0x184]
mov dword [esp + 0x4c], 0
test ecx, 0x80000
je 0x440453
mov dword [esp + 0x4c], 1
mov esi, 0x5e7998
lea eax, [edi + 0x140]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x440482
test cl, cl
je 0x44047e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x440482
add eax, 2
add esi, 2
test cl, cl
jne 0x44045e
xor eax, eax
jmp 0x440487
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x440497
lea eax, [edi + 0x10]
push eax
call fcn.0043fab0
add esp, 4
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
add edi, 0x10
push ecx
push edx
push edi
call fcn.0043f8e0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x194]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x30], eax
and ecx, 3
lea eax, [esp + 0x20]
rep movsb byte es:[edi], byte [esi]
mov esi, ebx
push esi
push eax
push 0
call fcn.0042a5b0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x4403a4
mov ebx, dword [esp + 0x10]
mov al, byte [esp + 0x188]
test al, al
je 0x44053f
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0xb0]
push ecx
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x38]
push eax
push ecx
lea eax, [esp + 0x94]
push edx
lea ecx, [esp + 0x19c]
push eax
push ecx
call fcn.0043ff30
add esp, 0x1c
mov dword [esp + 0x10], eax
mov ebx, eax
push 0
call fcn.00413680
add esp, 4
mov dword [esp + 0x28], 0xc
test ebx, ebx
jne 0x4405c9
lea edx, [esp + 0x28]
push ebx
push edx
call fcn.004137a0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4405c9
lea eax, [esp + 0x84]
push eax
call fcn.00476f00
lea ecx, [esp + 0x24]
push ecx
push 0x9c
call fcn.00413440
lea edx, [esp + 0xd4]
push edx
push 0x23
call fcn.00413440
lea eax, [esp + 0x54]
push eax
push 0x13
call fcn.00413440
lea ecx, [esp + 0xbc]
push ebx
lea edx, [esp + 0xb8]
push ecx
lea eax, [esp + 0xb4]
push edx
push eax
call fcn.0043c520
push ebx
call fcn.00413680
add esp, 0x30
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ecx
call fcn.0042e820
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret