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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x74
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
mov eax, ecx
mov ecx, dword [ebx + 0x84]
push edi
mov edi, dword [eax + 0x20]
shl esi, 6
add esi, edi
test ecx, ecx
jl 0x5d630c
mov edx, dword [esi + 0x1c]
mov edi, ecx
sar edi, 3
and ecx, 7
shl edx, 7
add edx, edi
mov edi, dword [eax + 0x30]
mov ebx, 1
shl ebx, cl
test byte [edx + edi], bl
jne 0x5d66f1
mov ebx, dword [ebp + 0xc]
mov dl, byte [ebx + 0x44]
xor ecx, ecx
mov cx, word [esi + 0x1a]
xor ecx, 0x60
test dl, cl
jne 0x5d66f1
movsx edi, word [esi + 0x18]
mov ecx, dword [eax + 0x18]
imul edi, edi, 0x44
mov eax, dword [ebp + 0x10]
add edi, ecx
cmp eax, 1
jne 0x5d637c
fld dword [esi + 4]
mov edx, dword [esi]
fstp dword [esp + 0x14]
fld dword [esi + 8]
push 0
fstp dword [esp + 0x1c]
fld dword [esi + 0xc]
lea eax, [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esi + 0x10]
push eax
fstp dword [esp + 0x2c]
fld dword [esi + 0x14]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [ebx + 0x40]
fstp dword [esp + 0x34]
mov dword [esp + 0x1c], edx
call fcn.0048ac30
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5d66f1
fld dword [0x7a47cc]
push ecx
fadd dword [edi + 0x3c]
lea edx, [esi + 0x20]
fstp dword [esp]
push edx
push ebx
call fcn.005d6220
add esp, 0xc
cmp eax, 1
mov dword [esp + 0xc], eax
jle 0x5d66f1
mov ebx, dword [ebx + 0x44]
test bh, 0x18
jne 0x5d646a
test bl, 0x20
je 0x5d63c5
cmp eax, 0x10
jl 0x5d66f1
mov ebx, dword [edi + 0x34]
jmp 0x5d648a
call fcn.005b95c0
cmp eax, 3
mov eax, dword [esp + 0xc]
jl 0x5d63e4
cmp eax, 0x17
jl 0x5d66f1
mov ebx, dword [edi + 0x34]
jmp 0x5d648a
cmp eax, 0x11
jl 0x5d66f1
mov eax, dword [edi + 0x30]
fld dword [0x7d7d3c]
test eax, eax
je 0x5d6446
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x5d6446
cmp word [ecx + 0x14], 0x28
jge 0x5d6412
fstp st(0)
fld dword [0x7a47dc]
jmp 0x5d6446
fld dword [ecx + 0x94]
fcomp dword [0x7d7d3c]
fnstsw ax
test ah, 0x41
jne 0x5d6446
fstp st(0)
fld dword [ecx + 0x98]
fcom dword [0x7a47e0]
fnstsw ax
test ah, 5
jp 0x5d6442
fstp st(0)
fld dword [0x7a47e0]
fidivr dword [esp + 0xc]
fcomp dword [0x7a47dc]
fnstsw ax
test ah, 1
jne 0x5d63bd
call fcn.005bdea0
cmp eax, 2
jne 0x5d63bd
mov ebx, dword [edi + 0x30]
jmp 0x5d648a
test byte [esi + 0x1b], 4
je 0x5d647e
cmp eax, 0x20
jl 0x5d66f1
mov ebx, dword [edi + 0x34]
jmp 0x5d648a
cmp eax, 0x20
jl 0x5d66f1
mov ebx, dword [edi + 0x38]
test ebx, ebx
je 0x5d66f1
test byte [esi + 0x1b], 1
je 0x5d64c7
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x4c]
cmp eax, dword [ecx + 0x50]
jae 0x5d66f1
lea edx, [eax + 0xc]
mov dword [ecx + 0x4c], edx
mov ecx, dword [ebp + 0x10]
add ebx, ecx
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [eax + 8], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
call fcn.00401ea0
mov edi, eax
add esp, 4
test edi, edi
je 0x5d66f1
push edi
mov ecx, esi
call fcn.005d5f90
lea eax, [edi + 0x30]
push eax
mov ecx, esi
call fcn.005d5f60
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x44]
test ah, 8
je 0x5d6501
fld dword [edi + 0x28]
fchs
fstp dword [edi + 0x28]
mov eax, dword [ecx + 0x4c]
cmp eax, dword [ecx + 0x50]
mov dword [esp + 0xc], eax
jae 0x5d66f1
lea edx, [eax + 0xc]
mov dword [ecx + 0x4c], edx
mov edx, dword [ebp + 0x10]
add edx, ebx
mov dword [eax], edx
mov edx, dword [ecx + 0x44]
test dh, 0x40
je 0x5d6570
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x5d6570
mov dl, byte [ecx + 0xe]
test dl, dl
jns 0x5d6570
fld dword [0x7a47e4]
push edi
fmul dword [edi + 0x30]
call fcn.0075bc00
cdq
mov ecx, 0x168
idiv ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x40]
push edx
lea edx, [esp + 0x48]
push edx
push ecx
call fcn.006132c0
lea edx, [esp + 0x50]
push edx
push edi
push edi
call fcn.0043c9f0
mov eax, dword [esp + 0x28]
add esp, 0x1c
push 1
mov dword [eax + 4], edi
mov dword [eax + 8], esi
call fcn.0048b1b0
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x40]
add esp, 4
cmp ecx, eax
je 0x5d659f
push 2
call fcn.0048b1b0
mov ecx, dword [esi + 0x40]
add esp, 4
cmp ecx, eax
jne 0x5d66f1
push 0
mov ecx, ebx
call fcn.0048d830
mov edi, eax
test edi, edi
je 0x5d66f1
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x5d66df
push 1
call fcn.0048b1b0
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + 0x40]
xor ecx, ecx
cmp esi, eax
mov esi, dword [edi + 4]
setne cl
xor eax, eax
inc ecx
cmp esi, 3
sete al
push ecx
push eax
call fcn.0048aaf0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5d66df
mov eax, dword [ebx + 0xc]
fld dword [edi + 0x40]
fsub dword [eax + 0x70]
mov ecx, dword [esp + 0xc]
fstp dword [esp + 0x20]
fld dword [edi + 0x44]
fsub dword [eax + 0x74]
fstp dword [esp + 0x24]
fld dword [edi + 0x48]
fsub dword [eax + 0x78]
mov eax, dword [ecx + 4]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fmul dword [eax + 0x20]
fld dword [esp + 0x24]
fmul dword [eax + 0x10]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [eax]
faddp st(1)
fadd dword [eax + 0x30]
fld dword [esp + 0x28]
fmul dword [eax + 0x24]
fld dword [esp + 0x24]
fmul dword [eax + 0x14]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [eax + 4]
faddp st(1)
fadd dword [eax + 0x34]
fld dword [esp + 0x28]
fmul dword [eax + 0x28]
fld dword [esp + 0x24]
fmul dword [eax + 0x18]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [eax + 8]
faddp st(1)
fadd dword [eax + 0x38]
fstp dword [esp + 0x38]
fxch st(1)
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [esp + 0x38]
mov dword [esi + 0x10], edx
fld st(1)
fstp dword [esi + 0x14]
fstp dword [esi + 0x18]
mov al, byte [edi + 4]
add al, 0xa
mov byte [esi + 0x2c], al
cmp dword [edi + 4], 3
jne 0x5d66d9
mov byte [esi + 0x2d], 4
mov eax, dword [ecx + 4]
fsub dword [eax + 0x34]
lea ecx, [esp + 0x10]
fld dword [esp + 0x20]
push ecx
fsub dword [eax + 0x30]
lea edx, [esp + 0x14]
push edx
fstp dword [esp + 0x18]
fstp dword [esp + 0x1c]
call fcn.0043cec0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add esp, 8
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], 0
jmp 0x5d66df
fstp st(0)
mov byte [esi + 0x2d], 2
push edi
mov ecx, ebx
call fcn.0048d830
mov edi, eax
test edi, edi
jne 0x5d65b2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc