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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x30
mov eax, dword [0x88b12c]
push ebx
mov ebx, ecx
mov ecx, dword [eax + 0x9e0]
imul ecx, ecx, 0x32
mov eax, 0x1b4e81b5
imul ecx
push ebp
sar edx, 7
push esi
mov eax, edx
xor esi, esi
shr eax, 0x1f
mov dword [ebx + 0xe10], esi
mov esi, dword [ebx + 0xe38]
add eax, edx
push edi
lea ecx, [ebx + 0x33d8]
mov dword [ebx + 0xe14], eax
mov dword [esp + 0x20], esi
call fcn.004363d0
mov ebp, 1
add dword [ebx + 0x3448], ebp
mov ecx, ebx
call fcn.007381f0
mov eax, dword [ebx + 0x38]
cdq
mov ecx, 0xa
idiv ecx
test edx, edx
jne 0x6f4d5e
cmp dword [ebx + 0x3098], edx
je 0x6f4d5e
lea ecx, [ebx + 0x3288]
call fcn.00436230
fmul qword [0x82e0a0]
mov ecx, dword [ebx + 0x3098]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
sub esp, 8
fstp qword [esp]
call eax
cmp dword [ebx + 0xe38], esi
je 0x6f4f61
fldz
fcomp dword [ebx + 0x3280]
fnstsw ax
test ah, 0x44
jp 0x6f4de2
mov edx, dword [ebx]
mov eax, dword [edx + 0x2ec]
mov ecx, ebx
call eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fdiv qword [0x82e648]
fmul qword [0x82ddd8]
fadd qword [0x82e290]
fld qword [0x7a8008]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x6f4dd8
mov edx, dword [ebx]
fstp st(0)
mov eax, dword [edx + 0x2ec]
mov ecx, ebx
call eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fdiv qword [0x82e648]
fmul qword [0x82ddd8]
fadd qword [0x82e290]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x6f4de8
fld dword [ebx + 0x3280]
fadd dword [ebx + 0x327c]
push ecx
lea esi, [ebx + 0x3100]
fstp dword [ebx + 0x327c]
fld dword [ebx + 0x3274]
fdiv qword [0x82dc58]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.0041c9b0
fld dword [ebx + 0x3274]
fdiv qword [0x82dc58]
push ecx
lea esi, [ebx + 0x3178]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.0041c9b0
fld dword [ebx + 0x3274]
fdiv qword [0x82dc58]
push ecx
lea esi, [ebx + 0x31f0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.0041c9b0
mov edx, dword [ebx]
mov eax, dword [edx + 0x368]
add dword [ebx + 0x30a0], ebp
mov ecx, ebx
call eax
test al, al
jne 0x6f4ef2
mov edx, dword [ebx]
mov eax, dword [edx + 0x2ec]
mov ecx, ebx
call eax
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x64
mov esi, ecx
sub esi, edx
jne 0x6f4ef2
lea edx, [ecx - 1]
cmp edx, 0x31f
ja 0x6f4ef2
cmp ecx, dword [ebx + 0x30ec]
je 0x6f4ef2
and eax, 0x80000001
jns 0x6f4ebc
dec eax
or eax, 0xfffffffe
inc eax
jne 0x6f4ec2
fldz
jmp 0x6f4ec8
fld dword [0x82ea78]
mov edx, dword [0x880e80]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
mov eax, dword [0x88b12c]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x82e128]
fstp qword [esp]
push 0
call fcn.007488f0
mov eax, dword [ebx + 0xe38]
cdq
mov ecx, 0x96
idiv ecx
test edx, edx
jne 0x6f4f61
lea esi, [ecx - 0x59]
or edi, 0xffffffff
lea ebx, [ebx]
xor edx, edx
cmp edx, 7
mov eax, edx
jl 0x6f4f1e
mov eax, 7
add eax, esi
cmp edx, 8
mov eax, dword [ebx + eax*4]
jge 0x6f4f59
test eax, eax
je 0x6f4f55
mov ecx, dword [eax + 0x228]
test ecx, 0x40000
je 0x6f4f55
add dword [eax + 0x244], edi
cmp dword [eax + 0x244], 0
jg 0x6f4f55
and ecx, 0xfff9ffff
mov dword [eax + 0x228], ecx
add edx, ebp
jmp 0x6f4f12
add esi, 8
cmp esi, 0x7d
jl 0x6f4f10
cmp byte [ebx + 0x308e], 0
je 0x6f4f70
add dword [ebx + 0x309c], ebp
mov edx, dword [ebx]
mov eax, dword [edx + 0x2f0]
mov ecx, ebx
call eax
fadd qword [0x82e2b8]
fld qword [0x7a8008]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x6f4fe4
mov edx, dword [ebx]
fstp st(0)
mov eax, dword [edx + 0x2f0]
mov ecx, ebx
call eax
fadd qword [0x82e2b8]
fld qword [0x7a8008]
fxch st(1)
fstp dword [esp + 0x28]
mov eax, dword [ebx + 0x30b0]
fild dword [ebx + 0x30a4]
fsub dword [ebx + 0x30ac]
fdiv qword [0x82df30]
fadd dword [ebx + 0x30ac]
fstp dword [ebx + 0x30ac]
test eax, eax
jle 0x6f4fe8
dec eax
mov dword [ebx + 0x30b0], eax
jmp 0x6f5036
fld st(0)
jmp 0x6f4faf
fld dword [ebx + 0x30b4]
fld dword [esp + 0x28]
fld st(0)
fmulp st(2)
fld qword [0x82dc58]
fdiv st(2), st(0)
fxch st(2)
fadd qword [ebx + 0x30c8]
fstp qword [ebx + 0x30c8]
fld dword [ebx + 0x30b8]
fmul st(1)
fdiv st(2)
fadd dword [ebx + 0x30b4]
fstp dword [ebx + 0x30b4]
fmul dword [ebx + 0x30bc]
fdivrp st(1)
fadd dword [ebx + 0x30b8]
fstp dword [ebx + 0x30b8]
cmp dword [ebx + 0x30dc], 0
jne 0x6f5049
mov dword [ebx + 0x30dc], 0x14
mov ecx, dword [ebx + 0xe38]
mov eax, ecx
cdq
mov esi, 0x190
idiv esi
test edx, edx
jne 0x6f50a7
cmp dword [esp + 0x20], ecx
je 0x6f50a7
lea esi, [ebx + 0x254]
mov edx, esi
call fcn.005813d0
xor edx, edx
mov ecx, 5
div ecx
mov eax, dword [ebx + 0x30dc]
sub eax, edx
cmp eax, ecx
jae 0x6f5089
mov eax, ecx
jmp 0x6f50a1
mov edx, esi
call fcn.005813d0
xor edx, edx
mov ecx, 5
div ecx
mov eax, dword [ebx + 0x30dc]
sub eax, edx
mov dword [ebx + 0x30dc], eax
cmp byte [ebx + 0x308d], 0
je 0x6f513d
mov edx, dword [ebx + 0xd20]
cmp edx, dword [ebx + 0x3080]
jle 0x6f513d
fldz
mov edx, dword [0x881de4]
mov eax, dword [0x88b12c]
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
push 0
call fcn.007488f0
add dword [ebx + 0x307c], ebp
mov edi, dword [ebx + 0x307c]
mov esi, dword [ebx + 0x3080]
mov dword [esp + 0x24], edi
fild dword [esp + 0x24]
mov dword [ebx + 0x3084], esi
fld qword [ebx + 0x30f8]
call fcn.0076ff50
fimul dword [ebx + 0x30f4]
fiadd dword [ebx + 0x30f0]
call fcn.0076f850
cmp byte [ebx + 0x308c], 0
je 0x6f5129
inc edi
imul eax, edi
add eax, esi
mov dword [ebx + 0x3080], eax
mov dword [ebx + 0xe38], 0
jmp 0x6f513f
fstp st(0)
mov ecx, dword [0x88292c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x58]
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x2b4]
mov ecx, ebx
call edx
push ecx
lea esi, [esp + 0x34]
fstp dword [esp]
call fcn.00434940
mov ecx, dword [0x88292c]
mov edx, dword [eax]
mov dword [ecx + 0xbdc], edx
mov edx, dword [eax + 4]
add ecx, 0xbdc
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [0x8820fc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
add esp, 4
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x2b4]
mov ecx, ebx
call eax
push ecx
lea esi, [esp + 0x34]
fstp dword [esp]
call fcn.00434940
mov ecx, dword [0x8820fc]
mov edx, dword [eax]
mov dword [ecx + 0xbdc], edx
mov edx, dword [eax + 4]
add ecx, 0xbdc
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [0x88074c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
add esp, 4
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x2b4]
mov ecx, ebx
call eax
push ecx
lea esi, [esp + 0x34]
fstp dword [esp]
call fcn.00434940
mov ecx, dword [0x88074c]
mov edx, dword [eax]
mov dword [ecx + 0xbdc], edx
mov edx, dword [eax + 4]
add ecx, 0xbdc
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [0x880864]
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
add esp, 4
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x2b4]
mov ecx, ebx
call eax
push ecx
lea esi, [esp + 0x34]
fstp dword [esp]
call fcn.00434940
mov ecx, dword [0x880864]
mov edx, dword [eax]
add ecx, 0xbdc
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
add esp, 4
lea ecx, [ebx + 0x3288]
call fcn.00436230
fld qword [0x82de48]
call fcn.0076ff50
fstp dword [esp + 0x24]
mov esi, dword [0x882150]
xor edi, edi
call fcn.0056ad30
fld dword [esp + 0x24]
fld qword [0x82de38]
mov dword [esp + 0x20], eax
fmul st(1)
xor ebp, ebp
fld qword [0x82dfa0]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x2c]
fxch st(1)
fmul qword [0x87d2f0]
faddp st(1)
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx]
mov ecx, dword [esi + 0x2c]
sub ecx, dword [esi + 0x28]
add esi, 0x1c
mov eax, 0x42df9bb1
imul ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x6f52f5
call fcn.006441b7
mov esi, dword [esi + 0xc]
mov ecx, dword [esi + ebp + 0xe0]
sub ecx, dword [esi + ebp + 0xdc]
add esi, ebp
sar ecx, 3
test ecx, ecx
ja 0x6f5314
call fcn.006441b7
mov edx, dword [esi + 0xdc]
fld dword [esp + 0x2c]
lea ecx, [ebx + 0x3288]
fstp dword [edx + 4]
call fcn.00436230
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x6f5345
fstp st(0)
fld dword [esp + 0x24]
fadd qword [0x82ea70]
mov eax, dword [esi + 0x13c]
fstp qword [esp + 0x30]
sub eax, dword [esi + 0x138]
sar eax, 3
test eax, eax
ja 0x6f5361
call fcn.006441b7
fld qword [esp + 0x30]
mov ecx, dword [esi + 0x138]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [ecx + 4]
mov edx, dword [esi + 0x198]
sub edx, dword [esi + 0x194]
sar edx, 3
test edx, edx
ja 0x6f538e
call fcn.006441b7
mov eax, dword [esi + 0x194]
fld dword [esp + 0x28]
fstp dword [eax + 4]
mov ecx, dword [esi + 0x6fc]
sub ecx, dword [esi + 0x6f8]
sar ecx, 3
test ecx, ecx
ja 0x6f53b3
call fcn.006441b7
mov edx, dword [esi + 0x6f8]
fld dword [esp + 0x28]
add ebp, 0x7a8
fstp dword [edx + 4]
inc edi
cmp ebp, 0xf50
jl 0x6f52cc
mov esi, dword [0x882568]
xor edi, edi
call fcn.0056ad30
mov dword [esp + 0x20], eax
xor ebp, ebp
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
mov ecx, dword [esi + 0x2c]
sub ecx, dword [esi + 0x28]
add esi, 0x1c
mov eax, 0x42df9bb1
imul ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ebp, ecx
jb 0x6f540f
call fcn.006441b7
mov esi, dword [esi + 0xc]
lea ecx, [ebx + 0x3288]
add esi, edi
call fcn.00436230
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x6f543e
fstp st(0)
fld dword [esp + 0x24]
fmul qword [0x82e460]
fadd qword [0x82e0a0]
mov edx, dword [esi + 0x13c]
fstp qword [esp + 0x30]
sub edx, dword [esi + 0x138]
sar edx, 3
test edx, edx
ja 0x6f545a
call fcn.006441b7
fld qword [esp + 0x30]
mov eax, dword [esi + 0x138]
fstp dword [esp + 0x30]
add edi, 0x7a8
fld dword [esp + 0x30]
inc ebp
cmp edi, 0xf50
fstp dword [eax + 4]
jl 0x6f53e6
mov ecx, dword [0x882568]
push ecx
call fcn.0056e3c0
mov edx, dword [ebx]
mov eax, dword [edx + 0x2b4]
mov ecx, ebx
call eax
push ecx
lea esi, [esp + 0x34]
fstp dword [esp]
call fcn.00434940
mov ecx, dword [0x882568]
mov edx, dword [eax]
add ecx, 0xf48
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [0x882150]
add esp, 4
push ecx
call fcn.0056e3c0
mov edx, dword [ebx]
mov eax, dword [edx + 0x2b4]
mov ecx, ebx
call eax
push ecx
lea esi, [esp + 0x34]
fstp dword [esp]
call fcn.00434940
mov ecx, dword [0x882150]
mov edx, dword [eax]
mov dword [ecx + 0xf48], edx
mov edx, dword [eax + 4]
add ecx, 0xf48
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebx + 0x3094]
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
add esp, 4
call eax
fld dword [ebx + 0x344c]
cmp dword [ebx + 0x30a4], 0
jle 0x6f554b
fsub qword [0x82de90]
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x6f5564
fstp st(1)
jmp 0x6f5566
fadd qword [0x82de90]
fld qword [0x7a8008]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x6f5564
fstp st(1)
jmp 0x6f5566
fstp st(0)
cmp dword [ebx + 0x38], 0x96
fstp dword [ebx + 0x344c]
jle 0x6f5715
cmp dword [ebx + 0xd18], 0
jne 0x6f5715
mov ecx, dword [0x88b12c]
mov eax, dword [ecx + 0xa28]
lea esi, [eax + 0x7c]
add eax, 0x3c
push eax
lea edx, [esp + 0x34]
push edx
call fcn.00412a20
mov edi, dword [esp + 0x30]
mov ebp, dword [esi + 0x18]
mov esi, dword [esi]
test edi, edi
je 0x6f55b4
cmp edi, esi
je 0x6f55b9
call fcn.006441b7
mov esi, dword [esp + 0x34]
cmp esi, ebp
je 0x6f5699
test edi, edi
jne 0x6f586f
call fcn.006441b7
cmp esi, dword [edi + 0x18]
jne 0x6f55dc
call fcn.006441b7
mov esi, dword [esi + 0x28]
test esi, esi
je 0x6f5699
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
xor edi, edi
test eax, eax
jle 0x6f5699
xor ebp, ebp
lea esp, [esp]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp edi, ecx
jb 0x6f5632
call fcn.006441b7
mov edx, dword [esi + 0x10]
fld dword [ebx + 0x344c]
fstp qword [edx + ebp + 0x20]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x6f5661
call fcn.006441b7
fld dword [ebx + 0xd64]
mov ecx, dword [esi + 0x10]
fsubr qword [0x7a8008]
mov eax, 0x88888889
inc edi
add ebp, 0x78
fstp qword [ecx + ebp - 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jl 0x6f5610
mov eax, dword [ebx + 0xe0c]
add eax, 0xb
lea eax, [eax + eax*4]
add eax, eax
cmp eax, 0xa0
mov dword [esp + 0x24], 0xa0
jg 0x6f56ba
mov dword [esp + 0x24], eax
fldz
fcomp dword [ebx + 0x346c]
fnstsw ax
test ah, 0x44
jp 0x6f56d3
fild dword [esp + 0x24]
fstp dword [ebx + 0x346c]
fld dword [ebx + 0x346c]
fild dword [esp + 0x24]
fcompp
fnstsw ax
test ah, 0x41
jne 0x6f56f8
fld dword [ebx + 0x346c]
fadd qword [0x82dfe8]
fstp dword [ebx + 0x346c]
fld dword [ebx + 0x346c]
call fcn.0076f850
mov ecx, dword [0x88b12c]
push eax
mov eax, dword [ecx + 0xa28]
call fcn.00715540
mov eax, dword [ebx + 0x309c]
test eax, eax
jle 0x6f5801
cmp eax, 0x64
jge 0x6f5801
mov eax, dword [ebx + 0x38]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x6f5801
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
mov esi, dword [0x88b12c]
add esi, 0x9e0
sub edx, 0x7a120
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fld qword [0x82dd28]
mov edx, 0x64
sub edx, dword [ebx + 0x309c]
fdiv st(1), st(0)
mov dword [esp + 0x30], edx
fxch st(1)
fstp dword [esp + 0x2c]
fild dword [esp + 0x30]
fmul dword [esp + 0x2c]
fld qword [0x82dc58]
fdiv st(1), st(0)
fild dword [esi]
fld qword [0x82dec8]
fmul st(1), st(0)
fld qword [0x82dcf8]
fdiv st(2), st(0)
fxch st(4)
fmulp st(2)
fxch st(1)
call fcn.0076f850
mov dword [ebx + 0x40], eax
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
mov edx, 0x64
sub edx, dword [ebx + 0x309c]
fdivrp st(4)
mov dword [esp + 0x30], edx
fxch st(3)
fstp dword [esp + 0x2c]
fild dword [esp + 0x30]
fmul dword [esp + 0x2c]
fdivrp st(1)
fild dword [esi]
fmulp st(3)
fxch st(2)
fdivrp st(1)
fmulp st(1)
call fcn.0076f850
mov dword [ebx + 0x44], eax
fldz
fcom dword [ebx + 0x1188]
fnstsw ax
test ah, 5
jp 0x6f5861
fcomp dword [ebx + 0x3280]
fnstsw ax
test ah, 0x44
jp 0x6f5867
mov eax, dword [ebx]
mov edx, dword [eax + 0x2ec]
mov ecx, ebx
call edx
fld dword [ebx + 0x1188]
fmul qword [0x82dd98]
mov dword [esp + 0x28], eax
call fcn.0076f850
fild dword [esp + 0x28]
mov dword [esp + 0x24], eax
fmul qword [0x82e8a0]
fild dword [esp + 0x24]
fcompp
fnstsw ax
test ah, 0x41
jne 0x6f5867
fild dword [esp + 0x28]
fidiv dword [esp + 0x24]
fstp dword [ebx + 0x3280]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [edi]
jmp 0x6f55d2