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

Disassembly:
sub esp, 0x78
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + 8]
push ebx
mov ebx, ecx
fld dword [ebx + 0x24]
mov ecx, dword [eax + 4]
fld qword [0x30293678]
push ebp
push esi
fucompp
sub ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0xc]
fnstsw ax
sub ecx, edx
test ah, 0x44
push edi
mov dword [esp + 0x30], ecx
jp 0x3003bd01
mov dword [esp + 0x1c], 0x3f800000
jmp 0x3003bd0e
fld dword [0x3029673c]
fdiv dword [ebx + 0x24]
fstp dword [esp + 0x1c]
mov esi, dword [esp + 0x98]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edi, dword [esi + 0xc]
mov ebp, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x54], eax
lea eax, [esp + 0x78]
push eax
push 0
push 0
push 0
sub edi, ebp
push 0
mov dword [esp + 0x88], edi
call fcn.30077090
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x90]
push edx
push eax
call fcn.300802a0
mov edx, dword [esp + 0xb4]
mov ebp, eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x34]
push ecx
sar eax, 2
push esi
push edx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x3c], eax
call fcn.300802a0
fld dword [ebx + 0x28]
mov edx, dword [esp + 0x40]
fsub dword [0x30296738]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x14]
fstp dword [esp + 0x54]
sar edx, 2
mov dword [esp + 0x40], edx
cdq
sub eax, edx
mov edx, eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 8]
sar edx, 1
sub eax, edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x18]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
add esp, 0x2c
test edi, edi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x34], 0
jle 0x3003c0d9
jmp 0x3003bde0
mov eax, dword [esp + 0x54]
test eax, eax
mov dword [esp + 0x18], 0
jle 0x3003c0b9
mov ecx, dword [ebx + 0x18]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], eax
jle 0x3003bfa8
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
add ecx, eax
mov dword [esp + 0x50], ecx
mov al, byte [ebx + 0x2d]
test al, al
mov esi, ecx
je 0x3003be53
test ecx, ecx
jge 0x3003be48
xor esi, esi
jmp 0x3003be53
mov eax, dword [esp + 0x30]
cmp ecx, eax
jl 0x3003be53
lea esi, [eax - 1]
mov eax, dword [ebx + 0x14]
xor edi, edi
test eax, eax
jle 0x3003bf8f
mov eax, dword [esp + 0x24]
fld dword [0x302fd40c]
mov edx, dword [ebx + 0x1c]
fld dword [edx + eax*4]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x3003bf7f
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
lea eax, [edi + ecx]
mov cl, byte [ebx + 0x2d]
add eax, edx
test cl, cl
je 0x3003bec8
test eax, eax
jge 0x3003be99
xor eax, eax
jmp 0x3003bea4
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
jl 0x3003bea4
lea eax, [ecx - 1]
mov ecx, dword [esp + 0x8c]
mov edx, esi
imul edx, dword [esp + 0x10]
add edx, eax
mov eax, dword [ebp + edx*4]
cmp dword [ecx], 8
jne 0x3003bf03
push eax
call fcn.30080120
add esp, 4
jmp 0x3003bf03
test eax, eax
jl 0x3003bf00
cmp eax, dword [esp + 0x2c]
jge 0x3003bf00
test esi, esi
jl 0x3003bf00
cmp esi, dword [esp + 0x30]
jge 0x3003bf00
mov ecx, dword [esp + 0x8c]
mov edx, esi
imul edx, dword [esp + 0x10]
add edx, eax
mov eax, dword [ebp + edx*4]
cmp dword [ecx], 8
jne 0x3003bf03
push eax
call fcn.30080120
add esp, 4
jmp 0x3003bf03
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x1c]
mov ecx, dword [esp + 0x24]
lea ecx, [edx + ecx*4]
mov edx, eax
sar edx, 0x18
and edx, 0xff
mov dword [esp + 0x60], edx
fild dword [esp + 0x60]
mov edx, eax
and edx, 0xff
fmul dword [ecx]
mov dword [esp + 0x60], edx
mov edx, eax
fadd dword [esp + 0x44]
sar edx, 8
and edx, 0xff
fstp dword [esp + 0x44]
sar eax, 0x10
fild dword [esp + 0x60]
mov dword [esp + 0x60], edx
and eax, 0xff
fmul dword [ecx]
fadd dword [esp + 0x40]
fstp dword [esp + 0x40]
fild dword [esp + 0x60]
mov dword [esp + 0x60], eax
fmul dword [ecx]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x3c]
fild dword [esp + 0x60]
fmul dword [ecx]
mov ecx, dword [esp + 0x50]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
inc dword [esp + 0x24]
mov eax, dword [ebx + 0x14]
inc edi
cmp edi, eax
jl 0x3003be60
mov eax, dword [esp + 0x4c]
mov edx, dword [ebx + 0x18]
inc eax
inc ecx
cmp eax, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
jl 0x3003be37
fld dword [esp + 0x38]
fmul dword [esp + 0x1c]
fadd dword [esp + 0x28]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fistp dword [esp + 0x64]
fld dword [esp + 0x3c]
mov eax, dword [esp + 0x64]
fmul dword [esp + 0x1c]
fadd dword [esp + 0x28]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fistp dword [esp + 0x68]
fld dword [esp + 0x40]
mov ecx, dword [esp + 0x68]
fmul dword [esp + 0x1c]
mov edi, ecx
fadd dword [esp + 0x28]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fistp dword [esp + 0x6c]
test eax, eax
mov edx, dword [esp + 0x6c]
mov esi, edx
jge 0x3003c008
xor eax, eax
jmp 0x3003c014
cmp eax, 0xff
jle 0x3003c014
mov eax, 0xff
test ecx, ecx
jge 0x3003c01c
xor edi, edi
jmp 0x3003c029
cmp ecx, 0xff
jle 0x3003c029
mov edi, 0xff
test edx, edx
jge 0x3003c031
xor esi, esi
jmp 0x3003c03e
cmp edx, 0xff
jle 0x3003c03e
mov esi, 0xff
mov ecx, dword [esp + 0x94]
cmp dword [ecx], 8
jne 0x3003c088
mov cl, byte [ebx + 0x2c]
test cl, cl
jne 0x3003c0e5
fld dword [esp + 0x44]
fmul dword [esp + 0x1c]
fadd dword [esp + 0x28]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fistp dword [esp + 0x70]
mov ecx, dword [esp + 0x70]
test ecx, ecx
jge 0x3003c07c
xor ecx, ecx
jmp 0x3003c183
cmp ecx, 0xff
jle 0x3003c177
or eax, 0xffffff00
shl eax, 8
or eax, edi
shl eax, 8
or eax, esi
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [edx + ecx*4], eax
mov eax, ecx
mov ecx, dword [esp + 0x54]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x3003bdf4
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
lea ecx, [edx + eax*4]
mov eax, dword [esp + 0x34]
inc eax
cmp eax, edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], eax
jl 0x3003bde0
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x78
ret 0x14
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx]
mov ebp, dword [esp + 0x18]
mov ecx, dword [ecx + 8]
add edx, ebp
add ecx, dword [esp + 0x34]
cmp byte [ebx + 0x2d], 0
je 0x3003c149
test ecx, ecx
jge 0x3003c109
xor ecx, ecx
jmp 0x3003c114
mov ebp, dword [esp + 0x30]
cmp ecx, ebp
jl 0x3003c114
lea ecx, [ebp - 1]
test edx, edx
jge 0x3003c12c
imul ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x48]
xor edx, edx
add ecx, edx
movzx ecx, byte [ebp + ecx*4 + 3]
jmp 0x3003c177
mov ebp, dword [esp + 0x2c]
cmp edx, ebp
jl 0x3003c137
lea edx, [ebp - 1]
imul ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x48]
add ecx, edx
movzx ecx, byte [ebp + ecx*4 + 3]
jmp 0x3003c177
test edx, edx
jl 0x3003c16f
cmp edx, dword [esp + 0x2c]
jge 0x3003c16f
test ecx, ecx
jl 0x3003c16f
cmp ecx, dword [esp + 0x30]
jge 0x3003c16f
imul ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x48]
add ecx, edx
movzx ecx, byte [ebp + ecx*4 + 3]
jmp 0x3003c177
movsx ecx, byte [ebx + 0x33]
mov ebp, dword [esp + 0x48]
cmp ecx, 0xff
je 0x3003c088
or eax, 0xffffff00
shl eax, 8
or eax, edi
shl eax, 8
push ecx
or eax, esi
push eax
call fcn.30080090
add esp, 8
jmp 0x3003c097