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

Disassembly:
mov eax, 0x5df0
call fcn.10024ea0
mov edx, dword [esp + 0x5df4]
push ebx
push ebp
push esi
mov ebx, dword [edx + 0x130]
mov eax, dword [edx + 0x2c]
cmp eax, 1
push edi
mov ecx, dword [ebx + 0x7ca4]
mov dword [esp + 0x48], ecx
jne 0x1000eda5
mov dword [esp + 0x48], 4
mov eax, dword [edx + 0x88]
xor esi, esi
cmp eax, esi
jne 0x1000edf5
mov eax, dword [ebx + 0x13094]
cmp eax, esi
mov dword [esp + 0x28], eax
jne 0x1000edcb
fld qword [0x1002e130]
fstp dword [esp + 0x24]
jmp 0x1000ee14
fild dword [ebx + 0x13090]
cmp dword [0x100535ac], 0
jne 0x1000ede0
fidiv dword [esp + 0x28]
jmp 0x1000ede9
push dword [esp + 0x28]
call fcn.100244e8
fmul qword [0x1002e1c0]
fstp dword [esp + 0x24]
jmp 0x1000ee14
cmp eax, 2
je 0x1000ee0c
cmp eax, 4
je 0x1000ee0c
cmp eax, 1
mov dword [esp + 0x24], 0x3f800000
jne 0x1000ee14
mov dword [esp + 0x24], 0x3f19999a
cmp ecx, esi
mov dword [esp + 0x18], esi
jle 0x1000ef4d
mov eax, dword [esp + 0x5e08]
mov dword [esp + 0x34], esi
mov dword [esp + 0x20], eax
lea ebp, [ebx + 0x14270]
mov ecx, dword [esp + 0x20]
xor edi, edi
mov esi, dword [ecx]
add esi, 0x634
add esi, 4
fld dword [esi + 0x24]
fld dword [0x1002e0f8]
mov eax, 0x1002e484
mov edx, esi
lea ecx, [esi + 0x4c]
fld dword [ecx + 4]
fadd dword [edx - 4]
add eax, 8
sub ecx, 8
add edx, 8
cmp eax, 0x1002e4ac
fmul dword [eax - 0xc]
faddp st(2)
fld dword [ecx + 8]
fadd dword [edx - 8]
fmul dword [eax - 8]
faddp st(1)
jl 0x1000ee59
mov edx, dword [esp + 0x34]
add esi, 4
fadd st(1)
add edx, edi
inc edi
cmp edi, 0x240
fstp dword [esp + edx*4 + 0x1400]
fstp st(0)
jl 0x1000ee46
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x5e0c]
lea esi, [ebp + 0x3d0]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x5e18]
lea eax, [eax + edx*4]
shl eax, 3
lea edx, [eax + ecx]
mov ecx, 0x3d
lea edi, [edx + 0xf4]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3d
mov esi, ebp
mov edi, edx
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x48], 2
jle 0x1000ef10
mov edx, dword [esp + 0x5e1c]
lea esi, [ebp + 0x5b8]
add eax, edx
mov ecx, 0x3d
lea edi, [eax + 0xf4]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp + 0x1e8]
mov ecx, 0x3d
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
mov ecx, dword [ebx + 0x7ca4]
inc eax
add edi, 4
add esi, 0x240
add ebp, 0xf4
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], esi
jl 0x1000ee35
mov edx, dword [esp + 0x5e04]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], 0
test eax, eax
jle 0x1000fdbe
xor eax, eax
mov esi, dword [esp + 0x18]
mov dword [esp + 0x64], eax
xor edx, edx
mov dword [esp + 0x68], eax
lea ecx, [esi + esi*8 + 0x86e5]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 0x21448]
mov dword [esp + 0x28], 1
shl eax, 2
fld dword [0x1002e0f8]
mov dword [esp + eax + 0x1e8], edx
mov dword [esp + eax + 0x4ec], edx
mov eax, dword [ebx + 0x21444]
mov dword [esp + 0x4c], edx
shl eax, 2
lea ecx, [ebx + ecx*4]
mov dword [esp + eax + 0x1e8], edx
mov dword [esp + eax + 0x4ec], edx
xor eax, eax
fld dword [ecx + 8]
add ecx, 4
fst dword [esp + eax + 0x80]
fld st(0)
cmp dword [0x100535ac], 0
jne 0x1000efea
fdiv dword [ecx - 4]
jmp 0x1000eff2
push dword [ecx - 4]
call fcn.1002441c
add eax, 4
cmp eax, 0xc
fstp dword [esp + eax + 0xb4]
faddp st(1)
jl 0x1000efcd
fstp dword [esp + 0x60]
cmp esi, 2
jne 0x1000f039
lea eax, [esp + 0x1d00]
mov ecx, 0x240
fld dword [eax - 0x900]
fld dword [eax]
fld st(0)
fadd st(2)
add eax, 4
dec ecx
fstp dword [eax - 0x904]
fxch st(1)
fsub st(1)
fstp dword [eax - 4]
fstp st(0)
jne 0x1000f018
mov eax, esi
lea ebp, [esi + esi*8]
and eax, 1
mov dword [esp + 0x5c], eax
lea eax, [eax + eax*8]
shl eax, 8
xor ecx, ecx
lea edi, [esp + eax + 0x1400]
lea edx, [edi + 0x100]
mov dword [esp + 0x38], 0x3f800000
cmp edi, edx
jae 0x1000f086
fld dword [edi]
fabs
fld dword [esp + 0x38]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x1000f07d
fstp dword [esp + 0x38]
jmp 0x1000f07f
fstp st(0)
add edi, 4
cmp edi, edx
jb 0x1000f066
fld dword [esp + 0x38]
mov edx, dword [esp + 0x38]
lea eax, [ecx + ebp]
mov dword [esp + ecx*4 + 0x8c], edx
fstp dword [ebx + eax*4 + 0x21b84]
mov eax, 0x55555556
imul ecx
fld dword [esp + 0x38]
mov eax, edx
shr eax, 0x1f
add edx, eax
fadd dword [esp + edx*4 + 0x64]
lea eax, [esp + edx*4 + 0x64]
fstp dword [eax]
fld dword [esp + 0x38]
fcomp dword [esp + ecx*4 + 0x84]
fnstsw ax
test ah, 0x41
jne 0x1000f0f1
fld dword [esp + 0x38]
cmp dword [0x100535ac], 0
jne 0x1000f0e3
fdiv dword [esp + ecx*4 + 0x84]
jmp 0x1000f0ef
push dword [esp + ecx*4 + 0x84]
call fcn.1002441c
jmp 0x1000f133
fld dword [esp + 0x38]
fmul qword [0x1002e0e8]
fld dword [esp + ecx*4 + 0x84]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1000f12b
cmp dword [0x100535ac], 0
jne 0x1000f11d
fdivr dword [esp + ecx*4 + 0x84]
jmp 0x1000f129
push dword [esp + ecx*4 + 0x84]
call fcn.1002451c
jmp 0x1000f133
fstp st(0)
fld dword [0x1002e0f8]
fstp dword [esp + ecx*4 + 0xc4]
inc ecx
cmp ecx, 9
jl 0x1000f054
cmp esi, 3
jne 0x1000f151
fld dword [ebx + 0x21d00]
jmp 0x1000f157
fld dword [ebx + 0x21cfc]
xor ecx, ecx
lea ebp, [esp + 0xb8]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + edx*4 + 0x4c]
test eax, eax
lea edi, [esp + edx*4 + 0x4c]
jne 0x1000f195
fcom dword [ebp]
fnstsw ax
test ah, 1
je 0x1000f195
mov eax, ecx
mov esi, 3
cdq
idiv esi
mov esi, dword [esp + 0x18]
inc edx
mov dword [edi], edx
inc ecx
add ebp, 4
cmp ecx, 0xc
jl 0x1000f160
fstp st(0)
mov ecx, 1
xor edx, edx
fld dword [esp + ecx*4 + 0x5c]
fcomp dword [esp + ecx*4 + 0x60]
fnstsw ax
test ah, 0x41
jne 0x1000f1d4
fld dword [esp + ecx*4 + 0x5c]
cmp dword [0x100535ac], 0
jne 0x1000f1c9
fdiv dword [esp + ecx*4 + 0x60]
jmp 0x1000f1d2
push dword [esp + ecx*4 + 0x60]
call fcn.1002441c
jmp 0x1000f1f0
fld dword [esp + ecx*4 + 0x60]
cmp dword [0x100535ac], 0
jne 0x1000f1e7
fdiv dword [esp + ecx*4 + 0x5c]
jmp 0x1000f1f0
push dword [esp + ecx*4 + 0x5c]
call fcn.1002441c
fcomp qword [0x1002e5c0]
fnstsw ax
test ah, 1
je 0x1000f20a
cmp ecx, 1
mov dword [esp + ecx*4 + 0x4c], edx
jne 0x1000f20a
mov dword [esp + 0x4c], edx
inc ecx
cmp ecx, 4
jl 0x1000f1a7
mov ebp, dword [esp + 0x4c]
cmp ebp, edx
je 0x1000f227
cmp dword [ebx + esi*4 + 0x21c14], edx
je 0x1000f227
xor ebp, ebp
mov dword [esp + 0x4c], ebp
cmp dword [ebx + esi*4 + 0x21c14], 3
je 0x1000f248
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
lea eax, [ecx + edi]
mov ecx, dword [esp + 0x50]
add eax, ecx
add eax, ebp
je 0x1000f27e
jmp 0x1000f250
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
xor eax, eax
cmp ecx, edx
je 0x1000f260
cmp ebp, edx
je 0x1000f260
xor ecx, ecx
mov dword [esp + 0x50], ecx
cmp edi, edx
je 0x1000f26e
cmp ecx, edx
je 0x1000f26e
xor edi, edi
mov dword [esp + 0x54], edi
cmp dword [esp + 0x58], edx
je 0x1000f282
cmp edi, edx
je 0x1000f282
mov dword [esp + 0x58], edx
jmp 0x1000f282
mov eax, dword [esp + 0x28]
cmp esi, 2
jge 0x1000f28d
mov dword [esp + esi*4 + 0x70], eax
jmp 0x1000f299
cmp eax, edx
jne 0x1000f299
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x5e08]
mov edx, dword [esp + 0x5e28]
mov ecx, dword [ebx + esi*4 + 0x21278]
push eax
mov eax, dword [esp + 0x60]
mov dword [edx + esi*4], ecx
mov ecx, dword [esp + 0x5e10]
push esi
lea edx, [eax + eax*2]
push ecx
shl edx, 0xa
shl eax, 0xc
lea ecx, [esp + edx + 0x260c]
lea edx, [esp + eax + 0x3e0c]
push ecx
lea eax, [esp + 0xe04]
push edx
mov edx, dword [esp + 0x5e18]
lea ecx, [esp + 0x604]
push eax
push ecx
push edx
call fcn.1000e190
add esp, 0x20
xor esi, esi
mov eax, dword [ebx + 0x21d20]
mov ecx, dword [esp + 0x5e04]
mov edx, dword [esp + 0x18]
push ecx
fld dword [eax + 8]
fmul dword [ecx + 0xd0]
lea eax, [esp + 0x4f0]
lea ecx, [esp + 0x1ec]
fstp dword [esp]
push esi
push edx
push eax
lea edx, [esp + 0xe04]
push ecx
push edx
push ebx
call fcn.1000ea80
lea eax, [ebx + 0x21410]
add esp, 0x1c
mov dword [esp + 0x10], 0xffffffff
mov edi, 0x50b2
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
fld dword [0x1002e0f8]
mov ecx, dword [ecx]
inc eax
fld dword [0x1002e0f8]
cmp eax, ecx
mov dword [esp + 0x10], eax
jge 0x1000f38c
fadd dword [esp + eax*4 + 0x1e8]
fxch st(1)
fadd dword [esp + eax*4 + 0x4ec]
fxch st(1)
inc eax
cmp eax, ecx
jl 0x1000f371
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x18]
lea eax, [ecx + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x10]
fld dword [esp + eax*4 + 0x1e8]
fmul qword [0x1002e1c0]
fxch st(1)
lea ebp, [ecx + edx*4]
faddp st(1)
lea edx, [edi + ebp]
add edx, esi
fstp dword [ebx + edx*4 + 0x3d0]
fld dword [esp + eax*4 + 0x4ec]
fmul qword [0x1002e1c0]
fxch st(1)
mov eax, dword [esp + esi*4 + 0x4c]
cmp eax, 2
faddp st(1)
fmul qword [0x1002e5b8]
fst dword [esp + 0x14]
jge 0x1000f3e9
cmp dword [esp + esi*4 + 0x50], 1
jne 0x1000f492
test esi, esi
lea eax, [esi - 1]
jne 0x1000f3f5
mov eax, 2
fld dword [esp + 0x24]
fmul qword [0x1002e1f0]
lea edx, [edi + ebp]
add edx, eax
fstp dword [esp + 0x20]
fld dword [ebx + edx*4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fcomp qword [0x1002e0f0]
fnstsw ax
test ah, 0x40
je 0x1000f428
fstp st(0)
fld dword [esp + 0x1c]
jmp 0x1000f47b
fld dword [esp + 0x20]
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x40
jne 0x1000f47b
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x41
jne 0x1000f475
fld dword [esp + 0x1c]
cmp dword [0x100535ac], 0
jne 0x1000f459
fdiv dword [esp + 0x14]
jmp 0x1000f462
push dword [esp + 0x14]
call fcn.1002441c
fld dword [esp + 0x20]
call fcn.10024c50
fmul dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1000f47b
fld dword [0x1002e0f8]
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x1000f48e
fstp st(0)
fld dword [esp + 0x14]
fst dword [esp + 0x14]
cmp dword [esp + esi*4 + 0x4c], 1
jne 0x1000f541
test esi, esi
lea eax, [esi - 1]
jne 0x1000f4a9
mov eax, 2
fld dword [esp + 0x24]
fmul qword [0x1002e5b0]
lea ecx, [edi + ebp]
add ecx, eax
fstp dword [esp + 0x20]
fld dword [ebx + ecx*4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fcomp qword [0x1002e0f0]
fnstsw ax
test ah, 0x40
je 0x1000f4dc
fstp st(0)
fld dword [esp + 0x1c]
jmp 0x1000f52b
fld dword [esp + 0x20]
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x40
jne 0x1000f52b
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x41
jne 0x1000f525
fld dword [esp + 0x1c]
cmp dword [0x100535ac], 0
jne 0x1000f50d
fdiv dword [esp + 0x14]
jmp 0x1000f516
push dword [esp + 0x14]
call fcn.1002441c
fld dword [esp + 0x20]
call fcn.10024c50
fmul dword [esp + 0x14]
jmp 0x1000f52b
fld dword [0x1002e0f8]
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x1000f605
jmp 0x1000f5ff
test esi, esi
je 0x1000f551
cmp dword [esp + esi*4 + 0x48], 3
je 0x1000f564
jmp 0x1000f605
cmp dword [ebx + ecx*4 + 0x21c14], 3
jne 0x1000f605
lea eax, [esi + 1]
jmp 0x1000f570
cmp esi, 2
je 0x1000f56e
lea eax, [esi + 1]
jmp 0x1000f570
xor eax, eax
fld dword [esp + 0x24]
fmul qword [0x1002e5b0]
lea edx, [edi + ebp]
add edx, eax
fstp dword [esp + 0x20]
fld dword [ebx + edx*4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fcomp qword [0x1002e0f0]
fnstsw ax
test ah, 0x40
je 0x1000f5a3
fstp st(0)
fld dword [esp + 0x1c]
jmp 0x1000f5f2
fld dword [esp + 0x20]
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x40
jne 0x1000f5f2
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x41
jne 0x1000f5ec
fld dword [esp + 0x1c]
cmp dword [0x100535ac], 0
jne 0x1000f5d4
fdiv dword [esp + 0x14]
jmp 0x1000f5dd
push dword [esp + 0x14]
call fcn.1002441c
fld dword [esp + 0x20]
call fcn.10024c50
fmul dword [esp + 0x14]
jmp 0x1000f5f2
fld dword [0x1002e0f8]
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x1000f605
fstp st(0)
fld dword [esp + 0x14]
lea eax, [esi + esi*2]
shl eax, 2
fld dword [esp + eax + 0x8c]
fadd dword [esp + eax + 0x94]
lea ecx, [esp + eax + 0x94]
lea edx, [esp + eax + 0x90]
fadd dword [edx]
fld dword [ecx]
fmul dword [0x1002e260]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x1000f65f
fxch st(1)
fmul qword [0x1002e1c0]
fxch st(1)
fld dword [edx]
fmul dword [0x1002e260]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x1000f661
fmul qword [0x1002e1c0]
jmp 0x1000f661
fstp st(0)
mov edx, dword [esp + 0x2c]
add ebp, edi
add ebp, esi
add edi, 3
add edx, 4
cmp edi, 0x50d9
fstp dword [ebx + ebp*4]
mov dword [esp + 0x2c], edx
jl 0x1000f352
inc esi
cmp esi, 3
jl 0x1000f2fa
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
xor edx, edx
mov dword [ebx + ecx*4 + 0x21c14], eax
mov ebp, dword [ebx + 0x21444]
xor ecx, ecx
mov dword [esp + 0x1c], ebp
test ebp, ebp
jle 0x1000f71c
lea edi, [ebx + 0x21a4c]
fld dword [esp + edx*4 + 0x5f0]
mov eax, dword [edi - 0x100]
inc edx
dec eax
test eax, eax
fld st(0)
jle 0x1000f6fa
lea esi, [esp + edx*4 + 0x5f0]
mov ebp, eax
add edx, eax
mov eax, dword [esi]
add esi, 4
mov dword [esp + 0x3c], eax
fld dword [esp + 0x3c]
faddp st(2)
fcom dword [esp + 0x3c]
fnstsw ax
test ah, 1
je 0x1000f6f3
fstp st(0)
fld dword [esp + 0x3c]
dec ebp
jne 0x1000f6d3
mov ebp, dword [esp + 0x1c]
fld st(1)
add edi, 4
fstp dword [esp + ecx*4 + 0x1e8]
fstp dword [esp + ecx*4 + 0xe8]
inc ecx
fmul dword [edi - 4]
cmp ecx, ebp
fstp dword [esp + ecx*4 + 0x3e8]
jl 0x1000f6b3
mov edi, dword [ebx + 0x21d04]
test edi, edi
je 0x1000f7c3
lea ecx, [esp + 0x43]
push ecx
push 0x10038a7c
push edi
call fcn.1002537b
add esp, 0xc
test ebp, ebp
jle 0x1000f76e
lea esi, [esp + 0x2ec]
lea edx, [esp + 0x78]
push edx
push 0x10038a78
push edi
call fcn.1002537b
fld qword [esp + 0x84]
add esp, 0xc
fstp dword [esi]
add esi, 4
dec ebp
jne 0x1000f748
mov ebp, dword [esp + 0x1c]
test byte [edi + 0xc], 0x10
jne 0x1000fe41
mov ecx, dword [esp + 0x18]
mov al, byte [esp + 0x43]
cmp al, byte [ecx + 0x1002e3f8]
jne 0x1000fe46
mov edx, dword [esp + 0x3e0]
xor eax, eax
test ebp, ebp
mov dword [esp + 0x3e4], edx
jle 0x1000fa08
fld dword [esp + eax*4 + 0x1e8]
fmul dword [esp + eax*4 + 0x2ec]
inc eax
cmp eax, ebp
fstp dword [esp + eax*4 + 0x2e8]
jl 0x1000f7a4
jmp 0x1000fa08
fld dword [esp + 0x3f0]
fadd dword [esp + 0x3ec]
fcom qword [0x1002e130]
fnstsw ax
test ah, 0x40
jne 0x1000f862
fld dword [esp + 0xe8]
fld dword [esp + 0xe8]
fcomp dword [esp + 0xec]
fnstsw ax
test ah, 1
je 0x1000f807
fstp st(0)
fld dword [esp + 0xec]
mov eax, dword [ebx + 0x21950]
mov ecx, dword [ebx + 0x2194c]
fadd st(0), st(0)
fld st(1)
lea edx, [eax + ecx - 1]
fsubp st(1)
mov dword [esp + 0x28], edx
fmul qword [0x1002e5a8]
fild dword [esp + 0x28]
fmul st(2)
cmp dword [0x100535ac], 0
jne 0x1000f83a
fdivp st(1)
jmp 0x1000f843
push eax
mov al, 0xd
call fcn.10023f57
pop eax
fstp st(1)
call fcn.100239a0
cmp eax, 8
jbe 0x1000f854
mov eax, 8
fld dword [esp + 0x1e8]
fmul dword [eax*4 + 0x1002e4a8]
fstp dword [esp + 0x2ec]
lea eax, [ebp - 1]
mov dword [esp + 0x10], 1
cmp eax, 1
jle 0x1000f963
xor esi, esi
dec eax
mov dword [esp + 0x1c], eax
inc eax
lea edi, [ebx + 0x21950]
mov dword [esp + 0x10], eax
fld dword [esp + esi + 0x3f4]
fadd dword [esp + esi + 0x3f0]
fadd dword [esp + esi + 0x3ec]
fcom qword [0x1002e130]
fnstsw ax
test ah, 0x40
jne 0x1000f947
fld dword [esp + esi + 0xe8]
fcom dword [esp + esi + 0xec]
fnstsw ax
test ah, 1
je 0x1000f8d3
fstp st(0)
fld dword [esp + esi + 0xec]
fcom dword [esp + esi + 0xf0]
fnstsw ax
test ah, 1
je 0x1000f8ea
fstp st(0)
fld dword [esp + esi + 0xf0]
fmul qword [0x1002e5a0]
mov eax, dword [edi - 4]
mov edx, dword [edi + 4]
mov ecx, dword [edi]
add eax, edx
fld st(1)
fsubp st(1)
lea edx, [eax + ecx - 1]
mov dword [esp + 0x28], edx
fmul qword [0x1002e5a8]
fild dword [esp + 0x28]
fmul st(2)
cmp dword [0x100535ac], 0
jne 0x1000f91f
fdivp st(1)
jmp 0x1000f928
push eax
mov al, 0xd
call fcn.10023f57
pop eax
fstp st(1)
call fcn.100239a0
cmp eax, 8
jbe 0x1000f939
mov eax, 8
fld dword [eax*4 + 0x1002e4a8]
fmul dword [esp + esi + 0x1ec]
fstp dword [esp + esi + 0x2f0]
mov eax, dword [esp + 0x1c]
add esi, 4
add edi, 4
dec eax
mov dword [esp + 0x1c], eax
jne 0x1000f88f
fld dword [esp + ebp*4 + 0x3e8]
fadd dword [esp + ebp*4 + 0x3e4]
fcom qword [0x1002e130]
fnstsw ax
test ah, 0x40
jne 0x1000f9fd
fld dword [esp + ebp*4 + 0xe0]
fcom dword [esp + ebp*4 + 0xe4]
fnstsw ax
test ah, 1
je 0x1000f99c
fstp st(0)
fld dword [esp + ebp*4 + 0xe4]
mov eax, dword [ebx + ebp*4 + 0x21948]
mov ecx, dword [ebx + ebp*4 + 0x21944]
fadd st(0), st(0)
fld st(1)
lea edx, [eax + ecx - 1]
fsubp st(1)
mov dword [esp + 0x28], edx
fmul qword [0x1002e5a8]
fild dword [esp + 0x28]
fmul st(2)
cmp dword [0x100535ac], 0
jne 0x1000f9d1
fdivp st(1)
jmp 0x1000f9da
push eax
mov al, 0xd
call fcn.10023f57
pop eax
fstp st(1)
call fcn.100239a0
cmp eax, 8
jbe 0x1000f9eb
mov eax, 8
fld dword [eax*4 + 0x1002e4a8]
mov eax, dword [esp + 0x10]
fmul dword [esp + eax*4 + 0x1e8]
mov ecx, dword [esp + 0x10]
fstp dword [esp + ecx*4 + 0x2ec]
mov ecx, dword [ebx + 0x21444]
xor eax, eax
xor edi, edi
test ecx, ecx
jle 0x1000fd88
lea edx, [esp + 0x4ec]
lea ebp, [ebx + 0x21450]
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], ebp
jmp 0x1000fa35
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x14268]
mov esi, dword [ebp - 4]
fld dword [ecx + eax*4]
fmul dword [esp + esi*4 + 0x2ec]
inc eax
inc esi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp]
cmp esi, eax
jg 0x1000fc34
lea eax, [esp + 0x2ec]
lea edx, [esi*4 + 0xd4]
sub eax, 0xd4
mov dword [esp + 0x2c], edx
mov dword [esp + 0x44], eax
jmp 0x1000fa7a
mov eax, dword [esp + 0x44]
mov edx, dword [ebx + 0x14268]
mov ecx, dword [esp + 0x1c]
fld dword [edx + ecx*4]
mov edx, dword [esp + 0x2c]
inc ecx
mov dword [esp + 0x1c], ecx
fmul dword [eax + edx]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x1000fac9
fld st(1)
fmul dword [0x1003afac]
fld st(1)
fcompp
fnstsw ax
test ah, 1
je 0x1000fadc
fld st(0)
cmp dword [0x100535ac], 0
jne 0x1000fabe
fdiv st(2)
jmp 0x1000fac7
push eax
mov al, 0x10
call fcn.10023f57
pop eax
jmp 0x1000fafb
fld st(0)
fmul dword [0x1003afac]
fld st(2)
fcompp
fnstsw ax
test ah, 1
jne 0x1000fae3
faddp st(1)
jmp 0x1000fc19
fld st(1)
cmp dword [0x100535ac], 0
jne 0x1000faf2
fdiv st(1)
jmp 0x1000fafb
push eax
mov al, 8
call fcn.10023f57
pop eax
fstp dword [esp + 0x10]
mov eax, esi
fadd st(1)
sub eax, edi
add eax, 3
cmp eax, 6
fstp dword [esp + 0x14]
fstp st(0)
ja 0x1000fb55
fld dword [esp + 0x10]
fcomp dword [0x1003afb0]
fnstsw ax
test ah, 1
jne 0x1000fb2d
fld dword [esp + 0x14]
jmp 0x1000fc19
mov ecx, dword [esp + 0x10]
push ecx
call fcn.10006010
fmul qword [0x1002e598]
add esp, 4
call fcn.100239a0
fld dword [esp + 0x14]
fmul dword [eax*4 + 0x1002e398]
jmp 0x1000fc19
mov edx, dword [esp + 0x10]
push edx
call fcn.10006010
fmul qword [0x1002e598]
add esp, 4
call fcn.100239a0
mov ecx, dword [esp + 0x2c]
mov ebp, eax
mov eax, dword [ebx + 0x21d20]
fld dword [eax + ecx]
fmul dword [eax + 8]
fst dword [esp + 0x10]
fmul dword [0x1003afb4]
fcomp dword [esp + 0x14]
fld dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x1000fc12
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x1000fc00
cmp ebp, 0xd
mov dword [esp + 0x30], 0x3f800000
jg 0x1000fbbb
fld dword [ebp*4 + 0x1002e3c0]
fstp dword [esp + 0x30]
fld dword [esp + 0x14]
cmp dword [0x100535ac], 0
jne 0x1000fbce
fdiv dword [esp + 0x10]
jmp 0x1000fbd7
push dword [esp + 0x10]
call fcn.1002441c
push ecx
fstp dword [esp]
call fcn.10006010
fmul qword [0x1002e590]
fld dword [ebp*4 + 0x1002e334]
fsub dword [esp + 0x34]
add esp, 4
fmulp st(1)
fadd dword [esp + 0x30]
fmul dword [esp + 0x14]
jmp 0x1000fc19
fld dword [esp + 0x14]
cmp ebp, 0xd
jg 0x1000fc19
fmul dword [ebp*4 + 0x1002e3c0]
jmp 0x1000fc19
fmul dword [ebp*4 + 0x1002e334]
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
inc esi
add ecx, 4
mov eax, dword [ebp]
mov dword [esp + 0x2c], ecx
cmp esi, eax
jle 0x1000fa76
mov edx, dword [esp + 0x5c]
fmul qword [0x1002e588]
cmp dword [ebx + edx*4 + 0x21b68], 2
fstp dword [esp + 0x10]
jne 0x1000fc5b
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
jmp 0x1000fd40
mov eax, dword [esp + 0x18]
shl eax, 6
lea edx, [eax + edi]
add eax, edi
fld dword [ebx + edx*4 + 0x13264]
fadd st(0), st(0)
fld dword [ebx + eax*4 + 0x13664]
fmul dword [0x1002e510]
fstp dword [esp + 0x2c]
fcom dword [esp + 0x2c]
fnstsw ax
test ah, 1
je 0x1000fc90
fld st(0)
jmp 0x1000fc94
fld dword [esp + 0x2c]
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x1000fcaf
mov eax, dword [esp + 0x10]
fstp st(0)
mov dword [esp + 0x34], eax
jmp 0x1000fcca
fcom dword [esp + 0x2c]
fnstsw ax
test ah, 1
je 0x1000fcc0
fstp dword [esp + 0x34]
jmp 0x1000fcca
mov ecx, dword [esp + 0x2c]
fstp st(0)
mov dword [esp + 0x34], ecx
fld dword [esp + 0x24]
fcomp qword [0x1002e0f0]
fnstsw ax
test ah, 0x40
je 0x1000fce1
fld dword [esp + 0x34]
jmp 0x1000fd3a
fld dword [esp + 0x24]
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x40
je 0x1000fcf8
fld dword [esp + 0x10]
jmp 0x1000fd3a
fld dword [esp + 0x10]
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x41
jne 0x1000fd34
fld dword [esp + 0x34]
cmp dword [0x100535ac], 0
jne 0x1000fd1c
fdiv dword [esp + 0x10]
jmp 0x1000fd25
push dword [esp + 0x10]
call fcn.1002441c
fld dword [esp + 0x24]
call fcn.10024c50
fmul dword [esp + 0x10]
jmp 0x1000fd3a
fld dword [0x1002e0f8]
mov edx, dword [esp + 0x20]
fstp dword [edx]
mov eax, dword [esp + 0x18]
add ebp, 8
shl eax, 6
mov dword [esp + 0x28], ebp
lea ecx, [eax + edi]
add eax, edi
inc edi
mov edx, dword [ebx + ecx*4 + 0x13264]
lea ecx, [ebx + ecx*4 + 0x13264]
mov dword [ebx + eax*4 + 0x13664], edx
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [ebx + 0x21444]
add ecx, 4
cmp edi, eax
mov dword [esp + 0x20], ecx
jl 0x1000fa31
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x4ec]
push esi
lea edx, [esp + 0x1ec]
push ecx
push edx
push ebx
call fcn.1000e980
mov eax, dword [esp + 0x58]
add esp, 0x10
inc esi
cmp esi, eax
mov dword [esp + 0x18], esi
jl 0x1000ef61
mov edx, dword [esp + 0x5e04]
fld dword [edx + 0xec]
fst dword [esp + 0x44]
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x40
jne 0x1000fdf1
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x5e04]
push eax
push ecx
call fcn.1000e390
mov edx, dword [esp + 0x5e0c]
add esp, 8
cmp dword [edx + 0x2c], 1
jne 0x1000fe4b
push ebx
call fcn.1000e420
mov edi, dword [esp + 0x5e08]
add esp, 4
fld dword [edi + 0xf4]
fst dword [esp + 0x44]
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x40
jne 0x1000fe52
mov edx, dword [ebx + 0x21d20]
mov eax, dword [esp + 0x44]
push ecx
fld dword [edx + 8]
fmul dword [edi + 0xd0]
fstp dword [esp]
push eax
push ebx
call fcn.1000e650
add esp, 0xc
jmp 0x1000fe52
jmp 0x10025364
jmp 0x10025364
mov edi, dword [esp + 0x5e04]
mov esi, dword [esp + 0x5e2c]
lea ecx, [esp + 0xb0]
push ecx
lea edx, [esp + 0x74]
push esi
push edx
push edi
call fcn.1000ec90
mov eax, dword [esp + 0x58]
add esp, 0x10
test eax, eax
mov dword [esp + 0x18], 0
jle 0x100100db
jmp 0x1000fe8d
mov esi, dword [esp + 0x5e2c]
cmp dword [esp + 0x18], 1
jle 0x1000fed7
mov eax, dword [esp + 0x5e24]
xor edx, edx
add eax, 0xfffffff8
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
cmp eax, 2
je 0x1000feb1
cmp dword [esi + 4], 2
jne 0x1000feb6
mov edx, 2
mov ecx, dword [esp + 0x5e0c]
mov eax, dword [esp + 0x18]
lea eax, [eax + ecx*2 - 2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x5e1c]
jmp 0x1000ff0a
mov edx, dword [esp + 0x5e20]
mov ecx, dword [esp + 0x5e2c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], edx
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x5e0c]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x5e18]
cmp edx, 2
mov edx, dword [ebx + 0xcefc]
lea ebp, [ecx + eax*8]
jne 0x1001000e
mov dword [esp + 0x44], edx
mov edx, 0x1002e3fc
mov dword [esp + 0x24], 0x439a88f6
mov dword [esp + 0x1c], edx
mov edi, 0x53
xor esi, esi
fld dword [edx]
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x40
jne 0x1000ffe8
lea eax, [esi + edi]
fld dword [ebp + eax*4 - 0xf4]
fcomp qword [0x1002e130]
lea ecx, [ebp + eax*4 - 0xf4]
fnstsw ax
test ah, 0x41
jne 0x1000ffe8
fld dword [esp + 0x44]
fmul dword [ecx]
lea ecx, [esi + edi]
lea ecx, [ebp + ecx*4]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fcomp dword [ecx]
fnstsw ax
test ah, 1
je 0x1000ffe8
fld dword [ecx]
fld dword [esp + 0x30]
fmul qword [0x1002e580]
fcompp
fnstsw ax
test ah, 1
je 0x1000ffae
fld dword [edx]
fmul qword [0x1002e578]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
jmp 0x1000ffe8
fld dword [ecx]
cmp dword [0x100535ac], 0
jne 0x1000ffbf
fdiv dword [esp + 0x30]
jmp 0x1000ffc8
push dword [esp + 0x30]
call fcn.1002441c
push ecx
fstp dword [esp]
call fcn.10006010
mov edx, dword [esp + 0x20]
add esp, 4
fmul qword [0x1002e4d8]
fmul dword [edx]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
inc esi
cmp esi, 3
jl 0x1000ff38
add edi, 3
add edx, 4
cmp edi, 0x77
mov dword [esp + 0x1c], edx
jl 0x1000ff36
fld dword [esp + 0x24]
jmp 0x100100bd
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], 0x438c875c
mov esi, 0x1002e42c
add ebp, 0xf4
fld dword [ebp - 0xf4]
fcomp qword [0x1002e130]
fnstsw ax
test ah, 0x41
jne 0x100100a7
fld dword [esp + 0x28]
fmul dword [ebp - 0xf4]
fst dword [esp + 0x30]
fcomp dword [ebp]
fnstsw ax
test ah, 1
je 0x100100a7
fld dword [ebp]
fld dword [esp + 0x30]
fmul qword [0x1002e580]
fcompp
fnstsw ax
test ah, 1
je 0x10010070
fld dword [esi]
fmul qword [0x1002e578]
jmp 0x1001009f
fld dword [ebp]
cmp dword [0x100535ac], 0
jne 0x10010082
fdiv dword [esp + 0x30]
jmp 0x1001008b
push dword [esp + 0x30]
call fcn.1002441c
push ecx
fstp dword [esp]
call fcn.10006010
fmul qword [0x1002e4d8]
add esp, 4
fmul dword [esi]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
add esi, 4
add ebp, 4
cmp esi, 0x1002e480
jl 0x10010025
fld dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
fstp dword [eax + ecx*4]
mov eax, ecx
mov ecx, dword [esp + 0x48]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x1000fe86
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5df0
ret
push 0xa
call fcn.10027bfa
push 0x16
call fcn.10029908
pop ecx
pop ecx
push 3
call fcn.10026023