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

Disassembly:
sub esp, 0x30
mov eax, dword [esp + 0x68]
push ebx
push ebp
push esi
xor esi, esi
mov ebp, ecx
mov ecx, dword [esp + 0x80]
mov dword [eax], esi
mov eax, dword [esp + 0x40]
push edi
cmp eax, esi
mov dword [esp + 0x28], ebp
mov byte [ecx], 0
je 0x49803f
mov ebx, dword [esp + 0x48]
cmp ebx, esi
je 0x49803f
cmp dword [esp + 0x6c], esi
je 0x49803f
push 1
mov ecx, ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
call fcn.00494af0
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x30], esi
cmp edi, esi
je 0x497a6e
fld dword [ebx]
fsub dword [edi]
fld dword [ebx + 4]
fsub dword [edi + 4]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp dword [esp + 0x20]
fstp st(0)
fstp st(0)
jmp 0x497a76
mov dword [esp + 0x20], 0
push esi
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push ebx
push esi
push 1
push 1
mov ecx, ebp
call fcn.00495e80
mov esi, eax
test esi, esi
je 0x49803f
mov ecx, dword [esp + 0x44]
push ebx
call fcn.00494660
test al, al
mov byte [esp + 0x13], al
je 0x497b32
push esi
push 1
mov ecx, ebp
call fcn.00496330
xor bl, bl
mov edi, 0x65226c
fld dword [esp + 0x54]
fmul dword [edi - 4]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x38]
fadd st(0), st(0)
push edx
fadd dword [eax]
fstp dword [esp + 0x3c]
fld dword [esp + 0x58]
fmul dword [edi]
fadd st(0), st(0)
fadd dword [eax + 4]
fstp dword [esp + 0x40]
call fcn.00494660
test al, al
jne 0x497b10
mov eax, dword [esp + 0x4c]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [esp + 0x48]
push eax
push ecx
push esi
push 1
push 1
mov ecx, ebp
call fcn.00495e80
mov bl, 1
add edi, 8
cmp edi, 0x6522ec
jl 0x497abc
test bl, bl
jne 0x497b2e
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x30
ret 0x44
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
cmp edx, eax
jge 0x497fc2
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
cmp dword [ecx], eax
jge 0x497fc2
mov ecx, dword [esp + 0x1c]
mov esi, dword [ebp + 0x48]
inc ecx
test esi, esi
mov dword [esp + 0x1c], ecx
je 0x497fc2
push esi
push 1
mov ecx, ebp
call fcn.00496330
fld dword [esi]
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 1
jne 0x497b32
mov ecx, dword [ebp]
fild dword [ecx + 8]
fsub dword [esp + 0x54]
fcomp dword [esi]
fnstsw ax
test ah, 1
jne 0x497b32
fld dword [esi + 4]
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 1
jne 0x497b32
fild dword [ecx + 0xc]
fsub dword [esp + 0x54]
fcomp dword [esi + 4]
fnstsw ax
test ah, 1
jne 0x497b32
fild dword [ebp + 0xb0]
fadd dword [esp + 0x54]
fcomp dword [esi]
fnstsw ax
test ah, 0x41
je 0x497fc2
mov edx, dword [ebp + 0xb8]
fld dword [esi]
inc edx
fst dword [esp + 0x24]
mov dword [esp + 0x48], edx
fild dword [esp + 0x48]
fsub dword [esp + 0x54]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x497fc2
fild dword [ebp + 0xb4]
fadd dword [esp + 0x54]
fcomp dword [esi + 4]
fnstsw ax
test ah, 0x41
je 0x497fc2
mov eax, dword [ebp + 0xbc]
fld dword [esi + 4]
inc eax
fst dword [esp + 0x2c]
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fsub dword [esp + 0x54]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x497fc2
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x497c67
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
push 0
push edx
push eax
call fcn.0052bce0
fsub dword [esp + 0x54]
fld dword [0x620de0]
fadd dword [esp + 0x58]
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x497fa2
jmp 0x497ca8
test edi, edi
je 0x497d12
fld dword [esi]
fsub dword [edi]
fld dword [esi + 4]
fsub dword [edi + 4]
fld dword [esp + 0x54]
fadd dword [esp + 0x58]
fld st(1)
fmul st(2)
fld st(3)
fmul st(4)
faddp st(1)
fld st(1)
fmul st(2)
fadd dword [0x620de0]
fcompp
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 1
fstp st(0)
je 0x497fa2
test edi, edi
je 0x497d12
fld dword [esi + 0x14]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
je 0x497cc5
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x5c]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push edx
mov edx, dword [esi + 4]
push eax
mov eax, dword [esi]
push ecx
mov ecx, dword [ebp]
push edx
push eax
call fcn.0049c2d0
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [edi + 4]
push edx
mov edx, dword [edi]
push eax
mov eax, dword [esi + 4]
push 0x40
push ecx
mov ecx, dword [esi]
push edx
push eax
push ecx
mov ecx, dword [ebp]
call fcn.0049c6e0
test al, al
je 0x497fa8
xor ebx, ebx
mov ecx, 0x620dfc
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x48], ecx
mov eax, dword [esi + 0x24]
cmp eax, ebx
je 0x497f64
test eax, eax
jne 0x497d3c
cmp ecx, 0x620e04
je 0x497f64
cmp eax, 1
jne 0x497d4d
cmp ecx, 0x620dfc
je 0x497f64
cmp eax, 2
jne 0x497d5e
cmp ecx, 0x620e14
je 0x497f64
cmp eax, 3
jne 0x497d6f
cmp ecx, 0x620e0c
je 0x497f64
mov eax, dword [esi + 0x20]
test eax, eax
jne 0x497d82
cmp ecx, 0x620dfc
je 0x497f64
cmp eax, 1
jne 0x497d93
cmp ecx, 0x620e0c
je 0x497f64
cmp eax, 2
jne 0x497da4
cmp ecx, 0x620e04
je 0x497f64
cmp eax, 3
jne 0x497db5
cmp ecx, 0x620e14
je 0x497f64
lea edx, [esp + 0x14]
lea eax, [esp + 0x34]
push edx
mov edx, dword [esi + 0x1c]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, dword [esp + 0x50]
push edx
push ebx
push esi
call fcn.00493c00
test al, al
jne 0x497f81
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push ebx
push esi
mov byte [eax], 1
call fcn.00493ff0
test al, al
je 0x497f60
test edi, edi
je 0x497e15
mov eax, dword [esp + 0x14]
push 1
push ebx
push eax
push 0xffffffffffffffff
jmp 0x497f8e
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
cmp dword [eax], edx
jge 0x497f60
mov al, byte [esp + 0x64]
test al, al
je 0x497e52
mov eax, dword [esp + 0x48]
fld dword [eax - 4]
fmul dword [0x620298]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [eax]
fmul dword [0x620298]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x3c]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [esp + 0x48]
push 0
push ecx
push esi
push 0
push 1
mov ecx, ebp
call fcn.00495e80
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x6c]
xor edi, edi
mov esi, eax
mov ebp, dword [edx]
test ebp, ebp
jle 0x497ef6
lea edx, [ebx + 0x14]
mov eax, dword [edx - 8]
mov ecx, dword [edx]
fld dword [esi]
lea eax, [eax + eax*2]
fsub dword [ecx + eax*4 - 0xc]
lea ecx, [ecx + eax*4 - 0xc]
fstp dword [esp + 0x24]
and dword [esp + 0x24], 0x7fffffff
fld dword [esp + 0x24]
fcomp dword [0x620de4]
fnstsw ax
test ah, 1
je 0x497ed4
fld dword [esi + 4]
fsub dword [ecx + 8]
fstp dword [esp + 0x24]
and dword [esp + 0x24], 0x7fffffff
fld dword [esp + 0x24]
fcomp dword [0x620de4]
fnstsw ax
test ah, 1
jne 0x497ede
inc edi
add edx, 0x34
cmp edi, ebp
jl 0x497e82
jmp 0x497ef6
lea edx, [edi + edi*2]
lea eax, [edi + edx*4]
fld dword [ebx + eax*4 + 0x18]
fcomp dword [esi + 0x18]
fnstsw ax
test ah, 1
jne 0x497f54
mov ebx, dword [esp + 0x6c]
cmp edi, ebp
jne 0x497f03
mov ecx, dword [esp + 0x78]
inc ebp
mov dword [ecx], ebp
jmp 0x497f11
lea edx, [edi + edi*2]
lea eax, [edi + edx*4]
mov dword [ebx + eax*4 + 0xc], 0
mov eax, dword [esp + 0x80]
lea ecx, [edi + edi*2]
push eax
mov eax, dword [esp + 0x60]
lea edx, [edi + ecx*4]
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x30]
lea ebp, [ebx + edx*4]
mov edx, dword [esp + 0x70]
push edx
push eax
push esi
push ebp
call fcn.00498050
fld dword [esi + 0x18]
mov eax, dword [esp + 0x70]
fstp dword [ebp + 0x18]
test eax, eax
je 0x497f54
mov ecx, dword [esp + 0x14]
mov dword [eax + edi*4], ecx
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
add ecx, 8
inc ebx
cmp ecx, 0x620e1c
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x48], ecx
jl 0x497d21
jmp 0x497b32
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
push 1
push ebx
push edx
push eax
lea ecx, [esp + 0x48]
push edi
push ecx
push esi
push 1
push 1
mov ecx, ebp
call fcn.00495e80
jmp 0x497f60
mov dword [esp + 0x18], esi
jmp 0x497fc2
push 0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push edi
push esi
push 0
push 1
mov ecx, ebp
call fcn.00495e80
mov dword [esp + 0x18], eax
test edi, edi
je 0x49800f
mov esi, dword [esp + 0x18]
test esi, esi
je 0x497fd2
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x498030
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x78]
push ecx
push eax
push edx
mov ecx, ebp
call fcn.00498050
xor eax, eax
pop edi
test esi, esi
pop esi
pop ebp
sete al
pop ebx
add esp, 0x30
ret 0x44
mov eax, dword [esp + 0x78]
cmp dword [eax], 0
jle 0x498030
mov dl, byte [esp + 0x13]
xor eax, eax
test dl, dl
pop edi
pop esi
setne al
pop ebp
add eax, 4
pop ebx
add esp, 0x30
ret 0x44
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x30
ret 0x44
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
add esp, 0x30
ret 0x44