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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10c
mov eax, dword [ebp + 0x14]
push ebx
lea ecx, [eax + 0x640]
push esi
push edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x78], ecx
cmp eax, ecx
ja 0x100071d6
mov esi, dword [esp + 0x78]
fld qword [esp + 0x28]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x6c]
cmp eax, 0x2a72
ja 0x10006d2d
je 0x10006d1c
cmp eax, 0x52e
ja 0x1000697a
je 0x100062af
sub eax, 0x4e3
je 0x1000627d
sub eax, 0x19
je 0x1000626e
sub eax, 0x19
jne 0x100071bf
mov eax, dword [ebx + 0x34]
mov ecx, dword [esp + 0xb4]
add eax, eax
lea eax, [ecx + eax*8 + 4]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 4]
dec eax
mov dword [esp + 0x3c], eax
jmp 0x100071bf
mov edx, dword [ebx + 0x30]
mov dword [esp + 0xb4], edx
jmp 0x100071bf
lea eax, [ebx + 4]
fstp st(0)
push eax
call fcn.1001df00
add esp, 4
test eax, eax
je 0x100062a4
lea eax, [ebx + 4]
push eax
call fcn.1001df00
add esp, 4
mov dword [esp + 0x64], eax
jmp 0x100071bb
xor eax, eax
mov dword [esp + 0x64], eax
jmp 0x100071bb
mov eax, dword [ebx + 0x4c]
imul eax, dword [esp + 0x64]
add eax, dword [ebx + 0x50]
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx]
jl 0x100071bf
mov dword [esp + 0x20], 0x459
mov eax, dword [esp + 0x20]
add eax, 0xfffffba7
cmp eax, 0x64
ja case.0x100062e7.1114
movzx edx, byte [eax + 0x10007288]
jmp dword [edx*4 + 0x1000726c]
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x44], 0
jle 0x100064a6
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x14], 0x24dd
mov eax, dword [esp + 0x14]
sub eax, 0x24dd
mov ecx, dword [esp + 0x1c]
je 0x10006404
sub eax, 0x2e
je 0x100063e4
sub eax, 0x2e
jne 0x1000648b
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x44], 1
je 0x100063c9
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x10], 0x5e1c
mov eax, dword [esp + 0x10]
sub eax, 0x5e1c
je 0x10006379
sub eax, 0x1e
jne 0x100063ae
mov edx, dword [ebx]
fstp st(0)
mov eax, dword [ebp + 8]
sub edx, edi
push edx
call fcn.10018780
fld qword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
add esp, 4
jmp 0x100063aa
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x54]
mov eax, dword [ebx]
sub eax, edx
xor edi, edi
cmp esi, eax
jge 0x1000639e
fld qword [ecx + esi*8]
mov eax, dword [ebp + 0xc]
fstp qword [ecx + edi*8]
add esi, dword [eax + 0x44]
mov eax, dword [ebx]
sub eax, edx
inc edi
cmp esi, eax
jl 0x10006389
mov eax, esi
sub eax, dword [ebx]
add eax, edx
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x54], eax
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
add eax, 0x1e
mov dword [esp + 0x10], eax
cmp eax, 0x5e3a
jbe 0x1000634d
mov dword [esp + 0x70], edi
jmp 0x1000648b
mov eax, dword [esp + 0x3c]
fstp st(0)
push eax
mov eax, dword [ebp + 8]
call fcn.10018780
fld qword [esp + 0x2c]
add esp, 4
jmp 0x1000648b
mov edx, dword [ebp + 0xc]
fstp st(0)
mov eax, dword [edx + 0x60]
push eax
push ecx
mov ecx, dword [ebx]
push 0xffffffffffffffff
push ecx
call fcn.1000fd90
fld qword [esp + 0x38]
add esp, 0x10
jmp 0x1000648b
mov edx, dword [ebx + 0xc]
fld qword [edx + 8]
mov esi, 2
fmul qword [ecx + 8]
fstp qword [ecx + 8]
cmp dword [ebx], esi
jle 0x1000648b
mov ecx, dword [esp + 0x1c]
mov edi, 0xfffffff8
lea eax, [ecx + 0x18]
sub edi, ecx
mov edx, 0x4fc
mov ecx, edx
sub ecx, 0x4fc
je 0x1000646d
sub ecx, 0xa
je 0x10006456
sub ecx, 0xa
jne 0x10006472
mov ecx, dword [ebx + 0xc]
add ecx, edi
fld qword [ecx + eax + 8]
fmul st(1)
fld qword [ecx + eax]
fmul qword [eax]
faddp st(1)
fstp qword [eax]
jmp 0x10006472
mov ecx, dword [ebx + 0xc]
fld st(0)
add ecx, edi
fmul qword [ecx + eax]
fld qword [ecx + eax + 8]
fmul qword [eax]
fsubp st(1)
fstp qword [eax - 8]
jmp 0x10006472
fstp st(0)
fld qword [eax - 8]
add edx, 0xa
cmp edx, 0x510
jbe 0x1000642c
add esi, 2
add eax, 0x10
cmp esi, dword [ebx]
jl 0x10006427
fst qword [esp + 0x28]
mov eax, dword [esp + 0x14]
add eax, 0x2e
mov dword [esp + 0x14], eax
cmp eax, 0x2539
jbe 0x10006307
jmp case.0x100062e7.1114
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 5
cmp dword [esp + 0x10], 0xb0
ja case.0x100064cf.1
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0x10007308]
jmp dword [eax*4 + 0x100072f0]
mov ecx, dword [ebp + 0xc]
fstp st(0)
mov edx, dword [ecx + 0x60]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push edx
mov edx, dword [ecx]
mov ecx, dword [esp + 0x60]
push eax
sar edx, cl
push 0xffffffffffffffff
push edx
call fcn.1000fd90
fld qword [esp + 0x38]
add esp, 0x10
jmp case.0x100064cf.1
mov ecx, dword [esp + 0x5c]
fstp st(0)
mov edx, dword [esp + 0x18]
mov eax, 1
shl eax, cl
dec eax
imul eax, dword [edx]
add eax, dword [esp + 0x3c]
sar eax, cl
push eax
mov eax, dword [ebp + 8]
call fcn.10018780
fld qword [esp + 0x2c]
add esp, 4
jmp case.0x100064cf.1
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xc]
fld qword [ecx + esi*8]
lea eax, [ecx + esi*8]
mov ecx, dword [esp + 0x1c]
fmul qword [ecx + esi*8]
fld qword [eax + 8]
fmul qword [ecx + esi*8 + 8]
fsubp st(1)
fstp qword [ecx + 8]
jmp case.0x100064cf.1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x44]
neg eax
mov dword [esp + 0x5c], eax
jmp case.0x100064cf.1
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov ecx, dword [esp + 0x5c]
sar edx, cl
mov esi, 2
cmp edx, esi
jle case.0x100064cf.1
mov ecx, dword [esp + 0x1c]
mov ebx, 0xfffffff8
lea eax, [ecx + 0x18]
sub ebx, ecx
mov edi, 0x48b4
mov ecx, edi
sub ecx, 0x48b4
je 0x100065d3
sub ecx, 0x5a
jne 0x100065d8
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0xc]
lea ecx, [eax + ebx]
fld qword [edx + ecx]
fmul st(1)
fld qword [edx + ecx + 8]
mov edx, dword [esp + 0x18]
fmul qword [eax]
fsubp st(1)
fstp qword [eax - 8]
mov edx, dword [edx + 0xc]
fld qword [ecx + edx + 8]
fmul st(1)
fld qword [ecx + edx]
fmul qword [eax]
faddp st(1)
fstp qword [eax]
jmp 0x100065d8
fstp st(0)
fld qword [eax - 8]
add edi, 0x5a
cmp edi, 0x490e
jbe 0x10006592
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x5c]
sar edx, cl
add esi, 2
add eax, 0x10
cmp esi, edx
jl 0x1000658d
fst qword [esp + 0x28]
add dword [esp + 0x10], 0x2c
dec dword [esp + 0x14]
jne 0x100064b6
jmp case.0x100062e7.1114
mov eax, dword [esp + 0x88]
fstp st(0)
mov ecx, dword [ebp + 0xc]
push 0
push eax
add ecx, 4
push ecx
call fcn.100061b0
fld qword [esp + 0x34]
add esp, 0xc
jmp case.0x100062e7.1114
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x4c]
cmp eax, 2
jl 0x100067b8
lea edx, [eax - 1]
test eax, edx
jne 0x100067b8
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 5
cmp dword [esp + 0x10], 0x88
ja case.0x1000667c.1
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + 0x100073d4]
jmp dword [ecx*4 + 0x100073bc]
mov edx, dword [esp + 0x18]
fstp st(0)
mov eax, dword [edx]
mov ecx, dword [ebp + 0xc]
cdq
idiv dword [ecx + 0x4c]
mov ebx, eax
mov eax, dword [esp + 0x68]
lea edx, [ebx*8]
push edx
push eax
push edi
mov dword [esp + 0x4c], ebx
call fcn.1002aaf0
add esp, 0xc
fld qword [esp + 0x28]
add dword [esp + 0x10], 0x22
dec dword [esp + 0x14]
jne 0x10006667
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0xc]
fld qword [eax]
mov eax, dword [esp + 0x1c]
fmul qword [eax]
fstp qword [eax]
jmp case.0x100062e7.1114
fldz
fstp qword [edi + ebx*8 + 8]
fld qword [edi]
fstp qword [edi + 8]
jmp case.0x1000667c.1
fld qword [edi + 8]
fstp qword [edi + ebx*8]
jmp case.0x1000667c.1
mov ecx, dword [ebp + 0xc]
fstp st(0)
mov edx, dword [ecx + 0x60]
push edx
push edi
push 1
push ebx
call fcn.1000fd90
lea esi, [ebx + 2]
lea edx, [ebx + ebx]
add esp, 0x10
cmp esi, edx
jge 0x100066ae
mov ecx, 0x52cd
cmp ecx, ecx
jne 0x10006727
lea eax, [ebx + ebx]
sub eax, esi
fld qword [edi + eax*8]
lea eax, [edi + eax*8]
fstp qword [edi + esi*8]
fld qword [eax + 8]
fchs
fstp qword [edi + esi*8 + 8]
add ecx, 0x27
cmp ecx, 0x52cd
jbe 0x1000670e
add esi, 2
cmp esi, edx
jl 0x10006707
jmp 0x100066ae
mov ecx, dword [esp + 0x18]
add ebx, ebx
mov dword [esp + 0x40], ebx
cmp esi, dword [ecx]
jge case.0x1000667c.1
mov ebx, dword [esp + 0x1c]
mov edi, 0x6be0
mov eax, edi
sub eax, 0x6be0
je 0x1000676f
sub eax, 0x51
jne 0x1000678e
fldz
fstp qword [ebx + esi*8 + 8]
jmp 0x1000678e
mov edx, dword [esp + 0x40]
fstp st(0)
lea eax, [edx*8]
push eax
lea ecx, [ebx + esi*8]
push ebx
push ecx
call fcn.1002aaf0
fld qword [esp + 0x34]
add esp, 0xc
add edi, 0x51
cmp edi, 0x6c31
jbe 0x10006759
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
add esi, eax
add eax, eax
mov dword [esp + 0x40], eax
cmp esi, dword [edx]
jl 0x10006750
mov edi, dword [esp + 0x1c]
mov ebx, eax
jmp case.0x1000667c.1
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], 0x53ee
mov eax, dword [esp + 0x10]
sub eax, 0x53ee
je 0x100067f9
sub eax, 0x58
jne 0x100068a8
mov eax, dword [ebx + 0x60]
fstp st(0)
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi]
push eax
push ecx
push 1
push edx
call fcn.1000fd90
fld qword [esp + 0x38]
add esp, 0x10
jmp 0x100068a8
cmp dword [ebx + 0x4c], 1
jne 0x10006825
mov eax, dword [edi]
fstp st(0)
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c]
add eax, eax
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.1002aaf0
fld qword [esp + 0x34]
add esp, 0xc
jmp 0x100068a8
mov dword [esp + 0x14], 0x6e95
mov eax, dword [esp + 0x14]
sub eax, 0x6e95
je 0x1000684d
sub eax, 0xc
jne 0x10006896
mov eax, dword [ebx + 0x4c]
sub eax, dword [esp + 0x8c]
dec eax
mov dword [ebx + 0x50], eax
jmp 0x10006896
mov ecx, dword [edi]
fstp st(0)
mov edx, dword [esp + 0x1c]
add ecx, ecx
add ecx, ecx
add ecx, ecx
push ecx
push 0
push edx
call fcn.1002ae60
mov esi, dword [ebx + 0x50]
xor eax, eax
add esp, 0xc
mov dword [esp + 0x70], eax
cmp esi, dword [edi]
jge 0x10006892
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x68]
lea esp, [esp]
fld qword [edx + eax*8]
inc eax
fstp qword [ecx + esi*8]
add esi, dword [ebx + 0x4c]
cmp esi, dword [edi]
jl 0x10006880
mov dword [esp + 0x70], eax
fld qword [esp + 0x28]
mov eax, dword [esp + 0x14]
add eax, 0xc
mov dword [esp + 0x14], eax
cmp eax, 0x6ea1
jbe 0x1000682d
mov eax, dword [esp + 0x10]
add eax, 0x58
mov dword [esp + 0x10], eax
cmp eax, 0x5446
jbe 0x100067c4
mov eax, dword [edi + 0xc]
fld qword [eax]
mov eax, dword [esp + 0x1c]
fmul qword [eax]
fstp qword [eax]
jmp case.0x100062e7.1114
mov ecx, dword [esp + 0x18]
fstp st(0)
mov edi, dword [ebp + 0xc]
mov edx, dword [ecx]
sub edx, dword [edi + 0x50]
mov eax, dword [edi + 0x4c]
sub edx, dword [esp + 0x3c]
push eax
lea eax, [edx + eax - 1]
push eax
call fcn.100261b5
push 0
push 0
add edi, 4
push edi
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], edx
call fcn.100061b0
fld qword [esp + 0x3c]
add esp, 0x14
mov dword [esp + 0x68], eax
jmp case.0x100062e7.1114
mov ecx, dword [esp + 0x18]
fstp st(0)
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
push edx
push eax
call fcn.1001b4a0
fld qword [esp + 0x30]
add esp, 8
mov dword [esp + 0x1c], eax
jmp case.0x100062e7.1114
mov ecx, dword [esp + 0x88]
sub dword [esp + 0x64], ecx
mov eax, dword [esp + 0x20]
add eax, 0x14
mov dword [esp + 0x20], eax
cmp eax, 0x4bd
jbe 0x100062ce
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x4c]
imul edx, dword [esp + 0x64]
add edx, dword [eax + 0x50]
mov eax, dword [esp + 0x18]
cmp edx, dword [eax]
jge 0x100062c6
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
jmp 0x100071bf
sub eax, 0x22da
je 0x10006c61
sub eax, 0x19
jne 0x100071bf
mov ecx, dword [esp + 0x24]
lea edx, [ecx*4]
cmp edx, dword [ebx]
jne 0x10006bb8
test ecx, ecx
jle 0x100071bf
fld qword [esp + 0xe8]
mov edx, dword [esp + 0xac]
fld qword [esp + 0x98]
fld qword [esp + 0x108]
fld qword [esp + 0xf0]
fld qword [esp + 0xf8]
mov dword [esp + 0x10], 0x7e2a
mov ecx, dword [esp + 0x10]
cmp ecx, 0x7ef5
ja 0x10006ab4
je 0x10006aa1
add ecx, 0xffff81d6
cmp ecx, 0xae
ja case.0x10006acd.32531
movzx ecx, byte [ecx + 0x10007480]
jmp dword [ecx*4 + 0x10007460]
mov ecx, dword [esp + 0x34]
fstp st(1)
fld qword [edi + eax*8]
fsub qword [edi + ecx*8]
fld qword [edi + eax*8 + 8]
fsub qword [edi + ecx*8 + 8]
fstp qword [esp + 0xd8]
fxch st(1)
jmp case.0x10006acd.32531
mov ecx, dword [esp + 0x34]
fld qword [edi + ecx*8 + 8]
fadd qword [edi + eax*8 + 8]
fstp qword [esp + 0x90]
jmp case.0x10006acd.32531
mov ecx, dword [esp + 0x24]
add ecx, edx
mov dword [esp + 0x58], ecx
jmp case.0x10006acd.32531
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x34], ecx
jmp case.0x10006acd.32531
mov edx, dword [esp + 0x34]
add edx, dword [esp + 0x24]
jmp case.0x10006acd.32531
mov ecx, dword [esp + 0x58]
fstp st(2)
fstp st(1)
fld qword [edi + ecx*8]
fadd qword [edi + edx*8]
fld qword [edi + edx*8 + 8]
fadd qword [edi + ecx*8 + 8]
fxch st(1)
fxch st(2)
fxch st(1)
jmp case.0x10006acd.32531
mov ecx, dword [esp + 0x34]
fstp st(3)
fld qword [edi + ecx*8]
fadd qword [edi + eax*8]
fxch st(3)
jmp case.0x10006acd.32531
fld qword [edi + edx*8]
mov ecx, dword [esp + 0x58]
fsub qword [edi + ecx*8]
fstp qword [esp + 0xc8]
jmp case.0x10006acd.32531
mov ecx, dword [esp + 0x10]
add ecx, 0xffff80ee
cmp ecx, 0x91
ja case.0x10006acd.32531
movzx ecx, byte [ecx + 0x1000754c]
jmp dword [ecx*4 + 0x10007530]
mov ecx, dword [esp + 0x58]
fstp st(4)
fld qword [edi + edx*8 + 8]
fsub qword [edi + ecx*8 + 8]
fld st(2)
fadd st(4)
fstp qword [edi + eax*8]
fxch st(4)
mov ecx, dword [esp + 0x10]
add ecx, 0x1d
mov dword [esp + 0x10], ecx
cmp ecx, 0x7fa3
jbe 0x100069db
add eax, 2
cmp eax, dword [esp + 0x24]
jl 0x100069d3
fxch st(4)
mov dword [esp + 0xac], edx
fstp qword [esp + 0xe8]
fxch st(2)
fstp qword [esp + 0x98]
fxch st(2)
fstp qword [esp + 0xf8]
fxch st(1)
fstp qword [esp + 0x108]
fstp qword [esp + 0xf0]
jmp 0x100071bf
mov ecx, dword [esp + 0x58]
fld st(1)
fadd st(5)
fstp qword [edi + ecx*8]
jmp case.0x10006acd.32531
fld qword [esp + 0x90]
fadd st(1)
fstp qword [edi + eax*8 + 8]
fld st(3)
fsub st(3)
fstp qword [edi + edx*8]
jmp case.0x10006acd.32531
fld qword [esp + 0xd8]
mov ecx, dword [esp + 0x58]
fsub qword [esp + 0xc8]
fstp qword [edi + ecx*8 + 8]
jmp case.0x10006acd.32531
fld qword [esp + 0x90]
fsub st(1)
fstp qword [edi + edx*8 + 8]
jmp case.0x10006acd.32531
mov ecx, dword [esp + 0x34]
fld st(1)
fsub st(5)
fstp qword [edi + ecx*8]
fld qword [esp + 0xc8]
fadd qword [esp + 0xd8]
fstp qword [edi + ecx*8 + 8]
jmp case.0x10006acd.32531
test ecx, ecx
jle 0x100071bf
fld qword [esp + 0x98]
fld qword [esp + 0x90]
xor ecx, ecx
mov dword [esp + 0x20], 4
cmp ecx, 0x8a
ja case.0x10006be7.1
movzx edx, byte [ecx + 0x100075f4]
jmp dword [edx*4 + 0x100075e0]
mov edx, dword [esp + 0x34]
fld qword [edi + edx*8]
fadd qword [edi + eax*8]
fstp qword [edi + eax*8]
fld qword [edi + edx*8 + 8]
fadd qword [edi + eax*8 + 8]
fstp qword [edi + eax*8 + 8]
jmp case.0x10006be7.1
mov edx, dword [esp + 0x34]
fstp st(1)
fstp st(0)
fld qword [edi + eax*8]
fsub qword [edi + edx*8]
fld qword [edi + eax*8 + 8]
fsub qword [edi + edx*8 + 8]
jmp case.0x10006be7.1
mov edx, dword [esp + 0x34]
fxch st(1)
fst qword [edi + edx*8]
fxch st(1)
fst qword [edi + edx*8 + 8]
jmp case.0x10006be7.1
mov edx, dword [esp + 0x24]
add edx, eax
mov dword [esp + 0x34], edx
add ecx, 0x2e
dec dword [esp + 0x20]
jne 0x10006bd8
add eax, 2
cmp eax, dword [esp + 0x24]
jl 0x10006bce
fstp qword [esp + 0x90]
fstp qword [esp + 0x98]
jmp 0x100071bf
cmp dword [ebx], 8
mov dword [esp + 0x24], 2
jle 0x100071bf
mov edi, 0x4b4b
mov dword [esp + 0x20], edi
mov eax, edi
sub eax, 0x4b4b
je 0x10006ce2
sub eax, 0x35
jne 0x10006d01
mov eax, dword [esp + 0x24]
lea ecx, [eax*4]
cmp ecx, dword [ebx]
jge 0x10006d01
mov edi, 0x627
cmp edi, edi
jne 0x10006cc2
mov edx, dword [esp + 0x24]
fstp st(0)
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x10]
push edx
push eax
mov eax, dword [ebp + 8]
call fcn.1000d380
fld qword [esp + 0x30]
add esp, 8
shl dword [esp + 0x24], 2
add edi, 0x58
cmp edi, 0x627
jbe 0x10006c9f
mov ecx, dword [esp + 0x24]
lea edx, [ecx*4]
cmp edx, dword [ebx]
jl 0x10006c98
mov edi, dword [esp + 0x20]
jmp 0x10006d01
mov eax, dword [ebx]
fstp st(0)
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 8]
call fcn.1001c700
fld qword [esp + 0x2c]
add esp, 4
mov dword [esp + 0x24], 8
add edi, 0x35
mov dword [esp + 0x20], edi
cmp edi, 0x4b80
jbe 0x10006c7b
mov edi, dword [ebp + 8]
jmp 0x100071bf
mov ecx, dword [edi]
mov dword [ebx + 8], ecx
mov dword [ebx + 4], 0x4000
jmp 0x100071bf
cmp eax, 0x7605
ja 0x10006deb
je 0x10006dcd
sub eax, 0x2a8b
je 0x10006db8
sub eax, 0x19
je 0x10006da8
sub eax, 0x4b48
jne 0x100071bf
push eax
fstp st(0)
push eax
lea edi, [ebx + 4]
push edi
call fcn.100061b0
mov edx, dword [ebx + 0x18]
add esp, 0xc
lea eax, [eax + edx*8]
push edi
mov dword [esp + 0x80], eax
call fcn.1001df00
sub eax, dword [ebx + 0x1c]
add esp, 4
test eax, eax
jle 0x10006d9a
push edi
call fcn.1001df00
mov edi, dword [ebp + 8]
add esp, 4
sub eax, dword [ebx + 0x1c]
mov dword [esp + 0x4c], eax
jmp 0x100071bb
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x4c], eax
jmp 0x100071bb
push ebx
fstp st(0)
call fcn.1001c6e0
add esp, 4
jmp 0x100071bb
mov ecx, dword [ebx + 4]
fstp st(0)
push ecx
call fcn.10025e66
add esp, 4
mov dword [ebx], eax
jmp 0x100071bb
fild dword [esp + 0x4c]
fmul qword [ebx + 0x28]
fadd qword [0x10039430]
call fcn.100305b0
mov dword [esp + 0x84], eax
jmp 0x100071bf
sub eax, 0x761e
je 0x10006e18
sub eax, 0x32
jne 0x100071bf
mov edx, dword [esp + 0x84]
fstp st(0)
sub edx, dword [esp + 0x38]
mov eax, edi
push edx
call fcn.10018780
add esp, 4
jmp 0x100071bb
mov eax, dword [esp + 0x84]
fstp st(0)
push eax
push edi
call fcn.1001b4a0
add esp, 8
cmp dword [ebx + 0x48], 0
mov dword [esp + 0x74], eax
je 0x10007079
fld qword [esp + 0xc0]
mov dword [esp + 0x14], 0x6af6
fld qword [esp + 0xe0]
fld qword [esp + 0xd0]
fld qword [esp + 0xb8]
mov eax, dword [esp + 0x14]
sub eax, 0x6af6
je 0x10006ede
sub eax, 0x20
jne 0x10006fde
push eax
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
fstp st(2)
fstp st(2)
or eax, 0xc00
mov dword [esp + 0x54], eax
fstp st(1)
lea edx, [ebx + 4]
fldcw word [esp + 0x54]
fistp qword [esp + 0x54]
mov ecx, dword [esp + 0x54]
push ecx
push edx
fldcw word [esp + 0x1c]
call fcn.100061b0
add esp, 0xc
fld qword [esp + 0xb8]
fld st(0)
call fcn.100305b0
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
fsubr st(1)
fstp qword [ebx + 0x38]
fld qword [esp + 0xc0]
fld qword [esp + 0xe0]
fld qword [esp + 0xd0]
fxch st(2)
jmp 0x10006fd6
fstp st(0)
mov dword [esp + 0x38], 0
fld qword [ebx + 0x38]
fst qword [esp + 0xb8]
fld st(0)
call fcn.100305b0
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x4c]
jge 0x10006fde
fldz
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x50], 4
cmp eax, 0x87
ja case.0x10006f25.1
movzx eax, byte [eax + 0x10007694]
jmp dword [eax*4 + 0x10007680]
mov ecx, dword [ebx + 0x5c]
fstp st(3)
mov edx, 1
shl edx, cl
mov dword [esp + 0x60], edx
fild dword [esp + 0x60]
fmul st(2)
fld st(0)
call fcn.100305b0
mov dword [esp + 0x60], eax
fisub dword [esp + 0x60]
fxch st(3)
jmp case.0x10006f25.1
mov eax, dword [esp + 0x7c]
fstp st(2)
fild dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
lea edx, [eax + ecx*8]
mov dword [esp + 0xa4], edx
fsubr st(1)
fxch st(2)
jmp case.0x10006f25.1
fstp st(4)
mov dword [esp + 0x48], 0
fld st(3)
fxch st(4)
mov eax, dword [esp + 0x10]
add eax, 0x2d
dec dword [esp + 0x50]
mov dword [esp + 0x10], eax
jne 0x10006f17
fld qword [ebx + 0x40]
inc dword [esp + 0x38]
faddp st(2)
fld st(1)
call fcn.100305b0
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x4c]
jl 0x10006f09
fstp st(0)
fst qword [esp + 0xb8]
fxch st(3)
fst qword [esp + 0xc0]
fxch st(1)
fst qword [esp + 0xd0]
fxch st(2)
fst qword [esp + 0xe0]
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
mov eax, dword [esp + 0x14]
add eax, 0x20
mov dword [esp + 0x14], eax
cmp eax, 0x6b16
jbe 0x10006e5d
fstp st(2)
fstp st(2)
fstp st(0)
fstp st(0)
jmp 0x100071bb
mov edx, dword [ebx + 0x58]
cmp dword [esp + 0x48], edx
jge 0x10007067
mov ecx, 0x4af7
cmp ecx, ecx
jne 0x10007053
mov edi, dword [ebx + 0x30]
mov edi, dword [edi]
mov eax, edx
imul eax, dword [esp + 0x60]
add eax, dword [esp + 0x48]
shl eax, 5
fld qword [eax + edi]
add eax, edi
mov edi, dword [esp + 0xa4]
fmul st(4)
fadd qword [eax + 8]
fmul st(4)
fadd qword [eax + 0x10]
fmul st(4)
fadd qword [eax + 0x18]
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x48], eax
fmul qword [edi + eax*8 - 8]
mov edi, dword [ebp + 8]
faddp st(5)
add ecx, 0x3c
cmp ecx, 0x4af7
jbe 0x10007011
mov ecx, dword [esp + 0x48]
cmp ecx, dword [ebx + 0x58]
jl 0x1000700a
mov edx, dword [esp + 0x38]
fxch st(4)
mov eax, dword [esp + 0x74]
fst qword [eax + edx*8]
jmp 0x10006f7f
mov ecx, 0x4a36
mov dword [esp + 0x14], ecx
xor edx, edx
mov eax, ecx
sub eax, 0x4a36
je 0x1000709e
sub eax, 0x38
jne 0x100071a8
mov dword [ebx + 0x3c], edx
jmp 0x100071a8
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x38], edx
cmp dword [ebx + 0x3c], ecx
jge 0x10007190
fld qword [esp + 0x100]
fld qword [esp + 0x110]
fld qword [0x100394a0]
fldz
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x20], 6
cmp eax, 0x32
ja case.0x100070df.1
movzx edx, byte [eax + 0x10007738]
jmp dword [edx*4 + 0x1000771c]
mov dword [esp + 0x44], 0
jmp case.0x100070df.1
mov eax, dword [ebx + 0x3c]
mov ecx, dword [esp + 0x7c]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x80], eax
jmp case.0x100070df.1
mov edx, dword [esp + 0x80]
fstp st(2)
mov ecx, dword [ebx + 0x5c]
fstp st(2)
shl edx, cl
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
test edx, edx
jns 0x1000712f
fadd qword [0x10039428]
fmul st(2)
fld st(1)
fxch st(3)
fxch st(1)
fxch st(2)
jmp case.0x100070df.1
mov eax, dword [esp + 0x74]
fxch st(3)
mov ecx, dword [esp + 0x38]
fst qword [eax + ecx*8]
fxch st(3)
mov eax, dword [esp + 0x50]
add eax, 0xa
dec dword [esp + 0x20]
mov dword [esp + 0x50], eax
jne 0x100070d3
inc dword [esp + 0x38]
mov edx, dword [ebx + 0x40]
add dword [ebx + 0x38], edx
mov eax, dword [ebx + 0x44]
mov ecx, dword [esp + 0x4c]
adc dword [ebx + 0x3c], eax
cmp dword [ebx + 0x3c], ecx
jl 0x100070c5
fstp st(0)
fstp st(0)
fxch st(1)
fstp qword [esp + 0x100]
fstp qword [esp + 0x110]
mov edx, dword [ebx + 0x3c]
push 0
push edx
lea eax, [ebx + 4]
push eax
call fcn.100061b0
mov ecx, dword [esp + 0x20]
add esp, 0xc
xor edx, edx
add ecx, 0x38
mov dword [esp + 0x14], ecx
cmp ecx, 0x4a6e
jbe 0x10007084
fld qword [esp + 0x28]
mov eax, dword [esp + 0x6c]
add eax, 0x19
mov dword [esp + 0x6c], eax
cmp eax, dword [esp + 0x78]
jbe 0x10006216
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x80]
mov ecx, 0x20
sub ecx, dword [ebx + 0x5c]
shr eax, cl
mov dword [esp + 0xa8], eax
jmp case.0x100070df.1
mov edx, dword [ebx + 0x58]
cmp dword [esp + 0x44], edx
jge case.0x100070df.1
mov ecx, 0x68e1
cmp ecx, ecx
jne 0x10007253
mov edi, dword [ebx + 0x30]
mov edi, dword [edi]
mov eax, edx
imul eax, dword [esp + 0xa8]
add eax, dword [esp + 0x44]
shl eax, 5
fld qword [eax + edi]
add eax, edi
mov edi, dword [esp + 0xb0]
fmul st(3)
fadd qword [eax + 8]
fmul st(3)
fadd qword [eax + 0x10]
fmul st(3)
fadd qword [eax + 0x18]
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], eax
fmul qword [edi + eax*8 - 8]
mov edi, dword [ebp + 8]
faddp st(4)
add ecx, 0x14
cmp ecx, 0x68e1
jbe 0x1000720e
mov ecx, dword [esp + 0x44]
cmp ecx, dword [ebx + 0x58]
jl 0x10007207
jmp case.0x100070df.1