Function at 0x10009291
Capabilities:
Compute adler32 checksum
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x134
mov eax, dword [ebp + 0x10]
push ebx
lea ecx, [eax + 0xa2c]
push esi
push edi
mov dword [esp + 0x88], eax
mov dword [esp + 0xa0], ecx
cmp eax, ecx
ja 0x100079f8
fld qword [0x100393e8]
mov edi, dword [ebp + 0xc]
fld1
fld qword [0x10039480]
fld qword [0x10039290]
fld qword [esp + 0x30]
jmp 0x10007833
fld1
fld qword [0x10039480]
fld qword [0x10039290]
fxch st(2)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
mov eax, dword [esp + 0x88]
cmp eax, 0x6c92
ja 0x100083fe
je 0x100083a5
cmp eax, 0x68a2
ja 0x10007b3a
je 0x10007b20
cmp eax, 0x6752
ja 0x10007acb
fstp st(2)
je 0x10007a93
cmp eax, 0x55a6
ja 0x100079cb
fstp st(2)
fstp st(1)
je 0x1000792e
sub eax, 0x9a1
je 0x100078fc
sub eax, 0x54
jne 0x100088a8
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x110]
mov ecx, 0x38b7
mov eax, ecx
sub eax, 0x38b7
je 0x100078bf
sub eax, 0x1a
jne 0x100078ec
fstp st(0)
mov eax, edx
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
cmp eax, 0xf
jne 0x100078cb
mov eax, dword [esi + 0x40]
jmp 0x100078dd
cmp eax, 0x18
jne 0x100078db
mov eax, dword [esi + 0x1bc8]
sub eax, dword [esi + 0x40]
jmp 0x100078dd
xor eax, eax
mov edx, dword [esi + 0x1bc4]
shl edx, 0x10
add edx, eax
mov dword [esp + 0x5c], edx
add ecx, 0x1a
cmp ecx, 0x38d1
jbe 0x100078a4
jmp 0x10008433
mov ecx, dword [edi]
test ecx, ecx
je 0x10007908
cmp dword [ecx + 0x1c], 0
jne 0x1000791f
mov eax, 0x6eb4
cmp eax, eax
je 0x10009490
add eax, 0x4c
cmp eax, 0x6eb4
jbe 0x1000790f
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x110], eax
jmp 0x100088a8
fstp st(0)
mov ecx, 0x10038764
fstp st(0)
mov eax, edi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10007960
test dl, dl
je 0x1000795c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10007960
add eax, 2
add ecx, 2
test dl, dl
jne 0x10007940
xor eax, eax
jmp 0x10007965
sbb eax, eax
sbb eax, 0xffffffff
mov edx, dword [ebp + 0x18]
push 0x10
test eax, eax
jne 0x100079ab
push eax
call fcn.100047f0
add esp, 8
mov dword [esp + 0x8c], eax
test eax, eax
jne 0x100085b1
call fcn.10026000
add eax, 0x40
push eax
push str.ERROR:_sf_open_fd___n
call fcn.10025efa
fld qword [0x100393e8]
fld qword [esp + 0x38]
add esp, 8
jmp 0x100088a8
mov eax, edi
call fcn.1001fc50
fld qword [0x100393e8]
fld qword [esp + 0x34]
add esp, 4
mov dword [esp + 0x8c], eax
jmp 0x100088a8
cmp eax, 0x55fa
jne 0x10009487
mov edx, dword [esp + 0x8c]
mov ecx, 0x7668
mov eax, ecx
sub eax, 0x7668
je 0x10007a03
sub eax, 0x2f
jne 0x10007a07
fstp st(1)
fstp st(2)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x5c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x5c], edx
add ecx, 0x2f
cmp ecx, 0x7697
jbe 0x100079e2
mov eax, dword [ebp + 0x38]
fld qword [eax]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x10008a86
mov edx, dword [esp + 0x18]
mov ebx, 0x3f5f
mov eax, ebx
sub eax, 0x3f5f
je 0x10008a53
sub eax, 0x3f
je 0x10008a05
sub eax, 0x3f
jne 0x10008a72
mov esi, dword [edi + 0x1c]
fild dword [esp + 0x10]
mov eax, edx
imul eax, dword [esp + 0x14]
fmul qword [0x10039428]
mov ecx, 1
sub eax, ecx
neg eax
sbb eax, eax
neg eax
add eax, dword [esp + 0x28]
imul eax, eax, 0x68
mov dword [eax + esi + 0x18], ecx
mov esi, dword [edi + 0x1c]
mov dword [eax + esi + 0x20], ecx
mov ecx, dword [edi + 0x1c]
fild qword [eax + ecx + 0x40]
fdivp st(1)
fstp qword [eax + ecx + 0x28]
jmp 0x10008a72
fstp st(1)
fstp st(1)
fstp st(0)
call fcn.10030d70
fmul qword [0x10039460]
mov ecx, dword [ebp + 0x38]
fld qword [ecx]
fadd qword [0x10039430]
fmulp st(1)
fst qword [esp + 0x78]
fstp qword [esp + 0x108]
fld qword [0x100393e8]
fld qword [esp + 0x30]
jmp 0x100088a8
sub eax, 0x67a6
fstp st(1)
je 0x10007b09
sub eax, 0x54
fstp st(2)
je 0x10007af6
sub eax, 0x54
fstp st(0)
jne 0x100088a8
mov edx, dword [ebp + 8]
fstp st(0)
fld qword [edx]
fst qword [esp + 0x30]
jmp 0x100088a8
mov eax, dword [ebp + 0x28]
fdivr qword [eax]
fsubr st(2)
fstp qword [esp + 0x128]
jmp 0x100088a8
mov ecx, dword [ebp + 0x34]
fld qword [ecx]
fdivrp st(2)
fxch st(2)
fsubrp st(1)
fstp qword [esp + 0x90]
jmp 0x100088a8
fstp st(2)
mov dword [esp + 0x20], 0
fstp st(0)
fxch st(1)
fstp qword [esp + 0xf8]
jmp 0x100088a8
fstp st(2)
cmp eax, 0x69f2
ja 0x10007b9f
fstp st(2)
fstp st(1)
je 0x10007b92
sub eax, 0x68f6
je 0x10007b85
sub eax, 0x54
je 0x10007b70
sub eax, 0x54
jne 0x100088a8
mov eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], eax
jmp 0x100088a8
mov dword [esp + 0x14], 1
mov dword [esp + 0x28], 0
jmp 0x100088a8
mov dword [esp + 0x18], 1
jmp 0x100088a8
mov dword [esp + 0x3c], 1
jmp 0x100088a8
sub eax, 0x6a46
je 0x10008392
sub eax, 0x54
je 0x100082f6
sub eax, 0x1a4
jne 0x10009487
mov edx, dword [ebp + 8]
fld qword [edx]
mov eax, dword [ebp + 0x38]
fstp qword [edi]
fld qword [eax]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x10009485
cmp dword [esp + 0x20], 0
jne 0x100082e4
fld qword [esp + 0xb8]
fld qword [esp + 0xe0]
jmp 0x10007bfc
fldz
fxch st(2)
inc dword [esp + 0x20]
mov edi, dword [esp + 0xac]
mov dword [esp + 0x24], 0x6a32
mov esi, dword [esp + 0x24]
mov ebx, 1
jmp 0x10007c1e
fldz
fxch st(2)
cmp esi, 0x6ca8
ja 0x10007ebe
je 0x10007e38
cmp esi, 0x6b40
ja 0x10007d72
je 0x10007d3d
mov eax, esi
sub eax, 0x6a32
je 0x10007cb4
sub eax, 0x5a
je 0x10007ca6
sub eax, 0x5a
fstp st(2)
jne 0x10007de2
fxch st(3)
mov dword [esp + 0x60], ebx
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x10007c72
mov dword [esp + 0x60], 0
fld st(0)
xor ebx, ebx
fmul st(3)
mov dword [esp + 0x28], ebx
call fcn.100305b0
sar eax, 1
mov dword [esp + 0x1c], eax
je 0x10007c9c
inc ebx
fmul st(2)
sar eax, 1
jne 0x10007c89
fst qword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], ebx
mov ebx, 1
jmp 0x10007de0
fxch st(2)
fstp qword [esp + 0xd0]
jmp 0x10007de2
mov ecx, dword [ebp + 0x3c]
fstp st(2)
cmp dword [ecx], 0
fstp st(0)
fstp st(1)
fstp st(0)
jg 0x10007d08
cmp dword [esp + 0x54], 0
fstp st(1)
je 0x10007cd5
fld qword [0x10039608]
jmp 0x10007d06
mov edx, dword [ebp + 0x30]
fstp st(0)
fstp st(0)
sub esp, 8
fild dword [edx]
fmul qword [0x10039438]
fdiv qword [0x10039600]
fstp qword [esp]
call fcn.10025600
fld qword [0x100393e8]
fld qword [esp + 0x38]
add esp, 8
fxch st(1)
fxch st(2)
fxch st(1)
fxch st(1)
call fcn.100305b0
fld qword [esp + 0xb8]
fld qword [esp + 0xe0]
mov dword [esp + 0xa4], eax
fld1
fld qword [0x10039290]
fxch st(1)
fxch st(4)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
jmp 0x10007de2
cmp dword [esp + 0x60], 0
fstp st(2)
jne 0x10007d6c
fld qword [0x100395f8]
fcomp st(4)
fnstsw ax
test ah, 5
jp 0x10007d62
fxch st(3)
fcom st(5)
fnstsw ax
fxch st(3)
test ah, 5
jnp 0x10007d6c
mov dword [esp + 0x14], 0
jmp 0x10007de2
mov dword [esp + 0x14], ebx
jmp 0x10007de2
mov eax, esi
fstp st(2)
sub eax, 0x6b9a
je 0x10007e14
sub eax, 0x5a
je 0x10007dd4
sub eax, 0x5a
jne 0x10007de2
cmp dword [esp + 0x14], eax
jne 0x10007da2
fxch st(3)
fcom st(5)
fnstsw ax
test ah, 5
jp 0x10007da0
mov ecx, ebx
jmp 0x10007da6
fxch st(3)
xor ecx, ecx
fxch st(3)
cmp dword [esp + 0x60], 0
je 0x10007dc4
cmp dword [esp + 0x54], 0
je 0x10007dc4
mov eax, ebx
lea eax, [eax + ecx + 1]
mov dword [esp + 0x18], eax
fimul dword [esp + 0x18]
jmp 0x10007ddc
xor eax, eax
lea eax, [eax + ecx + 1]
mov dword [esp + 0x18], eax
fimul dword [esp + 0x18]
jmp 0x10007ddc
fild dword [esp + 0x3c]
fdivp st(4)
fxch st(3)
fst qword [esp + 0x30]
fxch st(3)
add esi, 0x5a
mov dword [esp + 0x24], esi
cmp esi, 0x6ec4
jbe 0x10007c1a
cmp dword [esp + 0x20], 0
je 0x10007bf8
inc dword [esp + 0x20]
fstp st(0)
mov edi, dword [ebp + 0xc]
fstp st(3)
fstp st(0)
fstp st(1)
jmp 0x100088a8
fxch st(3)
fcom st(4)
fnstsw ax
test ah, 0x41
jne 0x10007e2f
cmp dword [esp + 0x14], 0
je 0x10007e2f
mov eax, ebx
inc eax
mov dword [esp + 0x3c], eax
jmp 0x10007de0
xor eax, eax
inc eax
mov dword [esp + 0x3c], eax
jmp 0x10007de0
fstp st(2)
fstp st(1)
fld st(2)
call fcn.100305b0
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fsubr st(3)
fst qword [esp + 0xe0]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x100082d1
fld qword [0x10039428]
fnstcw word [esp + 0x24]
movzx eax, word [esp + 0x24]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x2c], eax
fld st(0)
fadd st(4)
fldcw word [esp + 0x2c]
fistp qword [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
fldcw word [esp + 0x24]
fild dword [esp + 0xd0]
test ecx, ecx
jns 0x10007eaa
fadd qword [0x10039428]
fdivrp st(1)
fsub st(5)
fabs
fstp qword [esp + 0xd0]
fxch st(1)
jmp 0x10007de2
cmp esi, 0x6e10
ja 0x10008126
je 0x1000810f
mov eax, esi
sub eax, 0x6d02
je 0x10007f22
sub eax, 0x5a
fstp st(2)
je 0x10007f0e
sub eax, 0x5a
jne 0x10007de2
mov eax, edi
or eax, dword [esp + 0x74]
mov ecx, 0
and eax, ebx
sete cl
sar edi, cl
mov dword [esp + 0x104], eax
mov dword [esp + 0xac], edi
jmp 0x10007de2
fild dword [esp + 0x3c]
fmul st(4)
call fcn.100305b0
mov dword [esp + 0x74], eax
jmp 0x10007de2
fld st(0)
mov edi, ebx
fucomp st(3)
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], ebx
fnstsw ax
fstp st(2)
test ah, 0x44
jnp 0x10007f41
mov dword [esp + 0x38], 0
cmp dword [esp + 0xa4], ebx
jl 0x10008089
cmp dword [esp + 0x38], 0
jne 0x10008081
mov ebx, 0x38d8
mov eax, ebx
sub eax, 0x38d8
je 0x100080fb
sub eax, 0x51
je 0x100080e6
sub eax, 0x51
jne 0x1000805b
fild dword [esp + 0x80]
fdiv st(1)
fsub st(5)
fabs
fcomp qword [esp + 0xd0]
fnstsw ax
test ah, 0x41
jp 0x10007fe3
mov dword [esp + 0x38], 1
cmp dword [esp + 0x80], edi
jne 0x1000809e
fstp st(0)
mov esi, 0x1dec
fstp st(3)
fstp st(0)
fstp st(1)
mov eax, esi
sub eax, 0x1dec
je 0x10007ffc
sub eax, 0xd
jne 0x1000802a
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x10007fed
mov eax, 1
inc eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fdivp st(1)
jmp 0x1000802a
mov dword [esp + 0x38], 0
jmp 0x1000805b
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fdivp st(1)
jmp 0x1000802a
fstp st(1)
sub esp, 8
fstp qword [esp]
call fcn.10025600
fld qword [0x100393e8]
add esp, 8
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10008022
mov eax, 1
jmp 0x10008024
xor eax, eax
add dword [esp + 0x28], eax
fxch st(1)
add esi, 0xd
cmp esi, 0x1df9
jbe 0x10007fba
fld qword [esp + 0xb8]
mov esi, dword [esp + 0x24]
fld qword [esp + 0xe0]
fld1
fld qword [0x10039290]
fxch st(1)
fxch st(4)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
add ebx, 0x51
cmp ebx, 0x397a
jbe 0x10007f5e
inc edi
mov dword [esp + 0x1c], edi
mov ebx, 1
cmp edi, dword [esp + 0xa4]
jle 0x10007f4e
fxch st(3)
fst qword [esp + 0x30]
fxch st(3)
mov edi, dword [esp + 0x18]
imul edi, dword [esp + 0x10]
mov dword [esp + 0xac], edi
jmp 0x10007de2
mov esi, 0x5fea
mov eax, esi
sub eax, 0x5fea
je 0x100080b7
sub eax, 0x59
jne 0x100080d2
mov dword [esp + 0x10], edi
jmp 0x100080d2
fxch st(3)
call fcn.100305b0
imul eax, edi
add eax, dword [esp + 0x80]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fxch st(3)
add esi, 0x59
cmp esi, 0x6043
jbe 0x100080a3
mov esi, dword [esp + 0x24]
jmp 0x1000805b
fld st(0)
fadd st(3)
call fcn.100305b0
mov dword [esp + 0x80], eax
jmp 0x1000805b
fstp st(0)
fild dword [esp + 0x1c]
fmul st(1)
fst qword [esp + 0xb8]
jmp 0x1000805b
xor ecx, ecx
fstp st(2)
cmp dword [esp + 0x104], ecx
sete cl
sar dword [esp + 0x74], cl
jmp 0x10007de2
mov eax, esi
fstp st(2)
sub eax, 0x6e6a
je 0x10008185
sub eax, 0x5a
jne 0x10007de2
mov edx, dword [esp + 0x54]
test edx, edx
jne 0x10007de2
cmp dword [esp + 0x38], edx
je 0x10008156
cmp dword [esp + 0x20], edx
jne 0x10007de2
mov ecx, 0x7923
mov eax, ecx
sub eax, 0x7923
je 0x1000816f
sub eax, 0x15
jne 0x10008171
mov dword [esp + 0x20], eax
jmp 0x10008171
add edx, ebx
add ecx, 0x15
cmp ecx, 0x7938
jbe 0x1000815b
mov dword [esp + 0x54], edx
jmp 0x10007de2
mov ecx, dword [esp + 0x114]
test ecx, ecx
je 0x1000825d
cmp dword [esp + 0x40], ebx
jne 0x1000825d
mov edx, dword [esp + 0x18]
fstp st(0)
imul edx, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fdiv st(3)
fst qword [esp + 0xb8]
fld qword [0x10039488]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x1000825d
fld st(0)
fld qword [0x100395f0]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1000825d
mov esi, 0x1e74
mov eax, esi
sub eax, 0x1e74
je 0x10008206
sub eax, 0x4f
je 0x100081fc
sub eax, 0x4f
jne 0x10008244
mov dword [esp + 0x20], eax
jmp 0x10008244
mov dword [esp + 0x10], 1
jmp 0x10008244
fld qword [0x100395e8]
mov ebx, 4
fmul st(1)
mov dword [esp + 0x40], ebx
call fcn.100305b0
sar eax, 1
mov dword [esp + 0x1c], eax
je 0x10008232
add ebx, ebx
sar eax, 1
jne 0x10008224
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], ebx
fild dword [esp + 0x40]
fmulp st(4)
fild dword [esp + 0x10]
fdivp st(4)
fild dword [esp + 0x18]
fdivp st(4)
add esi, 0x4f
cmp esi, 0x1f12
jbe 0x100081e3
mov esi, dword [esp + 0x24]
mov ebx, 1
jmp 0x10007dda
cmp dword [esp + 0x38], 0
je 0x10007de2
mov edx, dword [esp + 0x74]
mov eax, edx
cmp edi, edx
jl 0x10008274
mov eax, edi
lea ebx, [ecx + ecx + 3]
cmp eax, ebx
jl 0x1000828a
mov eax, edi
imul eax, edx
lea ecx, [ecx + ecx*2]
add ecx, ecx
cmp eax, ecx
jge 0x100082da
mov ecx, 0x24cc
mov ebx, 1
mov eax, ecx
sub eax, 0x24cc
je 0x100082cb
sub eax, 0x4e
je 0x100082c5
sub eax, 0x4e
jne 0x100082b5
fstp st(3)
mov dword [esp + 0x3c], ebx
fld st(3)
mov dword [esp + 0x10], ebx
fxch st(3)
add ecx, 0x4e
cmp ecx, 0x2568
jbe 0x10008294
jmp 0x10007dda
mov dword [esp + 0x14], edx
jmp 0x100082b5
mov dword [esp + 0x18], edi
jmp 0x100082b5
fxch st(1)
fxch st(3)
jmp 0x10007de0
mov ebx, 1
jmp 0x10007de2
inc dword [esp + 0x20]
fstp st(0)
mov edi, dword [ebp + 0xc]
fstp st(2)
fstp st(1)
jmp 0x100088a8
mov eax, dword [ebp + 0x1c]
fstp st(0)
mov ecx, dword [ebp + 0x24]
xor edx, edx
cmp dword [eax], edx
sete dl
cmp dword [ecx], 1
mov dword [esp + 0x114], edx
jle 0x10008353
mov edx, dword [ebp + 8]
fxch st(1)
fcomp qword [edx]
fnstsw ax
test ah, 5
jnp 0x10008339
mov eax, dword [ebp + 0x34]
fld qword [0x100395e0]
fcomp qword [eax]
mov dword [esp + 0x50], 0
fnstsw ax
test ah, 5
jp 0x10008341
mov dword [esp + 0x50], 1
fild dword [esp + 0x50]
call fcn.100305b0
mov dword [esp + 0x54], eax
jmp 0x100088a8
mov ecx, dword [ebp + 0x38]
fstp st(0)
fstp st(0)
sub esp, 8
fld qword [ecx]
fsub qword [0x100395d8]
fmul qword [0x100395d0]
faddp st(1)
fstp qword [esp]
call fcn.10025600
fld qword [esp + 0x38]
add esp, 8
fld qword [0x100393e8]
fxch st(2)
call fcn.100305b0
mov dword [esp + 0x54], eax
jmp 0x100088a8
xor eax, eax
fstp st(2)
fstp st(1)
mov dword [esp + 0x60], eax
mov dword [esp + 0x38], eax
jmp 0x100088a8
fstp st(2)
fstp st(0)
fild dword [esp + 0x10]
fmul st(1)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x100083c1
mov eax, 1
jmp 0x100083c3
xor eax, eax
mov edx, dword [esp + 0x40]
imul edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
dec edx
neg edx
sbb edx, edx
imul ecx, dword [esp + 0x14]
dec ecx
neg edx
neg ecx
sbb ecx, ecx
neg ecx
add edx, eax
add ecx, edx
add ecx, dword [esp + 0x28]
xor eax, eax
mov dword [edi + 0x18], ecx
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], eax
mov dword [edi + 0x28], eax
jmp 0x100088a8
fstp st(2)
cmp eax, 0x6dfe
ja 0x10008908
fstp st(0)
je 0x100088d5
add eax, 0xffff931a
cmp eax, 0xfc
ja case.0x1000842a.27879
movzx edx, byte [eax + 0x100094c0]
jmp dword [edx*4 + 0x100094a0]
fstp st(1)
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jg 0x100088a8
jl 0x1000844d
mov ecx, eax
cmp dword [ecx], 0
jae 0x100088a8
mov ecx, 0x39ae
mov eax, ecx
sub eax, 0x39ae
je 0x10008466
sub eax, 0x14
je 0x100079f4
jmp 0x1000846e
mov dword [esp + 0x5c], 0xffffffff
add ecx, 0x14
cmp ecx, 0x39c2
jbe 0x10008452
jmp 0x100088a8
mov eax, dword [edi + 0x18]
mov dword [esp + 0x20], eax
cmp eax, 1
jle case.0x1000842a.27879
mov edi, 0x46b3
mov ebx, eax
jmp 0x1000849b
fld1
fxch st(1)
mov eax, edi
sub eax, 0x46b3
je 0x100084d4
dec eax
fstp st(1)
jne 0x10008530
fstp st(0)
fstp st(0)
fild dword [esp + 0x20]
call fcn.10030d70
fmul qword [0x10039460]
fadd qword [esp + 0x78]
fstp qword [esp + 0x78]
fld qword [0x100393e8]
fld qword [esp + 0x30]
jmp 0x10008530
fild dword [esp + 0x10]
fmul st(1)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x10008530
mov esi, 0x5d73
mov eax, esi
sub eax, 0x5d73
je 0x100084fb
sub eax, 0x16
jne 0x10008521
dec ebx
jmp 0x10008521
fstp st(0)
call fcn.10030d70
fmul qword [0x10039460]
fadd qword [esp + 0x78]
fst qword [esp + 0x78]
fstp qword [esp + 0x108]
fld qword [0x100393e8]
fld qword [esp + 0x30]
add esi, 0x16
cmp esi, 0x5d89
jbe 0x100084ea
mov dword [esp + 0x20], ebx
inc edi
cmp edi, 0x46b4
jbe 0x10008497
mov edi, dword [ebp + 0xc]
jmp 0x100088a8
mov esi, dword [edi + 0x18]
fstp st(0)
lea edx, [esi + 1]
fstp st(1)
push 0x68
fstp st(0)
push edx
call fcn.10025e26
xor ebx, ebx
add esp, 8
mov dword [edi + 0x1c], eax
mov dword [esp + 0x1c], ebx
test esi, esi
jle 0x100085b1
xor edx, edx
jmp 0x10008570
mov ecx, 0x644b
mov eax, ecx
sub eax, 0x644b
je 0x1000858f
sub eax, 0x26
jne 0x10008599
mov esi, dword [edi + 0x1c]
lea eax, [edi + 0x20]
mov dword [edx + esi + 0x60], eax
jmp 0x10008599
mov eax, dword [edi + 0x1c]
mov esi, dword [ebp + 0x18]
mov dword [edx + eax + 0x30], esi
add ecx, 0x26
cmp ecx, 0x6471
jbe 0x10008575
inc ebx
add edx, 0x68
cmp ebx, dword [edi + 0x18]
jl 0x10008570
mov dword [esp + 0x1c], ebx
fld qword [0x100393e8]
fld qword [esp + 0x30]
jmp 0x100088a8
mov eax, dword [esp + 0x28]
mov ecx, dword [edi + 0x1c]
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x10008628
mov esi, dword [esp + 0x20]
mov ebx, eax
mov dword [esp + 0x1c], eax
mov edx, 0x7141
mov eax, edx
sub eax, 0x7141
je 0x1000860b
sub eax, 0xd
jne 0x10008617
lea eax, [esi + esi*2]
mov eax, dword [eax*4 + 0x10038508]
add eax, eax
add eax, eax
mov dword [ecx + 0x1c], eax
sar eax, 1
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x20], eax
jmp 0x10008617
lea eax, [esi + esi*2]
mov eax, dword [eax*4 + 0x1003850c]
mov dword [ecx], eax
add edx, 0xd
cmp edx, 0x714e
jbe 0x100085e2
add ecx, 0x68
dec ebx
jne 0x100085dd
mov ecx, dword [esp + 0x18]
imul ecx, dword [esp + 0x14]
cmp ecx, 1
je case.0x1000842a.27879
mov ebx, 0x5cd4
jmp 0x10008645
fld1
fxch st(1)
mov eax, ebx
sub eax, 0x5cd4
je 0x100086f4
sub eax, 0x59
jne 0x10008822
mov ecx, dword [esp + 0x14]
fstp st(2)
mov esi, dword [esp + 0x18]
test ecx, ecx
je 0x10008682
fstp st(1)
mov dword [esp + 0x50], ecx
cmp esi, ecx
jl 0x10008677
mov dword [esp + 0x50], esi
fild dword [esp + 0x50]
cmp ecx, 1
jge 0x1000868f
jmp 0x1000868a
fild dword [esp + 0x10]
fdivp st(2)
fxch st(1)
mov ecx, 1
mov edx, dword [ebp + 0x20]
fld qword [edx]
sub esp, 0x28
fstp qword [esp + 0x20]
mov edx, dword [ebp + 0xc]
fld qword [esp + 0xa0]
lea eax, [edx + 0x20]
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fld qword [esp + 0x150]
fstp qword [esp + 8]
fld qword [esp + 0x120]
fmul qword [esp + 0xb8]
fsubp st(1)
fstp qword [esp]
push ecx
mov ecx, dword [esp + 0x54]
imul ecx, ecx, 0x68
add ecx, dword [edx + 0x1c]
push esi
push ecx
push 0
call fcn.100097e0
add esp, 0x38
fld qword [0x100393e8]
fld qword [esp + 0x30]
jmp 0x10008824
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
je 0x10008822
mov eax, dword [esp + 0x40]
imul eax, dword [esp + 0x3c]
cmp eax, 1
je 0x10008822
fld qword [esp + 0x138]
mov edi, dword [ebp + 8]
fld qword [esp + 0x78]
mov esi, 0xe1f
jmp 0x1000872b
fld1
fxch st(3)
mov eax, esi
sub eax, 0xe1f
je 0x100087d6
sub eax, 0x17
jne 0x1000881e
fstp st(0)
fstp st(1)
fstp st(2)
fld qword [esp + 0x90]
fld qword [esp + 0x130]
fsubr st(1)
fild dword [esp + 0x3c]
fild dword [esp + 0x40]
fmul qword [edi]
fdivp st(1)
fsubrp st(3)
fxch st(2)
faddp st(1)
fdivp st(1)
fxch st(1)
call fcn.100306a0
fld qword [esp + 0x78]
fmul st(1), st(0)
fld qword [0x100395c8]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x100087ac
fld st(1)
fmul qword [0x100395c0]
fsubr qword [0x100395b8]
fmul st(2)
fsub qword [0x100395b0]
fmul st(2)
fadd qword [0x100395a8]
fstp qword [esp + 0xf8]
fld qword [0x100393e8]
fld qword [esp + 0x30]
fxch st(1)
fxch st(3)
add esi, 0x17
cmp esi, 0xe36
jbe 0x10008727
fstp st(2)
fxch st(1)
fstp qword [esp + 0x138]
jmp 0x10008824
fstp st(1)
fstp st(2)
fld st(1)
fmul qword [0x10039478]
fsub qword [0x10039470]
fmul st(2)
fadd qword [0x10039468]
fmul qword [esp + 0x90]
fstp qword [esp + 0x130]
fld st(1)
fmul qword [0x100395a0]
fsubr qword [0x10039598]
fmul st(2)
fsub qword [0x10039590]
fmul st(2)
fadd qword [0x10039588]
jmp 0x100087ba
fstp st(3)
jmp 0x100087ba
fstp st(1)
add ebx, 0x59
cmp ebx, 0x5d2d
jbe 0x10008641
mov edi, dword [ebp + 0xc]
jmp 0x100088a8
mov esi, dword [ebp + 8]
fstp st(1)
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push 0
push 0xfff1
push ecx
push edx
call fcn.10030f30
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esp + 0xb0], eax
jmp 0x100088a8
movzx ecx, word [edi]
fstp st(1)
mov eax, dword [esp + 0xb0]
imul eax, ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
jmp 0x100088a8
fstp st(1)
mov dword [esp + 0x20], 0
fld qword [esp + 0x78]
mov ecx, 0x10038510
fld dword [ecx]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x100088a6
mov eax, dword [esp + 0x20]
inc eax
add ecx, 0xc
mov dword [esp + 0x20], eax
cmp eax, 5
jb 0x1000888a
fstp st(0)
mov eax, dword [esp + 0x88]
add eax, 0x54
mov dword [esp + 0x88], eax
cmp eax, dword [esp + 0xa0]
jbe 0x1000781b
mov eax, dword [esp + 0x5c]
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x48]
fstp st(1)
mov eax, 0x80078071
mul ecx
mov eax, dword [esp + 0x4c]
shr edx, 0xf
imul edx, edx, 0xffff000f
add ecx, edx
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0x18]
movzx edx, word [ecx]
lea ecx, [eax + edx + 0xfff0]
mov dword [esp + 0x4c], ecx
jmp 0x100088a8
cmp eax, 0x6ea6
ja 0x10009428
je 0x10009409
sub eax, 0x6e36
je 0x10007a12
sub eax, 0x1c
fstp st(2)
fstp st(1)
je 0x100089c7
sub eax, 0x38
jne 0x100088a8
mov esi, dword [edi + 0x1c]
fstp st(0)
fstp st(0)
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], esi
cmp dword [edi + 0x18], eax
jle 0x100089aa
add esi, 4
mov ebx, 0xaa7
cmp ebx, ebx
jne 0x10008985
push 8
push esi
call fcn.1001b3b0
mov eax, dword [esi + 0x1c]
add esp, 8
lea edx, [eax*8]
push edx
push 0
push eax
push esi
call fcn.1001b4a0
add esp, 8
push eax
call fcn.1002ae60
add esp, 0xc
add ebx, 0x10
cmp ebx, 0xaa7
jbe 0x10008958
mov eax, dword [esp + 0x1c]
add dword [esp + 0x24], 0x68
inc eax
add esi, 0x68
mov dword [esp + 0x1c], eax
cmp eax, dword [edi + 0x18]
jl 0x10008951
mov esi, dword [esp + 0x24]
push 8
add esi, 4
push esi
call fcn.1001b3b0
fld qword [0x100393e8]
fld qword [esp + 0x38]
add esp, 8
jmp 0x100088a8
mov ecx, dword [ebp + 0x18]
movzx edx, word [ecx + 2]
movzx eax, word [edi + 2]
mov ecx, dword [esp + 0x48]
add eax, edx
sub eax, dword [esp + 0xb0]
cmp dword [esp + 0x4c], 0xfff1
lea edx, [ecx + eax + 0xfff1]
mov dword [esp + 0x48], edx
jb 0x100088a8
sub dword [esp + 0x4c], 0xfff1
jmp 0x100088a8
mov esi, dword [esp + 0x18]
fld st(1)
imul esi, dword [esp + 0x14]
fmul qword [0x10039428]
fadd st(1)
dec esi
neg esi
sbb esi, esi
neg esi
add esi, dword [esp + 0x28]
imul esi, esi, 0x68
call fcn.100305e6
mov ecx, dword [edi + 0x1c]
mov dword [esi + ecx + 0x40], eax
mov dword [esi + ecx + 0x44], edx
mov edx, dword [edi + 0x1c]
mov eax, dword [esi + edx + 0x44]
lea ecx, [esi + edx]
cmp eax, 3
jg 0x10008a4a
mov eax, 3
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x1c], eax
jmp 0x10008a72
mov eax, edx
imul eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x1c]
dec eax
neg eax
sbb eax, eax
neg eax
add eax, dword [esp + 0x28]
imul eax, eax, 0x68
mov dword [eax + ecx], 0x1001e630
add ebx, 0x3f
cmp ebx, 0x3fdd
jbe 0x10007a2f
jmp 0x100091fc
fild dword [esp + 0x10]
fmul st(2)
fld st(3)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x100091fc
fld qword [esp + 0xd8]
mov dword [esp + 0x50], 0x2dcd
mov eax, dword [esp + 0x50]
add eax, 0xffffd233
cmp eax, 0x82
ja case.0x10008ac5.11726
movzx edx, byte [eax + 0x100095fc]
jmp dword [edx*4 + 0x100095c0]
fstp st(0)
fstp st(2)
jmp 0x10008ada
fld qword [0x10039290]
fxch st(1)
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 0x58]
lea edx, [eax + ecx*8 + 4]
mov dword [esp + 0x24], 0x7acf
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x24]
mov edi, ecx
jmp 0x10008b0d
fld qword [0x10039290]
fxch st(1)
cmp edx, 0x7b86
ja 0x10008d29
fstp st(1)
je 0x10008c1c
mov eax, edx
sub eax, 0x7acf
je 0x10008c00
sub eax, 0x3d
je 0x10008b5e
sub eax, 0x3d
jne 0x10008dea
cmp dword [esp + 0x38], eax
jne 0x10008b55
mov ecx, dword [esp + 0xc0]
mov ebx, 1
shl ebx, cl
jmp 0x10008de6
mov ebx, dword [esp + 0x10]
jmp 0x10008de6
xor edx, edx
fstp st(1)
cmp edi, edx
je 0x10008ba3
mov ecx, 0x5a89
mov eax, ecx
sub eax, 0x5a89
je 0x10008b8e
sub eax, 0x64
je 0x10008b84
sub eax, 0x64
jne 0x10008b92
mov dword [esp + 0x38], edx
jmp 0x10008b92
mov dword [esp + 0x10], 1
jmp 0x10008b92
fidiv dword [esp + 0x10]
add ecx, 0x64
cmp ecx, 0x5b51
jbe 0x10008b6b
fstp qword [esp + 0x30]
jmp 0x10008ba5
fstp st(0)
fld qword [esp + 0xc8]
call fcn.100304a0
fstp qword [esp + 0xc0]
fld qword [0x100393e8]
call fcn.100304a0
fdivr qword [esp + 0xc0]
mov eax, dword [esp + 0x84]
sub esp, 8
fadd dword [eax]
fstp qword [esp]
call fcn.10025600
add esp, 8
call fcn.100305b0
fld qword [0x100393e8]
fld qword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xc0], eax
jmp 0x10008dea
mov eax, dword [esp + 0x2c]
inc edi
add eax, 8
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x84], eax
jmp 0x10008dea
mov ecx, dword [esp + 0x64]
fld dword [ecx + 4]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x10008dea
mov esi, dword [esp + 0x100]
mov ecx, dword [esp + 0x58]
xor edi, edi
lea ebx, [edi + 4]
cmp edi, 0xe7
ja case.0x10008c55.1
movzx edx, byte [edi + 0x10009694]
jmp dword [edx*4 + 0x10009680]
mov eax, dword [esp + 0x44]
xor edx, edx
cmp dword [esp + 0x14], edx
sete dl
and edx, eax
add eax, edx
jmp 0x10008cfc
mov eax, 0x13
cmp ecx, 0x13
jl 0x10008c7e
mov eax, ecx
mov esi, eax
mov dword [esp + 0xb4], 0
jmp case.0x10008c55.1
mov eax, dword [esp + 0x64]
fstp st(0)
fstp st(0)
sub esp, 8
fld dword [eax]
lea ecx, [esp + 0xbc]
fstp qword [esp]
push esi
fld qword [esp + 0x114]
push ecx
sub esp, 0x20
fstp qword [esp + 0x18]
fld qword [esp + 0x148]
fchs
fstp qword [esp + 0x10]
fld qword [esp + 0x118]
fstp qword [esp + 8]
fld qword [esp + 0x98]
fstp qword [esp]
call sym.Neskowin.dll_lsx_design_lpf
fld qword [0x100393e8]
mov ecx, dword [esp + 0x88]
fld qword [esp + 0x60]
add esp, 0x30
jmp case.0x10008c55.1
mov eax, dword [esp + 0xb4]
cdq
idiv esi
inc eax
mov dword [esp + 0x44], eax
add edi, 0x4d
dec ebx
jne 0x10008c42
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x100], esi
mov esi, dword [esp + 0x9c]
jmp 0x10008dea
mov eax, edx
sub eax, 0x7bc3
je 0x10008da3
sub eax, 0x3d
je 0x10008d61
sub eax, 0x3d
fstp st(1)
jne 0x10008dea
mov esi, dword [esp + 0x70]
inc esi
imul esi, ebx
imul esi, dword [esp + 0x44]
add esi, esi
add esi, esi
add esi, esi
mov dword [esp + 0x9c], esi
jmp 0x10008dea
mov eax, dword [esp + 0x44]
and eax, 1
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fild dword [esp + 0x10]
fmulp st(3)
fmulp st(2)
fxch st(1)
fstp qword [esp + 0xd8]
test edi, edi
je 0x10008d99
cmp dword [esp + 0x54], 4
jle 0x10008d99
mov eax, 1
add eax, edi
mov dword [esp + 0x70], eax
jmp 0x10008dea
xor eax, eax
mov eax, edi
mov dword [esp + 0x70], eax
jmp 0x10008dea
test byte [esp + 0x44], 1
fstp st(1)
je 0x10008dea
cmp dword [esp + 0x38], 0
je 0x10008dea
test byte [esp + 0x10], 1
je 0x10008dea
mov ecx, 0x5bb1
mov eax, ecx
sub eax, 0x5bb1
je 0x10008dd1
sub eax, 0x51
jne 0x10008dd7
fmul st(1)
jmp 0x10008dd7
add ebx, ebx
shl dword [esp + 0x10], 1
add ecx, 0x51
cmp ecx, 0x5c02
jbe 0x10008dbf
fst qword [esp + 0x30]
mov dword [esp + 0x58], ebx
add edx, 0x3d
mov dword [esp + 0x24], edx
cmp edx, 0x7c3d
jbe 0x10008b05
mov ecx, dword [ebp + 0x3c]
cmp dword [ecx], 0
jge 0x10008e31
cmp edi, 2
jge 0x10008e31
mov edx, dword [esp + 0x64]
cmp dword [edx + edi*8 + 0x10], 0
je 0x10008e31
mov ecx, dword [ebp + 0x30]
mov eax, 0x10624dd3
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ecx]
jg 0x10008ad2
fld qword [esp + 0xd8]
fld1
fld qword [0x10039290]
fxch st(1)
fxch st(3)
fxch st(2)
jmp case.0x10008ac5.11726
mov edx, dword [esp + 0x18]
imul edx, dword [esp + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esp + 0xc0]
dec edx
neg edx
sbb edx, edx
neg edx
add edx, dword [esp + 0x28]
imul edx, edx, 0x68
mov dword [edx + ecx + 0x5c], eax
jmp case.0x10008ac5.11726
mov ecx, dword [esp + 0x60]
xor eax, eax
cmp dword [esp + 0x14], eax
setne al
xor edx, edx
add eax, ecx
lea eax, [eax + eax*2]
add eax, eax
test ecx, ecx
sete dl
sub eax, edx
add eax, dword [esp + 0x54]
lea ecx, [eax*8]
sub ecx, eax
lea edx, [ecx*4 + 0x10038550]
mov dword [esp + 0x64], edx
jmp case.0x10008ac5.11726
mov eax, dword [esp + 0x18]
imul eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + 0x1c]
dec eax
dec ecx
neg eax
sbb eax, eax
neg eax
add eax, dword [esp + 0x28]
imul eax, eax, 0x68
mov dword [eax + esi + 0x1c], ecx
mov edx, dword [edx + 0x1c]
sar ecx, 1
mov dword [eax + edx + 0x20], ecx
jmp case.0x10008ac5.11726
mov eax, dword [esp + 0x64]
fld dword [eax + 4]
call fcn.100305b0
fxch st(1)
fst qword [esp + 0x120]
mov dword [esp + 0x44], eax
fxch st(1)
jmp case.0x10008ac5.11726
fld st(3)
fsub qword [esp + 0x90]
fmul qword [esp + 0x68]
fstp qword [esp + 0x68]
jmp case.0x10008ac5.11726
mov esi, dword [esp + 0x18]
imul esi, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x1c]
dec esi
neg esi
sbb esi, esi
neg esi
add esi, dword [esp + 0x28]
imul esi, esi, 0x68
mov eax, dword [esi + edx + 0x30]
cmp dword [eax], 0
jne 0x1000904c
mov ebx, dword [esp + 0x58]
fstp st(0)
fstp st(2)
mov edi, 0x5a66
fstp st(1)
mov eax, edi
sub eax, 0x5a66
je 0x1000901b
sub eax, 0x47
je 0x10008fb9
sub eax, 0x47
jne 0x1000902a
mov ecx, dword [esp + 0x70]
fstp st(0)
mov edx, dword [esp + 0x58]
fstp st(0)
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0xa8]
push ecx
push edx
push eax
call fcn.1001fc10
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x1c]
mov ecx, dword [esi + edx + 0x30]
mov edx, ebx
add esp, 0xc
push edx
mov dword [ecx], eax
call fcn.10025dec
fld qword [0x100393e8]
fld qword [esp + 0x34]
mov ebx, dword [esp + 0x5c]
add esp, 4
jmp 0x1000902a
mov eax, dword [esp + 0x64]
fstp st(0)
fstp st(0)
sub esp, 8
fld dword [eax]
lea ecx, [esp + 0xfc]
fstp qword [esp]
push ebx
fld qword [esp + 0x114]
push ecx
sub esp, 0x20
fstp qword [esp + 0x18]
fld qword [esp + 0x148]
fstp qword [esp + 0x10]
fld qword [esp + 0x118]
fstp qword [esp + 8]
fld qword [esp + 0x98]
fstp qword [esp]
call sym.Neskowin.dll_lsx_design_lpf
fld qword [0x100393e8]
add esp, 0x30
fld qword [esp + 0x30]
mov dword [esp + 0xa8], eax
jmp 0x1000902a
mov edx, ebx
imul edx, dword [esp + 0x44]
dec edx
mov dword [esp + 0xf4], edx
add edi, 0x47
cmp edi, 0x5af4
jbe 0x10008f55
fld qword [esp + 0xd8]
fld qword [0x10039290]
fld1
fxch st(3)
fxch st(2)
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 4]
mov dword [esi + ecx], eax
jmp case.0x10008ac5.11726
cmp dword [esp + 0x54], 1
jle 0x10009081
mov ecx, dword [ebp + 0x2c]
cmp dword [ecx], 0
je 0x10009081
cmp dword [esp + 0x38], 0
jne 0x10009081
mov eax, 1
jmp 0x10009083
xor eax, eax
mov esi, dword [esp + 0x18]
imul esi, dword [esp + 0x14]
mov edi, dword [ebp + 0xc]
mov edx, dword [edi + 0x1c]
dec esi
neg esi
sbb esi, esi
neg esi
add esi, dword [esp + 0x28]
imul esi, esi, 0x68
mov dword [esi + edx + 0x48], eax
mov eax, dword [edi + 0x1c]
cmp dword [esi + eax + 0x48], 0
je 0x100090f4
mov ecx, 0x5a57
mov eax, ecx
sub eax, 0x5a57
je 0x100090eb
sub eax, 0x14
jne 0x100090db
mov edx, dword [edi + 0x1c]
fxch st(2)
fst qword [esi + edx + 0x40]
mov eax, dword [edi + 0x1c]
fild dword [esp + 0x10]
fdiv qword [eax + esi + 0x40]
fstp qword [eax + esi + 0x28]
fxch st(2)
add ecx, 0x14
cmp ecx, 0x5a6b
jbe 0x100090b3
jmp case.0x10008ac5.11726
mov edx, dword [edi + 0x1c]
fst qword [esi + edx + 0x38]
jmp 0x100090db
mov ebx, 0x7eec
mov eax, ebx
sub eax, 0x7eec
je 0x1000911e
dec eax
jne 0x10009150
fild dword [esp + 0x10]
mov eax, dword [edi + 0x1c]
fmul qword [0x10039428]
fild qword [eax + esi + 0x40]
fdivp st(1)
fstp qword [eax + esi + 0x28]
jmp 0x10009150
fld st(0)
fld qword [0x10039428]
fmul st(1), st(0)
fxch st(1)
fadd st(3)
call fcn.100305e6
fmul st(3)
mov ecx, dword [edi + 0x1c]
mov dword [esi + ecx + 0x38], eax
fadd st(2)
mov dword [esi + ecx + 0x3c], edx
call fcn.100305e6
mov ecx, dword [edi + 0x1c]
mov dword [esi + ecx + 0x40], eax
mov dword [esi + ecx + 0x44], edx
inc ebx
cmp ebx, 0x7eed
jbe 0x100090f9
jmp case.0x10008ac5.11726
cmp dword [esp + 0x14], 0
jne 0x1000917b
fld qword [esp + 0xc8]
fst qword [esp + 0x68]
fsubr st(5)
fstp qword [esp + 0xe8]
jmp case.0x10008ac5.11726
cmp dword [esp + 0x54], 0
je 0x10009193
fld st(1)
fst qword [esp + 0x68]
fsubr st(5)
fstp qword [esp + 0xe8]
jmp case.0x10008ac5.11726
fld st(3)
fst qword [esp + 0x68]
fsubr st(5)
fstp qword [esp + 0xe8]
jmp case.0x10008ac5.11726
cmp dword [esp + 0x60], 0
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x84], ecx
jne 0x100091d6
cmp dword [esp + 0x14], 0
je 0x100091d6
fild dword [esp + 0x10]
fdivr st(3)
fst qword [esp + 0x120]
fstp qword [esp + 0x118]
jmp case.0x10008ac5.11726
fxch st(3)
fst qword [esp + 0x118]
fxch st(3)
mov eax, dword [esp + 0x50]
add eax, 0xa
mov dword [esp + 0x50], eax
cmp eax, 0x2e4f
jbe 0x10008aaa
mov edi, dword [ebp + 0xc]
fstp st(0)
mov eax, dword [esp + 0x40]
fstp st(0)
imul eax, dword [esp + 0x3c]
cmp eax, 1
je case.0x1000842a.27879
mov edx, dword [esp + 0x3c]
fstp st(2)
mov esi, dword [esp + 0x40]
mov dword [esp + 0x2c], edx
cmp esi, edx
jl 0x10009226
mov dword [esp + 0x2c], esi
cmp dword [esp + 0x60], 0
je 0x10009369
fild dword [esp + 0x40]
mov ecx, dword [ebp + 8]
fmul qword [ecx]
fidiv dword [esp + 0x3c]
jmp 0x1000936b
cmp dword [esp + 0x60], 0
je 0x10009255
fld st(3)
fstp qword [esp + 0xc8]
jmp case.0x10008ac5.11726
fild dword [esp + 0x10]
fdiv st(3)
fstp qword [esp + 0xc8]
jmp case.0x10008ac5.11726
mov edx, dword [esp + 0x18]
imul edx, dword [esp + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esp + 0x10]
dec edx
neg edx
sbb edx, edx
neg edx
add edx, dword [esp + 0x28]
imul edx, edx, 0x68
mov dword [edx + ecx + 0x4c], eax
jmp case.0x10008ac5.11726
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx]
cmp eax, 1
jle 0x100092cb
cmp dword [esp + 0x54], 0
je 0x100092c8
cmp dword [esp + 0x14], 0
fld qword [esp + 0xc8]
jne 0x100092ba
fmul st(2)
fsub qword [0x10039580]
jmp 0x10009306
fmul qword [0x10039578]
fadd qword [0x10039530]
jmp 0x10009306
cmp eax, 1
jne 0x1000930a
fld qword [esp + 0x120]
mov edx, dword [ebp + 0x38]
fmul qword [0x10039570]
fld qword [esp + 0xe8]
fld st(0)
fsubrp st(2)
fld qword [esp + 0x68]
fmul qword [0x10039568]
fsubp st(2)
fld qword [edx]
fmul qword [0x10039560]
fadd qword [0x10039558]
fmulp st(2)
fsubrp st(1)
fstp qword [esp + 0x68]
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax]
test eax, eax
jns 0x10009326
xor eax, eax
cmp dword [esp + 0x38], eax
sete al
dec eax
mov dword [esp + 0x1c], eax
jmp case.0x10008ac5.11726
xor ecx, ecx
cmp dword [esp + 0x38], ecx
sete cl
cmp eax, ecx
jge 0x10009335
mov eax, ecx
dec eax
mov dword [esp + 0x1c], eax
jmp case.0x10008ac5.11726
mov ecx, dword [esp + 0x18]
imul ecx, dword [esp + 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x1c]
mov edx, dword [esp + 0x44]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
add ecx, dword [esp + 0x28]
imul ecx, ecx, 0x68
mov dword [ecx + eax + 0x58], edx
jmp case.0x10008ac5.11726
fld st(0)
fild dword [esp + 0x10]
fmulp st(3)
fld st(1)
fucomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x44
jnp 0x10009385
mov ecx, 1
jmp 0x10009387
xor ecx, ecx
mov eax, dword [ebp + 0x20]
fld qword [eax]
sub esp, 0x28
fstp qword [esp + 0x20]
lea eax, [edi + 0x20]
fld qword [esp + 0xa0]
fstp qword [esp + 0x18]
fild dword [esp + 0x54]
fstp qword [esp + 0x10]
fld qword [esp + 0x150]
fstp qword [esp + 8]
fld qword [esp + 0xb8]
fsubr st(1)
fmulp st(2)
fld st(0)
fsubrp st(2)
fxch st(1)
fmul qword [esp + 0x120]
fsubp st(1)
fstp qword [esp]
push edx
mov edx, dword [esp + 0x44]
imul edx, dword [esp + 0x40]
dec edx
neg edx
sbb edx, edx
neg edx
add edx, ecx
add edx, dword [esp + 0x54]
push esi
imul edx, edx, 0x68
add edx, dword [edi + 0x1c]
push edx
push 1
call fcn.100097e0
fld qword [0x100393e8]
fld qword [esp + 0x68]
add esp, 0x38
jmp 0x100088a8
cmp dword [esp + 0x4c], 0xfff1
fstp st(2)
fstp st(1)
jb 0x100088a8
sub dword [esp + 0x4c], 0xfff1
jmp 0x100088a8
sub eax, 0x6efa
fstp st(2)
fstp st(1)
je 0x1000946a
sub eax, 0x54
je 0x10009446
sub eax, 0x54
je 0x100079f4
jmp 0x100088a8
mov eax, dword [esp + 0x48]
cmp eax, 0xfff1
jb 0x1000945a
sub eax, 0xfff1
mov dword [esp + 0x48], eax
shl eax, 0x10
or eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
jmp 0x100088a8
cmp dword [esp + 0x48], 0x1ffe2
jb 0x100088a8
sub dword [esp + 0x48], 0x1ffe2
jmp 0x100088a8
fstp st(0)
fstp st(2)
fstp st(1)
jmp 0x100088a8
pop edi
fstp st(0)
pop esi
fstp st(0)
mov eax, 0xffff0000
pop ebx
mov esp, ebp
pop ebp
ret