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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a8
mov eax, dword [0x102e5cc0]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x14]
mov edx, 0x4fc
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp + 0x18]
cmp ecx, edx
push edi
mov edi, dword [ebp + 8]
cmovg ecx, edx
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x140], edi
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x150], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0xe0], 0xffffffff
mov dword [ebp - 0xf0], 0xffffffff
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x130], 0xffffffff
mov dword [ebp - 0xec], ecx
mov dword [edi + 0x46dc], 0
test esi, esi
jle 0x101b9e24
test ecx, ecx
jle 0x101b9e24
cmp ecx, 1
jne 0x101b71ac
lea eax, [esi + esi*4]
add eax, eax
cmp dword [edi + 0x90], eax
jne 0x101b71ac
lea eax, [ecx - 3]
jmp 0x101b9e27
mov eax, dword [edi + 4]
mov ecx, dword [edi]
add eax, edi
add ecx, edi
mov dword [ebp - 0x154], eax
cmp dword [edi + 0x6c], 0x803
mov dword [ebp - 0xd0], ecx
jne 0x101b71d6
mov dword [ebp - 0x104], 0
jmp 0x101b71df
mov eax, dword [edi + 0x74]
mov dword [ebp - 0x104], eax
mov eax, dword [edi + 0xa8]
mov edx, dword [ebp + 0x1c]
cmp edx, eax
cmovge edx, eax
lea eax, [ebp - 0x158]
push eax
push 0x271f
push ecx
mov dword [ebp + 0x1c], edx
call fcn.101bfde0
movss xmm4, dword [0x101f3688]
add esp, 0xc
cmp dword [edi + 0x2c], 7
movss xmm1, dword [0x1029f584]
mov dword [ebp - 0x64], 0
jl 0x101b73b0
cmp dword [edi + 0x90], 0x3e80
jl 0x101b73b0
mov ecx, dword [edi + 0x70]
xor eax, eax
imul ecx, esi
xorps xmm2, xmm2
xorps xmm3, xmm3
test ecx, ecx
jle 0x101b726b
mov edx, dword [ebp - 0xf4]
nop
movss xmm1, dword [edx + eax*4]
inc eax
movaps xmm0, xmm1
minss xmm1, xmm3
maxss xmm0, xmm2
movaps xmm3, xmm1
movaps xmm2, xmm0
cmp eax, ecx
jl 0x101b7250
mov ecx, dword [ebp + 0x1c]
mov eax, 1
shl eax, cl
xorps xmm3, xmmword [0x101f36d0]
maxss xmm2, xmm3
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
divss xmm4, xmm0
comiss xmm4, xmm2
setae al
mov dword [ebp - 0x100], eax
mov eax, dword [edi + 0x1dd8]
mov dword [ebp - 0xe0], eax
mov eax, dword [edi + 0x1ddc]
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0xd8]
lea eax, [edi + 0xc0]
push ecx
push dword [edi + 0x90]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push esi
push dword [ebp + 0x24]
push dword [ebp - 0xe8]
push dword [ebp - 0x158]
push eax
call fcn.101ccf20
mov ecx, dword [ebp - 0x100]
add esp, 0x30
movss xmm1, dword [0x1029f584]
test ecx, ecx
jne 0x101b7382
movss xmm0, dword [ebp - 0x40]
comiss xmm0, xmm1
jbe 0x101b737e
push dword [edi + 0xb4]
movss xmm0, dword [edi + 0x46d4]
push dword [edi + 0x70]
mulss xmm0, dword [0x102c4fb4]
push esi
push dword [ebp - 0xf4]
movss dword [ebp - 0xd8], xmm0
call fcn.101b5f50
movss xmm0, dword [ebp - 0xd8]
add esp, 0x10
mov eax, dword [ebp - 0xe0]
fstp dword [ebp - 0xe8]
maxss xmm0, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x100]
movss dword [edi + 0x46d4], xmm0
mov dword [ebp - 0x100], eax
jmp 0x101b73c8
test ecx, ecx
je 0x101b73d0
mov eax, dword [ebp - 0xe0]
mov edx, ecx
xor edx, 1
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x130], edx
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x100], ecx
jmp 0x101b7437
cmp dword [edi + 0x1de4], 0
je 0x101b73d0
lea eax, [edi + 0xc0]
push eax
call fcn.101cf670
add esp, 4
movss xmm1, dword [0x1029f584]
cmp dword [ebp - 0x64], 0
mov dword [edi + 0x8c], 0xffffffff
je 0x101b7437
movss xmm0, dword [ebp - 0x40]
xor edx, edx
comiss xmm0, xmm1
setae dl
mov dword [ebp - 0x130], edx
test edx, edx
jne 0x101b7437
push dword [edi + 0xb4]
push dword [edi + 0x70]
push esi
push dword [ebp - 0xf4]
call fcn.101b5f50
fstp dword [ebp - 0xd8]
movss xmm0, dword [ebp - 0xd8]
xor eax, eax
mulss xmm0, dword [0x102c4fbc]
add esp, 0x10
comiss xmm0, dword [edi + 0x46d4]
seta al
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x64], 0
mov dword [edi + 0x46cc], 0
je 0x101b7507
cmp dword [edi + 0x7c], 0xfffffc18
jne 0x101b74be
mov eax, dword [edi + 0x3798]
test eax, eax
jne 0x101b7465
movss xmm1, dword [ebp - 0x50]
jmp 0x101b7478
cmp eax, 0x3ea
jne 0x101b7473
movss xmm1, dword [ebp - 0x48]
jmp 0x101b7478
movss xmm1, dword [ebp - 0x4c]
movss xmm0, dword [0x101f3688]
sub esp, 8
subss xmm0, xmm1
mulss xmm0, dword [0x102a224c]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x102d2bb0]
movsd qword [ebp - 0xdc], xmm0
fld qword [ebp - 0xdc]
fstp qword [esp]
call fcn.101166f0
add esp, 8
call fcn.1010d7b0
mov dword [edi + 0x8c], eax
mov ecx, dword [ebp - 0x44]
cmp ecx, 0xc
jg 0x101b74d2
mov dword [edi + 0x46cc], 0x44d
jmp 0x101b7507
cmp ecx, 0xe
jg 0x101b74e3
mov dword [edi + 0x46cc], 0x44e
jmp 0x101b7507
cmp ecx, 0x10
jg 0x101b74f4
mov dword [edi + 0x46cc], 0x44f
jmp 0x101b7507
xor eax, eax
cmp ecx, 0x12
setg al
add eax, 0x450
mov dword [edi + 0x46cc], eax
cmp dword [edi + 0x70], 2
jne 0x101b753f
cmp dword [edi + 0x78], 1
je 0x101b753f
lea eax, [edi + 0x37b8]
push eax
push dword [edi + 0x90]
push esi
push dword [ebp - 0xf4]
call fcn.101b60f0
fstp dword [ebp - 0xd8]
movss xmm3, dword [ebp - 0xd8]
add esp, 0x10
jmp 0x101b7542
xorps xmm3, xmm3
push dword [ebp - 0xec]
push esi
push edi
call fcn.101bad80
mov ecx, eax
add esp, 0xc
mov eax, dword [edi + 0x90]
cdq
idiv esi
mov edx, dword [edi + 0x94]
mov dword [edi + 0xa0], ecx
mov dword [ebp - 0x110], eax
test edx, edx
jne 0x101b75f4
mov eax, dword [edi + 0x90]
lea eax, [eax + eax*2]
shl eax, 2
cdq
idiv esi
mov esi, eax
lea eax, [ecx + ecx*2]
shl eax, 2
cdq
and edx, 7
lea ecx, [edx + eax]
mov eax, esi
cdq
sub eax, edx
sar ecx, 3
sar eax, 1
add eax, ecx
mov ecx, dword [ebp - 0xec]
cdq
idiv esi
cmp eax, ecx
cmovl ecx, eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0xec], ecx
imul ecx, esi
shl ecx, 3
imul ecx
mov eax, dword [ebp - 0xec]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp eax, 1
mov edx, 1
mov dword [edi + 0xa0], ecx
cmovl eax, edx
mov edx, dword [edi + 0x94]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x110]
cmp dword [ebp - 0xec], 3
mov esi, dword [ebp - 0xd4]
jl 0x101b9ca5
lea eax, [eax + eax*2]
shl eax, 3
cmp ecx, eax
jl 0x101b9ca5
mov eax, dword [ebp - 0x110]
cmp eax, 0x32
jge 0x101b7644
imul eax, dword [ebp - 0xec]
cmp eax, 0x12c
jl 0x101b9ca5
cmp ecx, 0x960
jl 0x101b9ca5
mov eax, dword [ebp - 0x110]
imul eax, dword [ebp - 0xec]
push dword [edi + 0x28]
push dword [edi + 0x2c]
shl eax, 3
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 0x90]
push 0
push edx
cdq
idiv esi
push eax
push dword [edi + 0x70]
push ecx
call fcn.101b5e60
mov ecx, dword [edi + 0x7c]
add esp, 0x1c
mov dword [ebp - 0xe8], eax
cmp ecx, 0xbb9
jne 0x101b768b
mov ecx, 0x7f
jmp 0x101b76dc
cmp ecx, 0xbba
jne 0x101b7697
xor ecx, ecx
jmp 0x101b76dc
mov eax, dword [edi + 0x8c]
mov edx, dword [edi + 0x6c]
test eax, eax
js 0x101b76c9
imul ecx, eax, 0x147
sar ecx, 8
mov dword [ebp - 0xcc], ecx
cmp edx, 0x801
jne 0x101b76e2
mov eax, 0x73
cmp ecx, eax
cmovl eax, ecx
mov ecx, eax
jmp 0x101b76dc
cmp edx, 0x800
mov ecx, 0x30
mov eax, 0x73
cmove ecx, eax
mov dword [ebp - 0xcc], ecx
mov eax, dword [edi + 0x78]
mov dword [ebp - 0xfc], eax
cmp eax, 0xfffffc18
je 0x101b7700
cmp dword [edi + 0x70], 2
jne 0x101b7700
lea edx, [edi + 0x3774]
jmp 0x101b7747
mov eax, dword [edi + 0x70]
lea edx, [edi + 0x3774]
cmp eax, 2
jne 0x101b7741
imul ecx, ecx
mov eax, 0x3e80
mov dword [ebp - 0xd8], 0x4650
imul ecx, ecx, 0x7d0
sar ecx, 0xe
cmp dword [edx], 2
cmovne eax, dword [ebp - 0xd8]
add ecx, eax
xor eax, eax
cmp dword [ebp - 0xe8], ecx
setg al
inc eax
mov dword [ebp - 0xfc], eax
mov dword [edx], eax
mov eax, dword [edi + 0x90]
mov dword [ebp - 0xe4], eax
cdq
idiv esi
mov ecx, dword [edi + 0x28]
push ecx
push dword [edi + 0x2c]
push 0
push dword [edi + 0x94]
push eax
push dword [ebp - 0xfc]
push dword [edi + 0xa0]
call fcn.101b5e60
add esp, 0x1c
mov dword [ebp - 0xd8], eax
cmp dword [edi + 0xb8], 0
je 0x101b77a1
cmp dword [ebp - 0x64], 0
jne 0x101b77a1
cmp dword [ebp - 0x100], 0
jne 0x101b77a1
mov eax, 1
jmp 0x101b77a3
xor eax, eax
cmp dword [edi + 0x6c], 0x803
mov dword [ebp - 0x10c], eax
mov dword [edi + 0x38], eax
jne 0x101b780f
mov dword [edi + 0x3794], 0x3ea
mov esi, 0x3ea
mov ecx, dword [ebp - 0xd4]
cmp dword [edi + 0xb0], 0
je 0x101b77e2
mov dword [edi + 0x3794], 0x3ea
mov esi, 0x3ea
mov edx, dword [edi + 0x3798]
mov eax, esi
test edx, edx
jle 0x101b7a61
cmp esi, 0x3ea
je 0x101b79e9
cmp edx, 0x3ea
je 0x101b79ca
jmp 0x101b7a61
mov esi, dword [edi + 0x88]
cmp esi, 0xfffffc18
jne 0x101b7979
movss xmm2, dword [0x101f3688]
movss xmm1, dword [0x102c4fc0]
subss xmm2, xmm3
mov edx, dword [ebp - 0xcc]
movaps xmm0, xmm1
mulss xmm0, xmm3
mulss xmm3, dword [0x102c4fc4]
mulss xmm1, xmm2
mulss xmm2, dword [0x102c4fc8]
addss xmm0, xmm1
addss xmm2, xmm3
cvttss2si ecx, xmm0
cvttss2si eax, xmm2
sub eax, ecx
imul eax, edx
imul eax, edx
sar eax, 0xe
add eax, ecx
cmp dword [edi + 0x6c], 0x800
mov ecx, dword [edi + 0x28]
cmove ecx, ecx
mov dword [ebp - 0xfc], ecx
lea esi, [eax + 0x1f40]
cmovne esi, eax
mov eax, dword [edi + 0x3798]
cmp eax, 0x3ea
jne 0x101b78a4
add esi, 0xfffff060
jmp 0x101b78bd
mov dword [ebp - 0xfc], ecx
test eax, eax
jle 0x101b78bd
mov eax, dword [edi + 0x28]
add esi, 0xfa0
mov dword [ebp - 0xfc], eax
xor ecx, ecx
cmp dword [ebp - 0xd8], esi
setge cl
cmp dword [edi + 0x30], 0
lea ecx, [ecx*2 + 0x3e8]
mov dword [edi + 0x3794], ecx
mov esi, ecx
je 0x101b790c
mov eax, 0x80
sub eax, edx
sar eax, 4
cmp dword [ebp - 0xfc], eax
jle 0x101b790c
cmp dword [edi + 0xbc], 2
jne 0x101b78fd
cmp edx, 0x19
jle 0x101b790c
mov dword [edi + 0x3794], 0x3e8
mov esi, 0x3e8
cmp dword [ebp - 0x10c], 0
je 0x101b7929
cmp edx, 0x64
jle 0x101b7929
mov dword [edi + 0x3794], 0x3e8
mov esi, 0x3e8
cmp dword [ebp - 0x110], 0x32
mov ecx, 0x2328
mov edx, dword [edi + 0x90]
mov eax, 0x1770
cmovg eax, ecx
mov dword [ebp - 0xe4], edx
imul eax, dword [ebp - 0xd4]
lea ecx, [edx*8]
cdq
idiv ecx
cmp dword [ebp - 0xec], eax
jge 0x101b7971
mov dword [edi + 0x3794], 0x3ea
mov esi, 0x3ea
mov ecx, dword [edi + 0x90]
jmp 0x101b798b
mov ecx, dword [edi + 0x90]
mov dword [edi + 0x3794], esi
mov dword [ebp - 0xe4], ecx
cmp esi, 0x3ea
je 0x101b77c4
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [ebp - 0xd4]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jge 0x101b77ca
mov dword [edi + 0x3794], 0x3ea
mov esi, 0x3ea
jmp 0x101b77ca
xor eax, eax
mov dword [ebp - 0xf8], 1
cmp esi, 0x3ea
setne al
mov dword [ebp - 0x114], eax
mov eax, esi
jmp 0x101b7a61
mov eax, 0x3ea
cmp edx, eax
je 0x101b7a61
xor eax, eax
mov dword [ebp - 0xf8], 1
cmp esi, 0x3ea
setne al
mov dword [ebp - 0x114], eax
mov eax, 0x51eb851f
imul dword [ebp - 0xe4]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x101b7a40
mov edx, dword [edi + 0x3798]
mov eax, edx
mov dword [edi + 0x3794], edx
mov dword [ebp - 0x160], 1
jmp 0x101b7a61
mov edx, dword [ebp - 0x114]
mov eax, 0x3ea
mov dword [ebp - 0x114], edx
mov edx, dword [edi + 0x3798]
mov dword [ebp - 0xf8], 0
cmp dword [edi + 0x3774], 1
jne 0x101b7a99
cmp dword [edi + 0x379c], 2
jne 0x101b7a99
cmp dword [edi + 0x44], 0
jne 0x101b7a99
cmp eax, 0x3ea
je 0x101b7a99
cmp edx, 0x3ea
je 0x101b7a99
mov dword [edi + 0x3774], 2
mov eax, 1
jmp 0x101b7a9b
xor eax, eax
mov dword [edi + 0x44], eax
mov eax, dword [edi + 0x90]
cdq
idiv ecx
push dword [edi + 0x28]
mov esi, dword [edi + 0x3794]
push dword [edi + 0x2c]
push esi
push dword [edi + 0x94]
push eax
push dword [edi + 0x3774]
push dword [edi + 0xa0]
call fcn.101b5e60
add esp, 0x1c
mov dword [ebp - 0xfc], eax
cmp esi, 0x3ea
je 0x101b7b0e
cmp dword [edi + 0x3798], 0x3ea
jne 0x101b7b0e
lea eax, [ebp - 0xc8]
push eax
push dword [edi + 0xb4]
push dword [ebp - 0x154]
call fcn.101ccbc0
add esp, 0xc
mov dword [ebp - 0x150], 1
cmp dword [edi + 0x3794], 0x3ea
je 0x101b7b2d
cmp dword [edi + 0x37b0], 0
jne 0x101b7b2d
cmp dword [edi + 0x54], 0
je 0x101b7dd3
cmp dword [edi + 0x70], 2
mov edx, 0x451
jne 0x101b7be2
cmp dword [edi + 0x78], 1
je 0x101b7be2
mov ecx, dword [0x102c4e58]
mov eax, dword [0x102c4e38]
mov dword [ebp - 0x13c], 0x102c4e3c
mov dword [ebp - 0xe4], 0x102c4e40
mov dword [ebp - 0x168], 0x102c4e44
mov dword [ebp - 0x148], 0x102c4e48
mov dword [ebp - 0x134], 0x102c4e4c
mov dword [ebp - 0x124], 0x102c4e50
mov dword [ebp - 0xd8], 0x102c4e54
mov dword [ebp - 0x10c], 0x102c4e5c
mov dword [ebp - 0x138], 0x102c4e60
mov dword [ebp - 0x164], 0x102c4e64
mov dword [ebp - 0x144], 0x102c4e68
mov dword [ebp - 0x14c], 0x102c4e6c
mov dword [ebp - 0x12c], 0x102c4e70
mov dword [ebp - 0xe8], 0x102c4e74
jmp 0x101b7c79
mov ecx, dword [0x102c4e18]
mov eax, dword [0x102c4df8]
mov dword [ebp - 0x13c], 0x102c4dfc
mov dword [ebp - 0xe4], 0x102c4e00
mov dword [ebp - 0x168], 0x102c4e04
mov dword [ebp - 0x148], 0x102c4e08
mov dword [ebp - 0x134], 0x102c4e0c
mov dword [ebp - 0x124], 0x102c4e10
mov dword [ebp - 0xd8], 0x102c4e14
mov dword [ebp - 0x10c], 0x102c4e1c
mov dword [ebp - 0x138], 0x102c4e20
mov dword [ebp - 0x164], 0x102c4e24
mov dword [ebp - 0x144], 0x102c4e28
mov dword [ebp - 0x14c], 0x102c4e2c
mov dword [ebp - 0x12c], 0x102c4e30
mov dword [ebp - 0xe8], 0x102c4e34
sub eax, ecx
mov esi, dword [ebp - 0xcc]
imul eax, esi
imul eax, esi
sar eax, 0xe
add eax, ecx
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ecx]
sub ecx, dword [eax]
imul ecx, esi
imul ecx, esi
sar ecx, 0xe
add ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0xe4]
mov ecx, dword [ecx]
sub ecx, dword [eax]
imul ecx, esi
imul ecx, esi
sar ecx, 0xe
add ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
mov ecx, dword [ecx]
sub ecx, dword [eax]
imul ecx, esi
imul ecx, esi
sar ecx, 0xe
add ecx, dword [eax]
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x148]
mov ecx, dword [ecx]
sub ecx, dword [eax]
imul ecx, esi
imul ecx, esi
sar ecx, 0xe
add ecx, dword [eax]
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ecx]
sub ecx, dword [eax]
imul ecx, esi
imul ecx, esi
sar ecx, 0xe
add ecx, dword [eax]
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x124]
mov ecx, dword [ecx]
sub ecx, dword [eax]
imul ecx, esi
imul ecx, esi
sar ecx, 0xe
add ecx, dword [eax]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx]
sub ecx, dword [eax]
imul ecx, esi
imul ecx, esi
sar ecx, 0xe
add ecx, dword [eax]
mov dword [ebp - 8], ecx
lea ecx, [ebp - 8]
cmp dword [edi + 0x37b0], 0
mov eax, dword [ecx - 4]
mov esi, dword [ecx]
jne 0x101b7d80
cmp dword [edi + 0x37a8], edx
jl 0x101b7d7e
sub eax, esi
jmp 0x101b7d80
add eax, esi
cmp dword [ebp - 0xfc], eax
jge 0x101b7d94
dec edx
sub ecx, 8
cmp edx, 0x44d
jg 0x101b7d64
cmp edx, 0x44e
mov eax, 0x44f
cmove edx, eax
cmp dword [edi + 0x37b0], 0
mov dword [edi + 0x37a8], edx
mov dword [edi + 0x37a4], edx
jne 0x101b7dd3
cmp dword [edi + 0x3794], 0x3ea
je 0x101b7dd3
cmp dword [edi + 0x58], 0
jne 0x101b7dd3
cmp edx, eax
jle 0x101b7dd3
mov dword [edi + 0x37a4], eax
mov ecx, dword [edi + 0x37a4]
mov eax, dword [edi + 0x84]
cmp ecx, eax
jle 0x101b7deb
mov dword [edi + 0x37a4], eax
mov ecx, eax
mov eax, dword [edi + 0x80]
cmp eax, 0xfffffc18
je 0x101b7e00
mov dword [edi + 0x37a4], eax
mov ecx, eax
mov edx, dword [edi + 0x3794]
mov eax, ecx
mov esi, edx
cmp edx, 0x3ea
je 0x101b7e2e
cmp dword [ebp - 0x11c], 0x3a98
jge 0x101b7e2e
mov eax, 0x44f
cmp ecx, eax
cmovl eax, ecx
mov dword [edi + 0x37a4], eax
cmp dword [edi + 0x90], 0x5dc0
mov ecx, eax
jg 0x101b7e52
cmp eax, 0x450
jle 0x101b7e52
mov dword [edi + 0x37a4], 0x450
mov ecx, 0x450
cmp dword [edi + 0x90], 0x3e80
mov edx, ecx
jg 0x101b7e77
cmp ecx, 0x44f
jle 0x101b7e77
mov dword [edi + 0x37a4], 0x44f
mov edx, 0x44f
mov ecx, dword [edi + 0x90]
mov eax, edx
cmp ecx, 0x2ee0
jg 0x101b7e9e
cmp edx, 0x44e
jle 0x101b7e9e
mov dword [edi + 0x37a4], 0x44e
mov eax, 0x44e
mov edx, eax
mov dword [ebp - 0xcc], edx
cmp ecx, 0x1f40
jg 0x101b7ed0
mov dword [ebp - 0xcc], eax
cmp eax, 0x44d
jle 0x101b7ed0
mov edx, 0x44d
mov dword [edi + 0x37a4], 0x44d
mov dword [ebp - 0xcc], edx
cmp dword [edi + 0x46cc], 0
mov dword [ebp - 0xe4], esi
je 0x101b7f93
cmp dword [edi + 0x80], 0xfffffc18
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xcc], edx
jne 0x101b7f93
mov ecx, dword [edi + 0x3774]
mov edx, dword [ebp - 0xfc]
imul eax, ecx, 0x4650
cmp edx, eax
jg 0x101b7f28
mov esi, dword [edi + 0x3794]
cmp esi, 0x3ea
jne 0x101b7f28
lea ecx, [esi + 0x63]
jmp 0x101b7f63
imul eax, ecx, 0x5dc0
cmp edx, eax
jg 0x101b7f3f
cmp esi, 0x3ea
jne 0x101b7f3f
lea ecx, [esi + 0x64]
jmp 0x101b7f63
imul eax, ecx, 0x7530
cmp edx, eax
jg 0x101b7f50
mov ecx, 0x44f
jmp 0x101b7f63
imul eax, ecx, 0xabe0
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, 0x450
mov eax, dword [edi + 0x46cc]
cmp eax, ecx
mov edx, dword [edi + 0x37a4]
mov esi, dword [edi + 0x3794]
cmovg ecx, eax
cmp edx, ecx
mov dword [edi + 0x46cc], ecx
cmovge edx, ecx
mov dword [ebp - 0xcc], edx
mov dword [edi + 0x37a4], edx
jmp 0x101b7f99
mov esi, dword [ebp - 0xe4]
cmp dword [edi + 0x30], 0
mov eax, dword [edi + 0x34]
mov ecx, dword [edi + 0x28]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x134], ecx
je 0x101b80c2
test ecx, ecx
je 0x101b80c2
cmp esi, 0x3ea
je 0x101b80c2
mov eax, 0x19
mov dword [ebp - 0xe8], edx
cmp ecx, eax
cmovl eax, ecx
mov ecx, 0x7d
sub ecx, eax
mov dword [ebp - 0x12c], ecx
lea ecx, [edx*8 + 0x102c2c2c]
mov eax, dword [ecx - 4]
mov esi, eax
mov dword [ebp - 0x124], ecx
mov ecx, dword [ecx]
sub esi, ecx
cmp dword [ebp - 0xd8], 1
cmovne esi, eax
cmp dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf0]
lea edx, [ecx + esi]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xe0]
cmovne edx, esi
imul edx, dword [ebp - 0x12c]
mov dword [ebp - 0xe0], eax
movzx eax, dx
imul ecx, eax, 0x28f
sar edx, 0x10
imul eax, edx, 0x28f
sar ecx, 0x10
add ecx, eax
cmp dword [ebp - 0xfc], ecx
jg 0x101b8151
cmp dword [ebp - 0x134], 5
jle 0x101b809e
mov eax, dword [ebp - 0xe8]
cmp eax, 0x44d
jle 0x101b8092
mov ecx, dword [ebp - 0x124]
dec eax
mov dword [ebp - 0xe8], eax
sub ecx, 8
mov dword [edi + 0x37a4], eax
jmp 0x101b7fed
mov eax, dword [ebp - 0xcc]
mov dword [edi + 0x37a4], eax
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xe0], esi
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0xf0], esi
mov esi, dword [ebp - 0x100]
mov dword [ebp - 0x100], esi
xor eax, eax
push dword [ebp + 0x1c]
mov dword [edi + 0x34], eax
push 0xfc4
push dword [ebp - 0xd0]
call fcn.101bfde0
mov ecx, dword [edi + 0x3794]
add esp, 0xc
mov dword [ebp - 0xcc], ecx
cmp ecx, 0x3ea
jne 0x101b8107
cmp dword [edi + 0x37a4], 0x44e
jne 0x101b8107
mov dword [edi + 0x37a4], 0x44f
cmp dword [edi + 0xb0], 0
je 0x101b811a
mov dword [edi + 0x37a4], 0x44d
mov eax, dword [edi + 0x37a4]
mov dword [ebp - 0xe4], eax
cmp ecx, 0x3e8
jne 0x101b817f
mov dword [ebp - 0xcc], ecx
cmp eax, 0x44f
jle 0x101b817f
mov dword [edi + 0x3794], 0x3e9
mov dword [ebp - 0xcc], 0x3e9
jmp 0x101b81a8
mov ecx, dword [ebp - 0xe0]
mov eax, 1
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x100], ecx
jmp 0x101b80c4
cmp ecx, 0x3e9
jne 0x101b81a8
mov dword [ebp - 0xcc], ecx
cmp eax, 0x44f
jg 0x101b81a8
mov dword [edi + 0x3794], 0x3e8
mov dword [ebp - 0xcc], 0x3e8
mov ecx, dword [ebp - 0xd4]
mov eax, 0x51eb851f
imul dword [edi + 0x90]
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ecx, esi
jle 0x101b81d7
cmp dword [ebp - 0xcc], 0x3e8
jne 0x101b8265
mov eax, dword [edi + 0x90]
lea edx, [eax + eax*2]
mov eax, 0x51eb851f
mov dword [ebp - 0xd8], edx
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xe8], eax
cmp ecx, eax
jle 0x101b82b4
cmp dword [ebp - 0xcc], 0x3e8
jne 0x101b8265
mov eax, dword [edi + 0x90]
lea ecx, [eax + eax]
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [ebp - 0xd4]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, 0x51eb851f
jne 0x101b824c
imul dword [edi + 0x90]
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
jmp 0x101b8265
imul dword [ebp - 0xd8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
cmove esi, dword [ebp - 0xe8]
mov eax, ecx
mov ecx, dword [ebp - 0xe0]
cdq
idiv esi
cmp ecx, 0xffffffff
je 0x101b8287
mov dword [edi + 0x1dd8], ecx
mov ecx, dword [ebp - 0xf0]
mov dword [edi + 0x1ddc], ecx
push dword [ebp + 0x38]
mov ecx, dword [ebp + 0x18]
push dword [ebp + 0x1c]
push dword [ebp - 0x160]
push ecx
mov ecx, dword [ebp - 0x118]
push ecx
push esi
push eax
push dword [ebp - 0xf4]
push edi
call fcn.101b6a20
add esp, 0x24
jmp 0x101b9e27
cmp dword [edi + 0x37ac], 0
je 0x101b82e5
mov dword [ebp - 0xf8], 1
mov dword [ebp - 0x114], 1
mov dword [edi + 0x37ac], 0
mov dword [ebp - 0x150], 2
xor eax, eax
cmp dword [ebp - 0xcc], 0x3ea
cmovne eax, dword [ebp - 0xf8]
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x101b8343
push dword [edi + 0x3774]
push dword [ebp - 0x110]
push dword [edi + 0xa0]
push dword [ebp - 0xec]
call fcn.101b5f90
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0xe0]
add esp, 0x10
test ecx, ecx
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0xd4]
cmove eax, edx
mov dword [ebp - 0xe0], eax
mov eax, dword [edi + 0xa0]
mov edx, dword [edi + 0x90]
imul eax, ecx
lea ecx, [edx*8]
cdq
idiv ecx
mov edx, dword [ebp - 0xec]
mov ecx, edx
sub ecx, dword [ebp - 0x108]
cmp ecx, eax
cmovge ecx, eax
lea eax, [edx - 1]
mov dword [ebp - 0x144], ecx
mov ecx, dword [ebp - 0x118]
push eax
inc ecx
lea eax, [ebp - 0x19c]
push ecx
push eax
mov dword [ebp - 0x118], ecx
call fcn.101cb850
mov eax, dword [ebp - 0xd4]
add esp, 0xc
add eax, dword [ebp - 0x104]
mov esi, dword [edi + 0x70]
imul eax, esi
shl eax, 2
call fcn.1010de10
mov eax, esi
mov ecx, esp
imul eax, dword [ebp - 0x104]
mov dword [ebp - 0xcc], ecx
shl eax, 2
push eax
mov eax, dword [edi + 0xac]
sub eax, dword [ebp - 0x104]
imul eax, esi
add eax, 0xdf3
lea eax, [edi + eax*4]
push eax
push ecx
call fcn.1010efe0
add esp, 0xc
cmp dword [edi + 0x3794], 0x3ea
jne 0x101b8403
push 0x3c
call fcn.101cfa50
mov esi, eax
add esp, 4
shl esi, 8
jmp 0x101b840c
mov eax, dword [ebp - 0x154]
mov esi, dword [eax + 8]
mov edx, dword [edi + 0x377c]
sub esi, edx
movzx eax, si
imul ecx, eax, 0x3d7
sar esi, 0x10
imul eax, esi, 0x3d7
sar ecx, 0x10
add ecx, edx
add eax, ecx
mov dword [edi + 0x377c], eax
sar eax, 8
push eax
call fcn.101cfaf0
mov edx, dword [edi + 0x90]
lea ecx, [edi + 0x3784]
add esp, 4
mov dword [ebp - 0xe8], ecx
cmp dword [edi + 0x6c], 0x800
mov esi, eax
mov eax, dword [edi + 0x70]
mov dword [ebp - 0x148], eax
jne 0x101b87a2
mov ecx, eax
mov eax, dword [ebp - 0xcc]
imul ecx, dword [ebp - 0x104]
lea eax, [eax + ecx*4]
mov dword [ebp - 0xd8], eax
movsx eax, si
imul esi, eax, 0x9a7
mov eax, 0x10624dd3
imul edx
mov eax, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
idiv ecx
mov edx, eax
mov eax, 0x10000000
imul ecx, edx, 0x1d7
mov edi, edx
sar edi, 0x10
mov dword [ebp - 0x12c], edx
sub eax, ecx
mov ecx, eax
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a0], eax
neg ecx
sar eax, 6
add ecx, ecx
mov dword [ebp - 0xf8], eax
mov eax, edx
sar eax, 0xf
mov dword [ebp - 0x1a4], ecx
inc eax
sar eax, 1
mov dword [ebp - 0x124], eax
add eax, edi
movzx ecx, dx
imul eax, ecx
movsx esi, cx
mov ecx, dword [ebp - 0xf8]
sar ecx, 0x10
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0x124]
imul ecx, dword [ebp - 0x12c]
movzx edx, dx
imul edx, esi
imul esi, edi
mov edi, dword [ebp - 0x14c]
sar edx, 0x10
add ecx, edx
add eax, edx
add esi, 0xff800000
cwde
add ecx, esi
mov edx, dword [ebp - 0xf8]
sar ecx, 0xf
inc ecx
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xf8]
sar ecx, 1
imul ecx, eax
movzx esi, ax
mov eax, esi
imul eax, dword [ebp - 0x134]
sar eax, 0x10
add ecx, eax
mov eax, edi
imul eax, dword [ebp - 0x134]
add ecx, eax
movsx eax, dx
mov dword [ebp - 0x128], ecx
mov ecx, edx
sar ecx, 0xf
inc ecx
imul esi, eax
sar ecx, 1
imul ecx, edx
sar esi, 0x10
add ecx, esi
imul edi, eax
mov esi, dword [ebp - 0xd4]
lea eax, [ebp - 0x128]
add ecx, edi
mov edi, dword [ebp - 0x148]
push edi
push esi
push dword [ebp - 0xd8]
mov dword [ebp - 0x124], ecx
push dword [ebp - 0xe8]
push eax
lea eax, [ebp - 0x1a8]
push eax
push dword [ebp - 0xf4]
call fcn.101baca0
add esp, 0x1c
cmp edi, 2
jne 0x101b85fe
mov eax, dword [ebp - 0xd8]
push edi
add eax, 4
push esi
push eax
mov eax, dword [ebp - 0xe8]
add eax, 8
push eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x1a8]
push eax
mov eax, dword [ebp - 0xf4]
add eax, 4
push eax
call fcn.101baca0
add esp, 0x1c
mov edi, dword [ebp - 0x140]
cmp dword [ebp + 0x38], 0
je 0x101b86b1
mov edx, dword [edi + 0x70]
mov eax, edx
imul eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xcc]
imul edx, esi
push edx
lea eax, [ecx + eax*4]
mov ecx, dword [edi + 0xb4]
and ecx, 7
push eax
push eax
mov eax, dword [ecx*4 + 0x102c474c]
call eax
movss xmm0, dword [0x102c4fcc]
add esp, 0xc
fstp dword [ebp - 0xd8]
movss xmm1, dword [ebp - 0xd8]
comiss xmm0, xmm1
jbe 0x101b8662
ucomiss xmm1, xmm1
lahf
test ah, 0x44
jnp 0x101b86b1
mov ecx, dword [edi + 0x70]
mov eax, ecx
imul ecx, dword [ebp - 0x104]
imul eax, esi
shl eax, 2
push eax
mov eax, dword [ebp - 0xcc]
push 0
lea eax, [eax + ecx*4]
push eax
call fcn.1010f560
add esp, 0xc
mov dword [edi + 0x3790], 0
mov dword [edi + 0x378c], 0
mov dword [edi + 0x3788], 0
mov dword [edi + 0x3784], 0
cmp dword [edi + 0x3794], 0x3ea
movss xmm0, dword [0x101f3688]
movss dword [ebp - 0x10c], xmm0
je 0x101b8f0f
mov eax, dword [edi + 0x70]
imul eax, esi
add eax, eax
call fcn.1010de10
mov edx, dword [ebp - 0x144]
mov eax, dword [edi + 0x94]
mov dword [ebp - 0xf0], esp
lea edx, [edx*8 - 8]
imul edx, dword [ebp - 0x110]
cmp dword [edi + 0x3794], 0x3e9
mov dword [ebp - 0xd8], edx
jne 0x101b87d2
push dword [edi + 0x3774]
xor ecx, ecx
push dword [edi + 0x34]
push eax
imul eax, esi, 0x32
cmp dword [edi + 0x90], eax
mov eax, dword [ebp - 0xe4]
sete cl
push ecx
push eax
push edx
call fcn.101b6020
mov edx, dword [edi + 0x70]
add esp, 0x18
cmp dword [edi + 0x37b4], 0
mov dword [edi + 0x24], eax
mov dword [ebp - 0xf8], edx
jne 0x101b879a
sub eax, dword [ebp - 0xd8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102a4408]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x10205a08]
call fcn.10122d90
movss xmm1, dword [0x101f3688]
mov eax, dword [edi + 0x70]
mov edx, eax
cvtsd2ss xmm0, xmm0
mov dword [ebp - 0xf8], eax
subss xmm1, xmm0
movss dword [ebp - 0x10c], xmm1
mov eax, dword [edi + 0x94]
jmp 0x101b87de
mov esi, dword [ebp - 0xd4]
push edx
push eax
imul eax, dword [ebp - 0x104]
push esi
push ecx
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + eax*4]
push eax
push 3
push dword [ebp - 0xf4]
call fcn.101b6460
add esp, 0x1c
jmp 0x101b8604
mov dword [edi + 0x24], edx
mov edx, dword [edi + 0x70]
mov dword [ebp - 0xf8], edx
cmp dword [edi + 0x37b4], 0
mov ecx, dword [edi + 0x37b4]
mov dword [ebp - 0xd8], ecx
mov ecx, edx
je 0x101b896a
test eax, eax
je 0x101b896a
cmp dword [edi + 0xb0], 0
jne 0x101b896a
mov eax, dword [edi + 0x37a4]
mov ecx, 0x11
mov dword [ebp - 0xf4], ecx
xorps xmm4, xmm4
xorps xmm1, xmm1
cmp eax, 0x44d
jne 0x101b883d
mov ecx, 0xd
mov dword [ebp - 0x138], 0x1f40
jmp 0x101b885d
mov dword [ebp - 0x138], 0x3e80
cmp eax, 0x44e
jne 0x101b8863
mov ecx, 0xf
mov dword [ebp - 0x138], 0x2ee0
mov dword [ebp - 0xf4], ecx
mov eax, edx
mov dword [ebp - 0x13c], eax
test edx, edx
jle 0x101b88e7
mov esi, dword [ebp - 0xf8]
xor edx, edx
movss xmm2, dword [0x102c4d1c]
movss xmm3, dword [0x101f3684]
mov edi, dword [ebp - 0xf4]
nop dword [eax]
mov eax, dword [ebp - 0xd8]
mov ecx, edi
add eax, edx
nop word [eax + eax]
movss xmm0, dword [eax]
minss xmm0, xmm3
comiss xmm0, xmm2
jbe 0x101b88b8
comiss xmm0, xmm4
jbe 0x101b88bb
mulss xmm0, xmm3
jmp 0x101b88bb
movaps xmm0, xmm2
add eax, 4
addss xmm1, xmm0
sub ecx, 1
jne 0x101b88a0
add edx, 0x54
sub esi, 1
jne 0x101b8890
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0x140]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x13c], eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov ecx, dword [edi + 0x24]
neg ecx
add ecx, ecx
divss xmm1, xmm0
movd xmm0, eax
mov eax, 0x55555556
cvtdq2ps xmm0, xmm0
imul ecx
mulss xmm1, xmm0
movd xmm0, dword [ebp - 0x138]
cvtdq2ps xmm0, xmm0
mov ecx, dword [edi + 0x37a4]
mov eax, edx
shr eax, 0x1f
add eax, edx
addss xmm1, dword [0x101f5f44]
mulss xmm1, xmm0
cvttss2si esi, xmm1
cmp esi, eax
cmovg eax, esi
cmp ecx, 0x450
je 0x101b8948
cmp ecx, 0x451
jne 0x101b895b
lea ecx, [eax + eax*2]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x13c]
add dword [edi + 0x24], eax
imul eax, esi, 0x3e8
mov dword [edi + 8], ecx
cdq
idiv dword [edi + 0x90]
mov dword [edi + 0x20], eax
mov eax, dword [edi + 0x3774]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0xe4]
cmp eax, 0x44d
jne 0x101b89a1
mov dword [edi + 0x1c], 0x1f40
mov eax, 0x1f40
jmp 0x101b89ec
cmp eax, 0x44e
jne 0x101b89b6
mov dword [edi + 0x1c], 0x2ee0
mov eax, 0x2ee0
jmp 0x101b89ec
cmp dword [edi + 0x3794], 0x3e9
je 0x101b89e0
cmp eax, 0x44f
je 0x101b89e0
push 0x6d9
push str.C:_vcpkg_2024.03.25_buildtreesopus_src_v1.4_cac4cc030e.clean_srcopus_encoder.c
push str.assertion_failed:_st__mode__MODE_HYBRID__curr_bandwidth__OPUS_BANDWIDTH_WIDEBAND
call fcn.101ace10
add esp, 0xc
mov dword [edi + 0x1c], 0x3e80
mov eax, 0x3e80
mov edx, dword [edi + 0x3794]
mov ecx, 0x1f40
mov dword [ebp - 0xf8], eax
cmp edx, 0x3e9
mov eax, 0x3e80
mov dword [ebp - 0xd8], edx
cmovne eax, ecx
mov dword [edi + 0x18], eax
mov dword [edi + 0x14], 0x3e80
cmp edx, 0x3e8
jne 0x101b8aa1
cmp dword [ebp - 0x110], 0x32
mov eax, dword [ebp - 0x11c]
jle 0x101b8a53
lea ecx, [eax + eax]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x11c], eax
cmp eax, 0x1f40
mov ecx, edx
mov eax, dword [ebp - 0xf8]
jge 0x101b8a7c
mov ecx, 0x2ee0
mov dword [edi + 0x14], 0x2ee0
cmp eax, ecx
cmova eax, ecx
mov ecx, dword [edi + 0x3794]
mov dword [edi + 0x1c], eax
cmp dword [ebp - 0x11c], 0x1b58
jge 0x101b8aa1
cmp eax, 0x1f40
mov dword [edi + 0x14], 0x1f40
mov edx, 0x1f40
cmova eax, edx
mov edx, ecx
mov dword [edi + 0x1c], eax
xor eax, eax
cmp dword [edi + 0x94], eax
sete al
cmp dword [ebp - 0xe0], 0
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0xec]
lea eax, [eax*8 - 8]
mov ecx, eax
mov dword [edi + 0x40], eax
mov dword [ebp - 0x11c], ecx
je 0x101b8b1d
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x11c], ecx
cmp eax, 2
jl 0x101b8b1d
mov esi, dword [ebp - 0xec]
shl eax, 3
lea ecx, [esi*8 - 8]
mov esi, dword [ebp - 0xd4]
sub ecx, eax
dec ecx
mov dword [ebp - 0x11c], ecx
mov dword [edi + 0x40], ecx
cmp edx, 0x3e9
jne 0x101b8b8f
add ecx, 0xffffffec
mov dword [ebp - 0x11c], ecx
mov dword [edi + 0x40], ecx
jmp 0x101b8b25
cmp edx, 0x3e9
jne 0x101b8b8f
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x101b8b43
mov eax, dword [edi + 0x24]
imul eax, esi
cdq
idiv dword [edi + 0x90]
cmp ecx, eax
cmovl eax, ecx
jmp 0x101b8b8c
push dword [edi + 0x3774]
imul ecx, dword [ebp - 0xd4], 0x32
xor edx, edx
push dword [edi + 0x34]
mov esi, dword [edi + 0x90]
push eax
mov eax, dword [ebp - 0xe4]
cmp esi, ecx
sete dl
push edx
push eax
mov eax, dword [ebp - 0x11c]
imul eax, esi
cdq
idiv dword [ebp - 0xd4]
push eax
call fcn.101b6020
imul eax, dword [ebp - 0xd4]
add esp, 0x18
cdq
idiv esi
mov dword [edi + 0x40], eax
cmp dword [ebp - 0x150], 0
je 0x101b8ccd
mov edi, dword [edi + 0x90]
mov eax, 0x51eb851f
imul edi
push edi
sar edx, 7
mov esi, edx
mov dword [ebp - 0xe8], 0
shr esi, 0x1f
add esi, edx
mov edx, dword [ebp - 0x140]
mov eax, dword [edx + 0xac]
sub eax, dword [edx + 0x74]
mov ecx, dword [edx + 0x70]
sub eax, esi
imul eax, ecx
add edx, 0x37cc
shl eax, 2
add edx, eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x158]
push dword [eax + 0x3c]
push ecx
push esi
push dword [eax + 4]
sub esp, 8
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
push edx
push edx
call fcn.101b6d00
mov edi, dword [ebp - 0x140]
push dword [ebp - 0xd8]
push 0
lea esi, [edi + 0x37cc]
push esi
call fcn.1010f560
mov eax, dword [edi + 0x70]
add esp, 0x30
mov edx, dword [edi + 0xac]
xor ecx, ecx
imul eax, edx
test eax, eax
jle 0x101b8c98
movss xmm3, dword [0x101f769c]
movss xmm4, dword [0x101fa910]
movss xmm5, dword [0x101ffbb8]
nop dword [eax]
nop dword [eax + eax]
movss xmm0, dword [esi]
lea esi, [esi + 4]
mov edx, dword [ebp - 0xf0]
movaps xmm1, xmm4
mulss xmm0, xmm3
movaps xmm2, xmm5
maxss xmm1, xmm0
minss xmm2, xmm1
cvtss2si eax, xmm2
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0xac]
imul eax, edx
cmp ecx, eax
jl 0x101b8c60
push dword [ebp - 0x130]
lea eax, [ebp - 0xe8]
push dword [ebp - 0x150]
push eax
push 0
push edx
push dword [ebp - 0xf0]
lea eax, [edi + 8]
push eax
push dword [ebp - 0x154]
call fcn.101cbc80
add esp, 0x20
mov dword [edi + 0x48], 0
mov ecx, dword [edi + 0x70]
xor edx, edx
mov esi, dword [ebp - 0xd4]
mov eax, ecx
imul eax, esi
test eax, eax
jle 0x101b8d30
imul ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xcc]
movss xmm1, dword [0x101fa910]
movss xmm2, dword [0x101ffbb8]
add ecx, edx
movss xmm0, dword [eax + ecx*4]
mulss xmm0, dword [0x101f769c]
mov ecx, dword [ebp - 0xf0]
maxss xmm1, xmm0
minss xmm2, xmm1
cvtss2si eax, xmm2
mov word [ecx + edx*2], ax
inc edx
mov ecx, dword [edi + 0x70]
mov eax, ecx
imul eax, esi
cmp edx, eax
jl 0x101b8ce1
push dword [ebp - 0x130]
lea eax, [ebp - 0x16c]
push 0
push eax
lea eax, [ebp - 0x19c]
push eax
push esi
push dword [ebp - 0xf0]
lea eax, [edi + 8]
push eax
push dword [ebp - 0x154]
call fcn.101cbc80
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x101b9c66
cmp dword [edi + 0x3794], 0x3e8
mov eax, dword [edi + 0x50]
jne 0x101b8db4
cmp eax, 0x1f40
jne 0x101b8d8c
mov ecx, 0x44d
mov dword [ebp - 0xe4], ecx
jmp 0x101b8dd8
cmp eax, 0x2ee0
jne 0x101b8da0
mov ecx, 0x44e
mov dword [ebp - 0xe4], ecx
jmp 0x101b8dd8
cmp eax, 0x3e80
jne 0x101b8dd2
mov ecx, 0x44f
mov dword [ebp - 0xe4], ecx
jmp 0x101b8dd8
cmp eax, 0x3e80
je 0x101b8dd2
push 0x745
push str.C:_vcpkg_2024.03.25_buildtreesopus_src_v1.4_cac4cc030e.clean_srcopus_encoder.c
push str.assertion_failed:_st__silk_mode.internalSampleRate__16000
call fcn.101ace10
add esp, 0xc
mov ecx, dword [ebp - 0xe4]
cmp dword [edi + 0x60], 0
je 0x101b8dee
cmp dword [edi + 0x46d8], 0
jne 0x101b8dee
mov eax, 1
jmp 0x101b8df0
xor eax, eax
cmp dword [ebp - 0x16c], 0
mov dword [edi + 0x48], eax
jne 0x101b8ec0
mov eax, dword [edi + 0x90]
cdq
idiv dword [ebp - 0xd4]
mov esi, dword [edi + 0x3794]
mov edx, eax
mov dword [edi + 0x46dc], 0
xor eax, eax
mov dword [ebp - 0xd8], eax
cmp edx, 0x190
jge 0x101b8e41
nop
add edx, edx
inc eax
cmp edx, 0x190
jl 0x101b8e30
mov dword [ebp - 0xd8], eax
cmp esi, 0x3e8
jne 0x101b8e58
add cl, 3
sub al, 2
shl cl, 5
shl al, 3
or cl, al
jmp 0x101b8e91
cmp esi, 0x3ea
jne 0x101b8e85
xor edx, edx
add ecx, 0xfffffbb2
movzx eax, cl
cmovns edx, eax
or dl, 0xfc
shl dl, 2
or dl, byte [ebp - 0xd8]
shl dl, 3
mov byte [ebp - 0xe4], dl
jmp 0x101b8e97
or cl, 6
sub al, 2
add cl, cl
or cl, al
shl cl, 3
mov dword [ebp - 0xe4], ecx
cmp dword [edi + 0x3774], 2
mov eax, dword [ebp - 0xe4]
setne cl
dec cl
and cl, 4
or cl, al
mov eax, dword [ebp - 0x120]
mov byte [eax], cl
mov eax, 1
jmp 0x101b9e27
test eax, eax
je 0x101b8f11
push dword [edi + 0x3774]
push dword [ebp - 0x110]
push dword [edi + 0xa0]
push dword [ebp - 0xec]
call fcn.101b5f90
mov ecx, eax
mov dword [ebp - 0x114], 0
xor eax, eax
mov dword [ebp - 0x108], ecx
add esp, 0x10
mov dword [edi + 0x37ac], 1
test ecx, ecx
setne al
mov dword [ebp - 0xe0], eax
jmp 0x101b8f11
xor esi, esi
mov eax, dword [ebp - 0xe4]
mov ecx, 0x15
add eax, 0xfffffbb3
cmp eax, 4
ja case.0x101b8f26.1105
jmp dword [eax*4 + 0x101b9e40]
mov ecx, 0xd
jmp case.0x101b8f26.1105
mov ecx, 0x11
jmp case.0x101b8f26.1105
mov ecx, 0x13
push ecx
push 0x271c
push dword [ebp - 0xd0]
call fcn.101bfde0
push dword [edi + 0x3774]
push 0x2718
push dword [ebp - 0xd0]
call fcn.101bfde0
push 0xffffffffffffffff
push 0xfa2
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0x24
cmp dword [edi + 0x3794], 0x3e8
je 0x101b9057
push 0
push 0xfa6
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0xc
cmp dword [edi + 0x4c], 0
je 0x101b8fac
xorps xmm0, xmm0
jmp 0x101b8fb4
movss xmm0, dword [0x1028c3b0]
cvttss2si eax, xmm0
push eax
push 0x2712
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0xc
cmp dword [edi + 0x94], 0
je 0x101b9057
cmp dword [edi + 0x3794], 0x3e9
jne 0x101b9016
mov eax, dword [edi + 0xa0]
sub eax, dword [edi + 0x24]
push eax
push 0xfa2
push dword [ebp - 0xd0]
call fcn.101bfde0
push 0
push 0xfb4
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0x18
jmp 0x101b9057
push 1
push 0xfa6
push dword [ebp - 0xd0]
call fcn.101bfde0
push dword [edi + 0x98]
push 0xfb4
push dword [ebp - 0xd0]
call fcn.101bfde0
push dword [edi + 0xa0]
push 0xfa2
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0x24
mov ecx, dword [edi + 0x70]
mov eax, 0x51eb851f
imul ecx, dword [edi + 0x90]
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
shl eax, 2
mov dword [ebp - 0xd8], eax
call fcn.1010de10
mov ecx, dword [edi + 0x3794]
mov dword [ebp - 0xe8], esp
cmp ecx, 0x3e8
je 0x101b90e7
mov eax, dword [edi + 0x3798]
cmp ecx, eax
je 0x101b90e7
test eax, eax
jle 0x101b90e7
mov ecx, dword [edi + 0xac]
mov eax, 0x51eb851f
imul dword [edi + 0x90]
push dword [ebp - 0xd8]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, dword [ebp - 0x104]
imul ecx, dword [edi + 0x70]
add ecx, 0xdf3
lea eax, [edi + ecx*4]
push eax
push dword [ebp - 0xe8]
call fcn.1010efe0
add esp, 0xc
mov eax, dword [edi + 0xac]
sub eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
mov edx, dword [edi + 0x70]
mov ecx, dword [ebp - 0xd4]
imul eax, edx
test eax, eax
jle 0x101b9169
imul edx, ecx
shl eax, 2
push eax
add edx, 0xdf3
lea eax, [edi + edx*4]
push eax
lea eax, [edi + 0x37cc]
push eax
call fcn.1010efe0
mov eax, dword [ebp - 0x104]
add eax, dword [ebp - 0xd4]
imul eax, dword [edi + 0x70]
shl eax, 2
push eax
mov eax, dword [edi + 0xac]
sub eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x104]
imul eax, dword [edi + 0x70]
push dword [ebp - 0xcc]
add eax, 0xdf3
lea eax, [edi + eax*4]
push eax
call fcn.1010efe0
add esp, 0x18
jmp 0x101b91a0
mov eax, edx
imul eax, dword [edi + 0xac]
shl eax, 2
push eax
mov eax, ecx
mov ecx, dword [ebp - 0xcc]
sub eax, dword [edi + 0xac]
add eax, dword [ebp - 0x104]
imul eax, edx
lea eax, [ecx + eax*4]
push eax
lea eax, [edi + 0x37cc]
push eax
call fcn.1010efe0
add esp, 0xc
movss xmm0, dword [edi + 0x3780]
movss xmm7, dword [0x101f3688]
comiss xmm7, xmm0
movss xmm5, dword [ebp - 0x10c]
ja 0x101b91c2
comiss xmm7, xmm5
jbe 0x101b91fb
push dword [edi + 0x90]
mov eax, dword [ebp - 0x158]
push dword [eax + 0x3c]
push dword [edi + 0x70]
push dword [ebp - 0xd4]
push dword [eax + 4]
mov eax, dword [ebp - 0xcc]
sub esp, 8
movss dword [esp + 4], xmm5
movss dword [esp], xmm0
push eax
push eax
call fcn.101b6d00
add esp, 0x24
cmp dword [edi + 0x3794], 0x3e9
movss dword [edi + 0x3780], xmm5
jne 0x101b9218
cmp dword [edi + 0x3774], 1
jne 0x101b925a
mov ecx, dword [ebp - 0xfc]
cmp ecx, 0x7d00
jle 0x101b922f
mov dword [edi + 0x5c], 0x4000
jmp 0x101b925a
cmp ecx, 0x3e80
jge 0x101b9240
mov dword [edi + 0x5c], 0
jmp 0x101b925a
lea eax, [ecx - 0x7d00]
add ecx, 0xffffc950
shl eax, 0xb
cdq
idiv ecx
add eax, 0x4000
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x37b4], 0
jne 0x101b93ec
cmp dword [edi + 0x70], 2
jne 0x101b93ec
movzx eax, word [edi + 0x3778]
mov ecx, 0x4000
cmp ax, cx
jl 0x101b928b
cmp dword [edi + 0x5c], ecx
jge 0x101b93ec
mov ecx, dword [ebp - 0x158]
movaps xmm6, xmm7
movss xmm4, dword [0x101f3684]
movaps xmm5, xmm7
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x124], eax
mov eax, 0xbb80
cdq
idiv dword [edi + 0x90]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 4]
movzx ecx, word [edi + 0x3778]
cdq
idiv dword [ebp - 0xd8]
movsx ecx, cx
mov edx, eax
xor eax, eax
mov dword [ebp - 0x10c], eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102a2890]
subss xmm6, xmm0
movd xmm0, dword [edi + 0x5c]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102a2890]
subss xmm5, xmm0
test edx, edx
jle 0x101b9390
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x124]
shl eax, 2
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x10c], edx
nop dword [eax + eax]
movss xmm0, dword [ecx]
movaps xmm1, xmm7
movss xmm2, dword [eax]
movss xmm3, dword [eax + 4]
mulss xmm0, xmm0
add ecx, dword [ebp - 0xd8]
subss xmm1, xmm0
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm1, xmm0
movaps xmm0, xmm2
subss xmm0, xmm3
mulss xmm0, xmm4
mulss xmm1, xmm0
subss xmm2, xmm1
addss xmm3, xmm1
movss dword [eax], xmm2
movss dword [eax + 4], xmm3
add eax, 8
sub edx, 1
jne 0x101b9330
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0xd4]
jge 0x101b93e1
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + eax*8]
mov ecx, dword [ebp - 0xd4]
sub ecx, dword [ebp - 0x10c]
nop word [eax + eax]
movss xmm1, dword [eax]
movss xmm2, dword [eax + 4]
movaps xmm0, xmm1
subss xmm0, xmm2
mulss xmm0, xmm4
mulss xmm0, xmm5
subss xmm1, xmm0
addss xmm2, xmm0
movss dword [eax], xmm1
movss dword [eax + 4], xmm2
add eax, 8
sub ecx, 1
jne 0x101b93b0
mov ax, word [edi + 0x5c]
mov word [edi + 0x3778], ax
mov edx, dword [edi + 0x3794]
cmp edx, 0x3ea
je 0x101b9520
bsr eax, dword [ebp - 0x180]
xor ecx, ecx
mov dword [ebp - 0xd8], 0x14
cmp edx, 0x3e9
cmove ecx, dword [ebp - 0xd8]
sub ecx, eax
mov eax, dword [ebp - 0x188]
add eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0xec]
lea eax, [eax*8 - 8]
cmp ecx, eax
jg 0x101b9520
cmp edx, 0x3e9
jne 0x101b9465
push 0xc
push dword [ebp - 0xe0]
lea eax, [ebp - 0x19c]
push eax
call fcn.101cb540
mov edx, dword [edi + 0x3794]
add esp, 0xc
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x101b950c
push 1
push dword [ebp - 0x114]
lea eax, [ebp - 0x19c]
push eax
call fcn.101cb540
bsr eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x188]
add esp, 0xc
mov edx, dword [edi + 0x3794]
sub ecx, eax
mov eax, dword [ebp - 0xec]
cmp edx, 0x3e9
jne 0x101b94b2
add ecx, 0x11
jmp 0x101b94b5
add ecx, 6
sar ecx, 3
sub eax, ecx
mov ecx, dword [ebp - 0x108]
dec eax
cmp eax, ecx
cmovl ecx, eax
mov eax, 2
cmp ecx, eax
cmovl ecx, eax
mov eax, 0x101
cmp ecx, eax
cmovg ecx, eax
mov dword [ebp - 0x108], ecx
cmp edx, 0x3e9
jne 0x101b9518
lea eax, [ecx - 2]
push 0x100
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.101cba80
mov edx, dword [edi + 0x3794]
add esp, 0xc
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x108]
test eax, eax
jne 0x101b953c
jmp 0x101b952a
mov eax, dword [ebp - 0xe0]
jmp 0x101b9512
mov dword [ebp - 0xe0], 0
xor ecx, ecx
mov dword [edi + 0x37ac], 0
mov dword [ebp - 0x108], ecx
cmp edx, 0x3ea
mov dword [ebp - 0xd8], 0
mov eax, 0x11
cmove eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd8], eax
cmp edx, 0x3e8
jne 0x101b9592
bsr eax, dword [ebp - 0x180]
mov esi, dword [ebp - 0x188]
sub esi, eax
lea eax, [ebp - 0x19c]
add esi, 6
push eax
sar esi, 3
call fcn.101cb6b0
add esp, 4
mov dword [ebp - 0xf4], esi
jmp 0x101b95b1
mov eax, dword [ebp - 0xec]
sub eax, ecx
dec eax
push eax
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0x19c]
push eax
call fcn.101cba30
add esp, 8
cmp dword [ebp - 0xe0], 0
jne 0x101b95c6
cmp dword [edi + 0x3794], 0x3e8
je 0x101b95dd
lea eax, [ebp - 0x64]
push eax
push 0x2726
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0xc
cmp dword [edi + 0x3794], 0x3e9
jne 0x101b9615
mov eax, dword [edi + 0x64]
mov dword [ebp - 0x128], eax
mov eax, dword [edi + 0x68]
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x128]
push eax
push 0x272c
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0xc
cmp dword [ebp - 0xe0], 0
je 0x101b96d6
cmp dword [ebp - 0x114], 0
je 0x101b96d6
push 0
push 0x271a
push dword [ebp - 0xd0]
call fcn.101bfde0
push 0
push 0xfa6
push dword [ebp - 0xd0]
call fcn.101bfde0
push 0xffffffffffffffff
push 0xfa2
push dword [ebp - 0xd0]
call fcn.101bfde0
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x118]
push 0
push dword [ebp - 0x108]
push eax
mov eax, 0x51eb851f
imul dword [edi + 0x90]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
call fcn.101bb760
add esp, 0x3c
test eax, eax
js 0x101b9c66
lea eax, [ebp - 0x15c]
push eax
push 0xfbf
push dword [ebp - 0xd0]
call fcn.101bfde0
push 0xfbc
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0x14
push dword [ebp - 0xd8]
push 0x271a
push dword [ebp - 0xd0]
call fcn.101bfde0
mov ecx, dword [edi + 0x3794]
add esp, 0xc
cmp ecx, 0x3e8
je 0x101b986a
mov eax, dword [edi + 0x3798]
cmp ecx, eax
je 0x101b9766
test eax, eax
jle 0x101b9766
push 0xfbc
push dword [ebp - 0xd0]
call fcn.101bfde0
push 0
push 2
lea eax, [ebp - 0xf0]
push eax
mov eax, 0x51eb851f
imul dword [edi + 0x90]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push dword [ebp - 0xe8]
push dword [ebp - 0xd0]
call fcn.101bb760
push 0
push 0x2712
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0x2c
bsr eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x188]
sub ecx, eax
mov eax, dword [ebp - 0xf4]
dec ecx
shl eax, 3
cmp ecx, eax
jg 0x101b986a
cmp dword [ebp - 0xe0], 0
je 0x101b97cb
cmp dword [ebp - 0x114], 0
je 0x101b97cb
cmp dword [edi + 0x3794], 0x3e9
jne 0x101b97cb
cmp dword [edi + 0x94], 0
je 0x101b97cb
mov eax, dword [edi + 0xa0]
sub eax, dword [edi + 0x24]
push eax
push 0xfa2
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0xc
push dword [edi + 0x94]
push 0xfa6
push dword [ebp - 0xd0]
call fcn.101bfde0
lea eax, [ebp - 0x19c]
push eax
push dword [ebp - 0xf4]
push 0
push dword [ebp - 0xd4]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
call fcn.101bb760
mov esi, eax
add esp, 0x24
test esi, esi
js 0x101b9c66
cmp dword [ebp - 0xe0], 0
je 0x101b99d0
cmp dword [ebp - 0x114], 0
je 0x101b9884
cmp dword [edi + 0x3794], 0x3e9
jne 0x101b99d0
cmp dword [edi + 0x94], 0
je 0x101b99d0
mov ecx, dword [ebp - 0x118]
push dword [ebp - 0x108]
mov eax, dword [ebp - 0xf4]
add eax, ecx
push eax
lea eax, [ecx + esi]
push eax
call fcn.1010efe0
jmp 0x101b99cd
cmp dword [ebp - 0xe0], 0
je 0x101b99d0
cmp dword [ebp - 0x114], 0
jne 0x101b99d0
mov ecx, dword [edi + 0x90]
mov eax, 0x51eb851f
imul ecx
push 0xfbc
push dword [ebp - 0xd0]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xd8], eax
mov eax, 0x51eb851f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xe8], eax
call fcn.101bfde0
push 0
push 0x271a
push dword [ebp - 0xd0]
call fcn.101bfde0
push 0
push 0x2712
push dword [ebp - 0xd0]
call fcn.101bfde0
push 0
push 0xfa6
push dword [ebp - 0xd0]
call fcn.101bfde0
push 0xffffffffffffffff
push 0xfa2
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0x38
cmp dword [edi + 0x3794], 0x3e9
jne 0x101b9935
lea eax, [ebp - 0x19c]
mov dword [ebp - 0xf4], esi
push esi
push eax
call fcn.101cba30
add esp, 8
mov ecx, dword [ebp - 0xe8]
lea eax, [ebp - 0xf0]
push 0
push 2
push eax
mov eax, dword [ebp - 0xd4]
sub eax, ecx
sub eax, dword [ebp - 0xd8]
imul eax, dword [edi + 0x70]
push ecx
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + eax*4]
push eax
push dword [ebp - 0xd0]
call fcn.101bb760
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0xd8]
push 0
push dword [ebp - 0x108]
push eax
mov eax, dword [ebp - 0xd4]
sub eax, ecx
imul eax, dword [edi + 0x70]
push ecx
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + eax*4]
push eax
push dword [ebp - 0xd0]
call fcn.101bb760
add esp, 0x30
test eax, eax
js 0x101b9c66
lea eax, [ebp - 0x15c]
push eax
push 0xfbf
push dword [ebp - 0xd0]
call fcn.101bfde0
add esp, 0xc
mov eax, dword [edi + 0x90]
xor ecx, ecx
cdq
idiv dword [ebp - 0xd4]
mov edx, dword [edi + 0x3794]
mov dword [ebp - 0xd8], ecx
cmp eax, 0x190
jge 0x101b9a02
add eax, eax
inc ecx
cmp eax, 0x190
jl 0x101b99f2
mov dword [ebp - 0xd8], ecx
cmp edx, 0x3e8
jne 0x101b9a20
mov dl, byte [ebp - 0xe4]
sub cl, 2
add dl, 3
shl cl, 3
shl dl, 5
or dl, cl
jmp 0x101b9a5d
cmp edx, 0x3ea
jne 0x101b9a4a
mov ecx, dword [ebp - 0xe4]
xor edx, edx
add ecx, 0xfffffbb2
movzx eax, cl
cmovns edx, eax
or dl, 0xfc
shl dl, 2
or dl, byte [ebp - 0xd8]
jmp 0x101b9a5a
mov dl, byte [ebp - 0xe4]
sub cl, 2
or dl, 6
add dl, dl
or dl, cl
shl dl, 3
cmp dword [edi + 0x3774], 2
mov ecx, dword [ebp - 0x120]
setne al
dec al
and al, 4
or al, dl
mov byte [ecx], al
mov eax, dword [ebp - 0x180]
xor eax, dword [ebp - 0x15c]
cmp dword [ebp - 0x160], 0
mov dword [edi + 0x46dc], eax
mov eax, 0x3ea
jne 0x101b9a9b
mov eax, dword [edi + 0x3794]
mov dword [edi + 0x3798], eax
cmp dword [edi + 0xb8], 0
mov eax, dword [edi + 0x3774]
mov dword [edi + 0x379c], eax
mov eax, dword [ebp - 0xd4]
mov dword [edi + 0x37a0], eax
mov dword [edi + 0x37b0], 0
je 0x101b9bec
cmp dword [ebp - 0x64], 0
jne 0x101b9ae3
cmp dword [ebp - 0x100], 0
je 0x101b9bec
cmp dword [ebp - 0x130], 0
jne 0x101b9bec
imul eax, eax, 0x7d0
cdq
idiv dword [edi + 0x90]
add eax, dword [edi + 0x46d0]
mov dword [edi + 0x46d0], eax
cmp eax, 0x190
jle 0x101b9bf6
cmp eax, 0x4b0
jg 0x101b9be0
mov eax, dword [edi + 0x90]
xor ecx, ecx
cdq
idiv dword [ebp - 0xd4]
mov edx, dword [edi + 0x3794]
mov dword [edi + 0x46dc], 0
mov dword [ebp - 0xd8], ecx
cmp eax, 0x190
jge 0x101b9b60
nop dword [eax + eax]
add eax, eax
inc ecx
cmp eax, 0x190
jl 0x101b9b50
mov dword [ebp - 0xd8], ecx
cmp edx, 0x3e8
jne 0x101b9b7d
mov eax, dword [ebp - 0xe4]
sub cl, 2
add al, 3
shl cl, 3
shl al, 5
or cl, al
jmp 0x101b9bbe
cmp edx, 0x3ea
jne 0x101b9bac
mov ecx, dword [ebp - 0xe4]
xor edx, edx
add ecx, 0xfffffbb2
movzx eax, cl
cmovns edx, eax
or dl, 0xfc
shl dl, 2
or dl, byte [ebp - 0xd8]
shl dl, 3
mov cl, dl
jmp 0x101b9bbe
mov eax, dword [ebp - 0xe4]
sub cl, 2
or al, 6
add al, al
or cl, al
shl cl, 3
cmp dword [edi + 0x3774], 2
setne al
dec al
and al, 4
or al, cl
mov ecx, dword [ebp - 0x120]
mov byte [ecx], al
mov eax, 1
jmp 0x101b9e27
mov dword [edi + 0x46d0], 0x190
jmp 0x101b9bf6
mov dword [edi + 0x46d0], 0
bsr eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0xe0]
sub ecx, eax
mov eax, dword [ebp - 0xec]
dec ecx
lea eax, [eax*8 - 8]
cmp ecx, eax
jle 0x101b9c70
mov eax, dword [ebp - 0x118]
mov esi, 1
mov byte [eax], 0
mov dword [edi + 0x46dc], 0
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x108]
inc eax
add eax, esi
cmp dword [edi + 0x94], 0
jne 0x101b9e27
mov esi, dword [ebp - 0xec]
push esi
push eax
push ecx
call fcn.101badf0
add esp, 0xc
test eax, eax
je 0x101b9c9e
mov eax, 0xfffffffd
jmp 0x101b9e27
cmp dword [edi + 0x3794], 0x3e8
jne 0x101b9c35
test edx, edx
jne 0x101b9c35
cmp esi, 2
jle 0x101b9c35
mov ecx, dword [ebp - 0x120]
nop dword [eax + eax]
cmp byte [ecx + esi], 0
jne 0x101b9c3b
dec esi
cmp esi, 2
jg 0x101b9c90
jmp 0x101b9c3b
mov eax, esi
jmp 0x101b9e27
mov esi, dword [edi + 0x37a4]
mov eax, 0x44d
mov ecx, dword [edi + 0x3794]
test esi, esi
mov edx, dword [ebp - 0x110]
cmove esi, eax
mov dword [ebp - 0xfc], 0
test ecx, ecx
mov dword [ebp - 0xd8], 0
mov eax, 0x3e8
cmove ecx, eax
cmp edx, 0x64
jle 0x101b9ce9
lea ecx, [eax + 2]
jmp 0x101b9d13
mov eax, ecx
cmp edx, 0x19
jne 0x101b9d29
cmp ecx, 0x3e8
je 0x101b9d69
mov edx, 0x32
mov dword [ebp - 0xfc], 1
cmp ecx, 0x3ea
jne 0x101b9da0
cmp esi, 0x44e
jne 0x101b9db2
mov esi, 0x44d
jmp 0x101b9db2
cmp edx, 0x10
jg 0x101b9d61
cmp dword [ebp + 0x18], 1
je 0x101b9d78
cmp eax, 0x3e8
jne 0x101b9d40
cmp edx, 0xa
jne 0x101b9d78
mov eax, 0x32
mov dword [ebp - 0xfc], 3
cdq
idiv dword [ebp - 0x110]
mov edx, 0x32
mov dword [ebp - 0xd8], eax
cmp ecx, 0x3e8
jne 0x101b9d07
cmp esi, 0x44f
jle 0x101b9db2
mov esi, 0x44f
jmp 0x101b9db2
xor edx, edx
mov eax, 0x10
cmp dword [ebp - 0x110], 0xc
mov ecx, 0x3e8
setle dl
mov dword [ebp - 0xfc], edx
mov edx, 0x19
cmove eax, edx
mov edx, eax
jmp 0x101b9d69
cmp ecx, 0x3e9
jne 0x101b9db2
mov eax, 0x450
cmp esi, eax
cmovle esi, eax
push dword [edi + 0x3774]
push esi
push edx
push ecx
call fcn.101b6f40
mov edx, dword [ebp - 0xfc]
add esp, 0x10
mov ecx, dword [ebp - 0x118]
or al, dl
mov byte [ecx], al
mov eax, 1
cmp eax, edx
sbb ecx, ecx
neg ecx
inc ecx
cmp dword [ebp - 0xec], ecx
mov esi, ecx
cmovg esi, dword [ebp - 0xec]
cmp edx, 3
mov edx, dword [ebp - 0x118]
jne 0x101b9e02
mov eax, dword [ebp - 0xd8]
mov byte [edx + 1], al
cmp dword [edi + 0x94], 0
jne 0x101b9e20
push esi
push ecx
push edx
call fcn.101badf0
add esp, 0xc
mov ecx, 0xfffffffd
test eax, eax
cmove ecx, esi
mov eax, ecx
jmp 0x101b9e27
or eax, 0xffffffff
lea esp, [ebp - 0x1b0]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010d06f
mov esp, ebp
pop ebp
ret