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

Disassembly:
push ebp
lea ebp, [esp - 0x40]
sub esp, 0xa4
mov eax, dword [0x102f0d80]
xor eax, ebp
mov dword [ebp + 0x3c], eax
mov eax, dword [ebp + 0x54]
lea ecx, [ebp - 0x14]
push ebx
mov ebx, dword [ebp + 0x48]
mov dword [ebp + 0x14], eax
push esi
push edi
mov eax, dword [ebx + 4]
xor edi, edi
add eax, ebx
mov dword [ebp + 0x20], edi
mov dword [ebp], eax
mov eax, dword [ebx]
push ecx
add eax, ebx
mov dword [ebp - 0x18], edi
push 0x271f
push eax
mov dword [ebp + 8], 0xffffffff
mov dword [ebx + 0x46e0], edi
mov dword [ebp + 0x38], eax
call fcn.101c6bb0
mov eax, dword [ebx + 0x37a8]
add esp, 0xc
cmp dword [ebx + 0x70], 0x803
mov dword [ebp + 0x1c], eax
jne 0x101be18e
mov dword [ebp + 0x2c], edi
jmp 0x101be194
mov eax, dword [ebx + 0x78]
mov dword [ebp + 0x2c], eax
mov esi, dword [ebx + 0x94]
mov eax, esi
mov ecx, dword [ebp + 0x50]
cdq
idiv ecx
mov edx, eax
mov dword [ebp - 0xc], edx
cmp dword [ebp + 0x68], edi
je 0x101be1b1
mov dword [ebp + 8], edi
jmp 0x101be228
mov eax, dword [ebp + 0x64]
cmp dword [eax], edi
je 0x101be228
movss xmm0, dword [eax + 0x24]
xor eax, eax
comiss xmm0, dword [0x10211540]
setae al
mov dword [ebp + 8], eax
test eax, eax
jne 0x101be228
mov esi, dword [ebx + 0x74]
mov eax, dword [ebx + 0xb8]
imul esi, ecx
and eax, 7
mov ecx, dword [ebp + 0x4c]
mov eax, dword [eax*4 + 0x102d1d7c]
push esi
push ecx
push ecx
call eax
movd xmm0, esi
xor eax, eax
cvtdq2ps xmm0, xmm0
mov esi, dword [ebx + 0x94]
add esp, 0xc
mov edx, dword [ebp - 0xc]
movss dword [ebp + 0x34], xmm0
fdiv dword [ebp + 0x34]
fstp dword [ebp + 0x34]
movss xmm0, dword [ebp + 0x34]
mulss xmm0, dword [0x102d2608]
comiss xmm0, dword [ebx + 0x46d8]
seta al
mov dword [ebp + 8], eax
cmp dword [ebx + 0x37b0], edi
je 0x101be247
mov eax, 1
mov dword [ebx + 0x37b0], edi
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x10], 2
jmp 0x101be256
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x70]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x6c]
xor ecx, ecx
cmp dword [ebx + 0x3798], 0x3ea
cmovne ecx, eax
mov dword [ebp + 0x24], ecx
test ecx, ecx
je 0x101be296
push dword [ebx + 0x3778]
push edx
push dword [ebx + 0xa4]
push dword [ebp + 0x58]
call fcn.101bd210
mov ecx, eax
xor edx, edx
mov eax, dword [ebp + 0x24]
add esp, 0x10
test ecx, ecx
mov dword [ebp + 0x20], ecx
cmove eax, edx
mov dword [ebp + 0x24], eax
mov eax, dword [ebx + 0xa4]
lea ecx, [esi*8]
imul eax, dword [ebp + 0x50]
cdq
idiv ecx
mov edx, dword [ebp + 0x58]
mov ecx, edx
sub ecx, dword [ebp + 0x20]
cmp ecx, eax
cmovge ecx, eax
lea eax, [edx - 1]
mov dword [ebp + 0x30], ecx
mov ecx, dword [ebp + 0x54]
push eax
inc ecx
lea eax, [ebp - 0x58]
push ecx
push eax
mov dword [ebp + 0x54], ecx
call fcn.101d2720
mov eax, dword [ebp + 0x50]
add esp, 0xc
add eax, dword [ebp + 0x2c]
mov esi, dword [ebx + 0x74]
imul eax, esi
shl eax, 2
call fcn.1011d130
mov eax, esi
mov edx, esp
imul eax, dword [ebp + 0x2c]
mov dword [ebp + 0x28], edx
shl eax, 2
push eax
mov eax, dword [ebx + 0xb0]
sub eax, dword [ebp + 0x2c]
imul eax, esi
add eax, 0xdf4
lea eax, [ebx + eax*4]
push eax
push edx
call fcn.1011e240
add esp, 0xc
cmp dword [ebx + 0x3798], 0x3ea
jne 0x101be330
push 0x3c
call fcn.101d6920
mov esi, eax
add esp, 4
shl esi, 8
jmp 0x101be336
mov esi, dword [ebp]
mov esi, dword [esi + 8]
mov edx, dword [ebx + 0x3780]
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 [ebx + 0x3780], eax
sar eax, 8
push eax
call fcn.101d69c0
mov edx, dword [ebx + 0x94]
lea ecx, [ebx + 0x3788]
add esp, 4
mov dword [ebp + 0x10], ecx
cmp dword [ebx + 0x70], 0x800
mov esi, eax
mov eax, dword [ebx + 0x74]
mov dword [ebp - 4], eax
jne 0x101be61b
imul eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
lea eax, [ecx + eax*4]
mov dword [ebp + 4], 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 ecx, 0x10000000
mov edx, eax
imul eax, edx, 0x1d7
mov esi, edx
mov dword [ebp - 0x24], edx
sar esi, 0x10
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x64], ecx
neg eax
mov dword [ebp - 0x5c], ecx
add eax, eax
sar ecx, 6
mov dword [ebp - 0x60], eax
mov eax, edx
mov dword [ebp + 0x34], ecx
sar eax, 0xf
inc eax
movzx ecx, dx
movsx edi, cx
sar eax, 1
mov dword [ebp + 0x18], eax
add eax, esi
imul eax, ecx
mov ecx, dword [ebp + 0x34]
movzx edx, dx
imul edx, edi
sar ecx, 0x10
mov dword [ebp - 0x1c], ecx
imul edi, esi
mov esi, dword [ebp - 0x1c]
sar edx, 0x10
add eax, edx
movsx ebx, ax
mov eax, dword [ebp + 0x18]
imul eax, dword [ebp - 0x24]
lea ecx, [edx + edi]
mov edi, dword [ebp + 0x34]
movzx edx, di
add eax, 0xff800000
add ecx, eax
mov eax, edx
sar ecx, 0xf
inc ecx
imul eax, ebx
sar ecx, 1
imul ecx, edi
sar eax, 0x10
add ecx, eax
mov eax, esi
imul eax, ebx
add ecx, eax
movsx eax, di
mov dword [ebp - 0x20], ecx
mov ecx, edi
sar ecx, 0xf
inc ecx
imul edx, eax
sar ecx, 1
imul ecx, edi
mov edi, dword [ebp - 4]
imul esi, eax
sar edx, 0x10
add ecx, edx
add ecx, esi
mov dword [ebp - 0x1c], ecx
mov esi, dword [ebp + 0x50]
lea eax, [ebp - 0x20]
mov ebx, dword [ebp + 0x4c]
push edi
push esi
push dword [ebp + 4]
push dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x64]
push eax
push ebx
call fcn.101c1660
add esp, 0x1c
cmp edi, 2
jne 0x101be4b5
mov eax, dword [ebp + 4]
push edi
add eax, 4
push esi
push eax
mov eax, dword [ebp + 0x10]
add eax, 8
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebx + 4]
push eax
call fcn.101c1660
add esp, 0x1c
mov ebx, dword [ebp + 0x48]
xor edi, edi
cmp dword [ebp + 0x5c], 0
je 0x101be555
mov edx, dword [ebx + 0x74]
mov eax, edx
imul eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
imul edx, esi
push edx
lea eax, [ecx + eax*4]
mov ecx, dword [ebx + 0xb8]
and ecx, 7
push eax
push eax
mov eax, dword [ecx*4 + 0x102d1d7c]
call eax
movss xmm0, dword [0x102d2618]
add esp, 0xc
fstp dword [ebp - 4]
movss xmm1, dword [ebp - 4]
comiss xmm0, xmm1
jbe 0x101be50c
ucomiss xmm1, xmm1
lahf
test ah, 0x44
jnp 0x101be555
mov ecx, dword [ebx + 0x74]
mov eax, ecx
imul ecx, dword [ebp + 0x2c]
imul eax, esi
shl eax, 2
push eax
mov eax, dword [ebp + 0x28]
push 0
lea eax, [eax + ecx*4]
push eax
call fcn.1011e7c0
add esp, 0xc
mov dword [ebx + 0x3794], 0
mov dword [ebx + 0x3790], 0
mov dword [ebx + 0x378c], 0
mov dword [ebx + 0x3788], 0
cmp dword [ebx + 0x3798], 0x3ea
movss xmm0, dword [0x1020f864]
movss dword [ebp + 0x10], xmm0
movss dword [ebp + 0x34], xmm0
je 0x101bec09
mov eax, dword [ebx + 0x74]
mov dword [ebp - 4], eax
imul eax, esi
add eax, eax
call fcn.1011d130
mov edi, dword [ebp + 0x30]
mov eax, dword [ebx + 0x98]
mov dword [ebp + 4], esp
lea edi, [edi*8 - 8]
imul edi, dword [ebp - 0xc]
cmp dword [ebx + 0x3798], 0x3e9
jne 0x101be63f
push dword [ebx + 0x3778]
xor ecx, ecx
push dword [ebx + 0x38]
push eax
imul eax, esi, 0x32
cmp dword [ebx + 0x94], eax
sete cl
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
push edi
call fcn.101bd2a0
add esp, 0x18
mov dword [ebx + 0x24], eax
cmp dword [ebx + 0x37b8], 0
jne 0x101be613
sub eax, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10210ea8]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x1020f228]
call fcn.10137b30
movss xmm1, dword [ebp + 0x10]
cvtsd2ss xmm0, xmm0
subss xmm1, xmm0
movss dword [ebp + 0x34], xmm1
mov eax, dword [ebx + 0x98]
jmp 0x101be642
mov esi, dword [ebp + 0x50]
push edx
push eax
imul eax, dword [ebp + 0x2c]
push esi
push ecx
mov ecx, dword [ebp + 0x28]
lea eax, [ecx + eax*4]
push eax
push 3
push dword [ebp + 0x4c]
call fcn.101bd6e0
add esp, 0x1c
jmp 0x101be4ba
mov dword [ebx + 0x24], edi
mov ecx, dword [ebx + 0x37b8]
mov dword [ebp + 0x30], ecx
test ecx, ecx
je 0x101be780
test eax, eax
je 0x101be780
cmp dword [ebx + 0xb4], 0
jne 0x101be780
mov eax, dword [ebx + 0x37a8]
xorps xmm4, xmm4
xorps xmm2, xmm2
mov edi, 0x11
cmp eax, 0x44d
jne 0x101be68e
mov edi, 0xd
mov dword [ebp + 0x18], 0x1f40
jmp 0x101be6a8
mov dword [ebp + 0x18], 0x3e80
cmp eax, 0x44e
jne 0x101be6a8
mov edi, 0xf
mov dword [ebp + 0x18], 0x2ee0
mov eax, dword [ebx + 0x74]
test eax, eax
jle 0x101be705
movss xmm1, dword [0x102d2350]
xor edx, edx
movss xmm3, dword [0x1020dfd0]
mov esi, eax
mov ebx, dword [ebp + 0x30]
lea eax, [ebx + edx]
mov ecx, edi
nop dword [eax + eax]
movss xmm0, dword [eax]
minss xmm0, xmm3
comiss xmm0, xmm1
jbe 0x101be6e8
comiss xmm0, xmm4
jbe 0x101be6eb
mulss xmm0, xmm3
jmp 0x101be6eb
movaps xmm0, xmm1
add eax, 4
addss xmm2, xmm0
sub ecx, 1
jne 0x101be6d0
add edx, 0x54
sub esi, 1
jne 0x101be6c6
mov ebx, dword [ebp + 0x48]
mov eax, dword [ebp - 4]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov edi, dword [ebx + 0x24]
mov ecx, edi
neg ecx
add ecx, ecx
divss xmm2, xmm0
movd xmm0, eax
mov eax, 0x55555556
cvtdq2ps xmm0, xmm0
imul ecx
mulss xmm2, xmm0
movd xmm0, dword [ebp + 0x18]
cvtdq2ps xmm0, xmm0
mov ecx, dword [ebx + 0x37a8]
mov eax, edx
shr eax, 0x1f
add eax, edx
addss xmm2, dword [0x102ace04]
mulss xmm2, xmm0
cvttss2si esi, xmm2
cmp esi, eax
cmovg eax, esi
cmp ecx, 0x450
je 0x101be765
cmp ecx, 0x451
jne 0x101be778
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 + 0x50]
add eax, edi
mov dword [ebx + 0x24], eax
imul eax, esi, 0x3e8
cdq
idiv dword [ebx + 0x94]
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x74]
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x3778]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp + 0x1c]
cmp eax, 0x44d
jne 0x101be7b7
mov dword [ebx + 0x1c], 0x1f40
mov edi, 0x1f40
jmp 0x101be802
cmp eax, 0x44e
jne 0x101be7cc
mov dword [ebx + 0x1c], 0x2ee0
mov edi, 0x2ee0
jmp 0x101be802
cmp dword [ebx + 0x3798], 0x3e9
je 0x101be7f6
cmp eax, 0x44f
je 0x101be7f6
push 0x798
push str.F:_vcpkg_2024.05.24_buildtreesopus_src_v1.5.1_cfcae413d5.clean_srcopus_encoder.c
push str.assertion_failed:_st__mode__MODE_HYBRID__curr_bandwidth__OPUS_BANDWIDTH_WIDEBAND
call fcn.101b3ef0
add esp, 0xc
mov dword [ebx + 0x1c], 0x3e80
mov edi, 0x3e80
mov ecx, dword [ebx + 0x3798]
mov eax, 0x3e80
cmp ecx, 0x3e9
mov dword [ebp + 0x30], ecx
mov edx, 0x1f40
cmovne eax, edx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x14], 0x3e80
cmp ecx, 0x3e8
jne 0x101be88b
mov eax, dword [ebp - 0xc]
imul eax, dword [ebp + 0x58]
shl eax, 3
cmp dword [ebp - 0xc], 0x32
jle 0x101be856
lea ecx, [eax + eax]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x1f40
cmp eax, 0x1f40
jge 0x101be871
mov ecx, 0x2ee0
mov dword [ebx + 0x14], 0x2ee0
cmp edi, ecx
cmova edi, ecx
mov dword [ebx + 0x1c], edi
cmp eax, 0x1b58
jge 0x101be88b
cmp edi, 0x1f40
mov dword [ebx + 0x14], 0x1f40
cmova edi, edx
mov dword [ebx + 0x1c], edi
mov edi, dword [ebx + 0x98]
xor eax, eax
test edi, edi
sete al
cmp dword [ebp + 0x24], 0
mov dword [ebx + 0x40], eax
mov eax, dword [ebp + 0x58]
lea edx, [eax*8 - 8]
mov ecx, edx
mov dword [ebx + 0x44], edx
mov dword [ebp + 0x18], ecx
je 0x101be8de
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x18], ecx
cmp eax, 2
jl 0x101be8de
shl eax, 3
sub edx, eax
cmp dword [ebp + 0x30], 0x3e9
lea ecx, [edx - 1]
mov dword [ebp + 0x18], ecx
mov dword [ebx + 0x44], ecx
jne 0x101be8de
add ecx, 0xffffffec
mov dword [ebp + 0x18], ecx
mov dword [ebx + 0x44], ecx
cmp dword [ebx + 0x3798], 0x3e9
jne 0x101be971
test edi, edi
jne 0x101be932
mov eax, dword [ebx + 0x24]
imul eax, esi
cdq
idiv dword [ebx + 0x94]
mov edx, eax
mov eax, ecx
sub eax, edx
jns 0x101be90b
xor eax, eax
jmp 0x101be912
mov eax, ecx
sub eax, edx
movzx eax, ax
cwde
mov dword [ebx + 0x40], 0
lea eax, [eax + eax*2]
cdq
and edx, 3
add eax, edx
sar eax, 2
sub ecx, eax
mov eax, 0
cmovns eax, ecx
jmp 0x101be96e
push dword [ebx + 0x3778]
mov esi, dword [ebx + 0x94]
xor ecx, ecx
push dword [ebx + 0x38]
push edi
mov edi, dword [ebp + 0x50]
imul eax, edi, 0x32
cmp esi, eax
mov eax, esi
sete cl
imul eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x1c]
push ecx
cdq
idiv edi
push eax
call fcn.101bd2a0
imul eax, edi
add esp, 0x18
cdq
idiv esi
mov esi, edi
mov dword [ebx + 0x44], eax
cmp dword [ebp - 0x10], 0
je 0x101bea8b
mov edi, dword [ebx + 0x94]
mov eax, 0x51eb851f
mov ecx, dword [ebx + 0x74]
imul edi
mov eax, dword [ebx + 0xb0]
sub eax, dword [ebx + 0x78]
sar edx, 7
mov esi, edx
mov dword [ebp + 0x30], 0
shr esi, 0x1f
add esi, edx
mov edx, dword [ebp + 0x48]
sub eax, esi
add edx, 0x37d0
imul eax, ecx
push edi
lea ebx, [eax*4]
mov eax, dword [ebp - 0x14]
add edx, ebx
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.101bdd70
mov esi, dword [ebp + 0x48]
push ebx
add esi, 0x37d0
push 0
push esi
call fcn.1011e7c0
mov ebx, dword [ebp + 0x48]
add esp, 0x30
mov edi, dword [ebp + 4]
xor ecx, ecx
mov eax, dword [ebx + 0x74]
mov edx, dword [ebx + 0xb0]
imul eax, edx
test eax, eax
jle 0x101bea62
movss xmm3, dword [0x1020ce50]
movss xmm4, dword [0x10204110]
movss xmm5, dword [0x102093f0]
nop word [eax + eax]
movss xmm0, dword [esi]
lea esi, [esi + 4]
mulss xmm0, xmm3
movaps xmm1, xmm4
movaps xmm2, xmm5
maxss xmm1, xmm0
minss xmm2, xmm1
cvtss2si eax, xmm2
mov word [edi + ecx*2], ax
inc ecx
mov eax, dword [ebx + 0x74]
mov edx, dword [ebx + 0xb0]
imul eax, edx
cmp ecx, eax
jl 0x101bea30
push dword [ebp + 8]
lea eax, [ebp + 0x30]
push dword [ebp - 0x10]
push eax
push 0
push edx
push edi
lea eax, [ebx + 8]
push eax
push dword [ebp]
call fcn.101d2b50
mov esi, dword [ebp + 0x50]
add esp, 0x20
mov dword [ebx + 0x4c], 0
jmp 0x101bea8e
mov edi, dword [ebp + 4]
mov ecx, dword [ebx + 0x74]
xor edx, edx
mov eax, ecx
imul eax, esi
test eax, eax
jle 0x101beae3
nop dword [eax]
imul ecx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
movss xmm1, dword [0x10204110]
movss xmm2, dword [0x102093f0]
add ecx, edx
movss xmm0, dword [eax + ecx*4]
mulss xmm0, dword [0x1020ce50]
maxss xmm1, xmm0
minss xmm2, xmm1
cvtss2si eax, xmm2
mov word [edi + edx*2], ax
mov eax, esi
mov ecx, dword [ebx + 0x74]
inc edx
imul eax, ecx
cmp edx, eax
jl 0x101beaa0
push dword [ebp + 8]
lea eax, [ebp - 0x28]
push 0
push eax
lea eax, [ebp - 0x58]
push eax
push esi
push edi
lea eax, [ebx + 8]
push eax
push dword [ebp]
call fcn.101d2b50
mov edi, eax
add esp, 0x20
test edi, edi
jne 0x101bf597
cmp dword [ebx + 0x3798], 0x3e8
mov ecx, dword [ebx + 0x54]
jne 0x101beb50
cmp ecx, 0x1f40
jne 0x101beb2c
mov ecx, 0x44d
mov dword [ebp + 0x1c], ecx
jmp 0x101beb72
cmp ecx, 0x2ee0
jne 0x101beb3e
mov ecx, 0x44e
mov dword [ebp + 0x1c], ecx
jmp 0x101beb72
cmp ecx, 0x3e80
jne 0x101beb6f
mov ecx, 0x44f
mov dword [ebp + 0x1c], ecx
jmp 0x101beb72
cmp ecx, 0x3e80
je 0x101beb6f
push 0x80e
push str.F:_vcpkg_2024.05.24_buildtreesopus_src_v1.5.1_cfcae413d5.clean_srcopus_encoder.c
push str.assertion_failed:_st__silk_mode.internalSampleRate__16000
call fcn.101b3ef0
add esp, 0xc
mov ecx, dword [ebp + 0x1c]
cmp dword [ebx + 0x64], 0
je 0x101beb88
cmp dword [ebx + 0x46dc], 0
jne 0x101beb88
mov eax, 1
jmp 0x101beb8a
xor eax, eax
cmp dword [ebp - 0x28], 0
mov dword [ebx + 0x4c], eax
jne 0x101bebcb
push dword [ebx + 0x3778]
push ecx
mov eax, dword [ebx + 0x94]
cdq
idiv esi
mov dword [ebx + 0x46e0], 0
push eax
push dword [ebx + 0x3798]
call fcn.101bdfb0
mov ecx, dword [ebp + 0x14]
add esp, 0x10
mov byte [ecx], al
mov eax, 1
jmp 0x101bf5c6
test eax, eax
je 0x101bec09
push dword [ebx + 0x3778]
push dword [ebp - 0xc]
push dword [ebx + 0xa4]
push dword [ebp + 0x58]
call fcn.101bd210
mov ecx, eax
mov dword [ebp + 0xc], 0
xor eax, eax
mov dword [ebp + 0x20], ecx
add esp, 0x10
mov dword [ebx + 0x37b0], 1
test ecx, ecx
setne al
mov dword [ebp + 0x24], eax
mov ecx, dword [ebp + 0x1c]
mov eax, 0x15
add ecx, 0xfffffbb3
cmp ecx, 4
ja case.0x101bec1c.1105
jmp dword [ecx*4 + 0x101bf5dc]
mov eax, 0xd
jmp case.0x101bec1c.1105
mov eax, 0x11
jmp case.0x101bec1c.1105
mov eax, 0x13
mov esi, dword [ebp + 0x38]
push eax
push 0x271c
push esi
call fcn.101c6bb0
push dword [ebx + 0x3778]
push 0x2718
push esi
call fcn.101c6bb0
push 0xffffffffffffffff
push 0xfa2
push esi
call fcn.101c6bb0
add esp, 0x24
cmp dword [ebx + 0x3798], 0x3e8
je 0x101bec96
cmp dword [ebx + 0x50], 0
movss xmm0, dword [0x1020f840]
je 0x101bec83
xorps xmm0, xmm0
cvttss2si eax, xmm0
push eax
push 0x2712
push esi
call fcn.101c6bb0
add esp, 0xc
mov ecx, dword [ebx + 0x74]
mov eax, 0x51eb851f
imul ecx, dword [ebx + 0x94]
imul ecx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
shl esi, 2
mov eax, esi
call fcn.1011d130
mov ecx, dword [ebx + 0x3798]
mov dword [ebp], esp
cmp ecx, 0x3e8
je 0x101bed14
mov eax, dword [ebx + 0x379c]
cmp ecx, eax
je 0x101bed14
test eax, eax
jle 0x101bed14
mov ecx, dword [ebx + 0xb0]
mov eax, 0x51eb851f
imul dword [ebx + 0x94]
push esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, dword [ebp + 0x2c]
imul ecx, dword [ebx + 0x74]
add ecx, 0xdf4
lea eax, [ebx + ecx*4]
push eax
push dword [ebp]
call fcn.1011e240
add esp, 0xc
mov edx, dword [ebx + 0xb0]
mov eax, edx
sub eax, dword [ebp + 0x2c]
sub eax, dword [ebp + 0x50]
mov ecx, dword [ebx + 0x74]
mov esi, dword [ebp + 0x50]
imul eax, ecx
test eax, eax
jle 0x101bed7e
imul ecx, esi
shl eax, 2
push eax
add ecx, 0xdf4
lea eax, [ebx + ecx*4]
push eax
lea eax, [ebx + 0x37d0]
push eax
call fcn.1011e240
mov edx, dword [ebp + 0x2c]
lea eax, [edx + esi]
imul eax, dword [ebx + 0x74]
shl eax, 2
push eax
mov eax, dword [ebx + 0xb0]
push dword [ebp + 0x28]
sub eax, edx
sub eax, esi
imul eax, dword [ebx + 0x74]
add eax, 0xdf4
lea eax, [ebx + eax*4]
push eax
call fcn.1011e240
add esp, 0x18
jmp 0x101beda7
mov eax, edx
imul eax, ecx
shl eax, 2
push eax
mov eax, dword [ebp + 0x2c]
sub eax, edx
add eax, esi
imul eax, ecx
mov ecx, dword [ebp + 0x28]
lea eax, [ecx + eax*4]
push eax
lea eax, [ebx + 0x37d0]
push eax
call fcn.1011e240
add esp, 0xc
movss xmm0, dword [ebx + 0x3784]
movss xmm2, dword [ebp + 0x10]
comiss xmm2, xmm0
movss xmm5, dword [ebp + 0x34]
ja 0x101bedc3
comiss xmm2, xmm5
jbe 0x101bedf6
push dword [ebx + 0x94]
mov eax, dword [ebp - 0x14]
push dword [eax + 0x3c]
push dword [ebx + 0x74]
push esi
push dword [eax + 4]
mov eax, dword [ebp + 0x28]
sub esp, 8
movss dword [esp + 4], xmm5
movss dword [esp], xmm0
push eax
push eax
call fcn.101bdd70
movss xmm2, dword [ebp + 0x10]
add esp, 0x24
cmp dword [ebx + 0x3798], 0x3e9
movss dword [ebx + 0x3784], xmm5
jne 0x101bee13
cmp dword [ebx + 0x3778], 1
jne 0x101bee52
mov ecx, dword [ebp + 0x78]
cmp ecx, 0x7d00
jle 0x101bee27
mov dword [ebx + 0x60], 0x4000
jmp 0x101bee52
cmp ecx, 0x3e80
jge 0x101bee38
mov dword [ebx + 0x60], 0
jmp 0x101bee52
lea eax, [ecx - 0x7d00]
add ecx, 0xffffc950
shl eax, 0xb
cdq
idiv ecx
add eax, 0x4000
mov dword [ebx + 0x60], eax
cmp dword [ebx + 0x37b8], 0
jne 0x101bef9c
cmp dword [ebx + 0x74], 2
jne 0x101bef9c
movzx eax, word [ebx + 0x377c]
mov ecx, 0x4000
cmp ax, cx
jl 0x101bee83
cmp dword [ebx + 0x60], ecx
jge 0x101bef9c
mov ecx, dword [ebp - 0x14]
movaps xmm7, xmm2
movss xmm5, dword [0x1020dfd0]
movaps xmm6, xmm2
mov eax, dword [ecx + 0x3c]
mov dword [ebp + 0x30], eax
mov eax, 0xbb80
cdq
idiv dword [ebx + 0x94]
mov dword [ebp + 0x34], eax
mov eax, dword [ecx + 4]
movzx ecx, word [ebx + 0x377c]
cdq
idiv dword [ebp + 0x34]
movsx ecx, cx
mov edx, eax
movd xmm0, ecx
xor ecx, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102b00f0]
subss xmm7, xmm0
movd xmm0, dword [ebx + 0x60]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102b00f0]
subss xmm6, xmm0
test edx, edx
jle 0x101bef57
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x30]
shl eax, 2
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x1c], edx
nop dword [eax + eax]
movss xmm1, dword [ecx]
movss xmm0, dword [ebp + 0x10]
movss xmm3, dword [eax]
movss xmm4, dword [eax + 4]
mulss xmm1, xmm1
add ecx, dword [ebp - 4]
subss xmm0, xmm1
movaps xmm2, xmm1
mulss xmm2, xmm6
mulss xmm0, xmm7
addss xmm2, xmm0
movaps xmm0, xmm3
subss xmm0, xmm4
mulss xmm0, xmm5
mulss xmm2, xmm0
subss xmm3, xmm2
addss xmm4, xmm2
movss dword [eax], xmm3
movss dword [eax + 4], xmm4
add eax, 8
sub edx, 1
jne 0x101bef00
mov ecx, dword [ebp - 0x1c]
cmp ecx, esi
jge 0x101bef91
mov eax, dword [ebp + 0x28]
sub esi, ecx
lea eax, [eax + ecx*8]
movss xmm2, dword [eax]
movaps xmm0, xmm2
subss xmm0, dword [eax + 4]
mulss xmm0, xmm5
mulss xmm0, xmm6
subss xmm2, xmm0
addss xmm0, dword [eax + 4]
movss dword [eax], xmm2
movss dword [eax + 4], xmm0
add eax, 8
sub esi, 1
jne 0x101bef63
mov ax, word [ebx + 0x60]
mov word [ebx + 0x377c], ax
mov edx, dword [ebx + 0x3798]
cmp edx, 0x3ea
je 0x101bf086
bsr eax, dword [ebp - 0x3c]
xor ecx, ecx
mov esi, 0x14
cmp edx, 0x3e9
cmove ecx, esi
sub ecx, eax
mov eax, dword [ebp - 0x44]
add eax, 0x10
add ecx, eax
mov eax, dword [ebp + 0x58]
lea eax, [eax*8 - 8]
cmp ecx, eax
jg 0x101bf086
mov esi, dword [ebp + 0x24]
cmp edx, 0x3e9
jne 0x101beffe
push 0xc
lea eax, [ebp - 0x58]
push esi
push eax
call fcn.101d2410
mov edx, dword [ebx + 0x3798]
add esp, 0xc
test esi, esi
je 0x101bf07d
push 1
push dword [ebp + 0xc]
lea eax, [ebp - 0x58]
push eax
call fcn.101d2410
bsr eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov edx, dword [ebx + 0x3798]
sub ecx, eax
mov eax, dword [ebp + 0x58]
cmp edx, 0x3e9
jne 0x101bf032
add ecx, 0x11
jmp 0x101bf035
add ecx, 6
sar ecx, 3
sub eax, ecx
mov ecx, dword [ebp + 0x20]
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 + 0x20], ecx
cmp edx, 0x3e9
jne 0x101bf080
lea eax, [ecx - 2]
push 0x100
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.101d2950
mov edx, dword [ebx + 0x3798]
add esp, 0xc
mov ecx, dword [ebp + 0x20]
test esi, esi
jne 0x101bf09c
jmp 0x101bf08d
mov dword [ebp + 0x24], 0
xor ecx, ecx
mov dword [ebx + 0x37b0], 0
mov dword [ebp + 0x20], ecx
xor esi, esi
mov eax, 0x11
cmp edx, 0x3ea
cmove eax, esi
mov dword [ebp + 0x30], eax
cmp edx, 0x3e8
jne 0x101bf0d6
bsr eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x44]
sub edi, eax
lea eax, [ebp - 0x58]
add edi, 6
push eax
sar edi, 3
call fcn.101d2580
add esp, 4
mov esi, edi
jmp 0x101bf0e9
mov esi, dword [ebp + 0x58]
lea eax, [ebp - 0x58]
sub esi, ecx
dec esi
push esi
push eax
call fcn.101d2900
add esp, 8
cmp dword [ebp + 0x24], 0
jne 0x101bf0fb
cmp dword [ebx + 0x3798], 0x3e8
je 0x101bf10e
push dword [ebp + 0x64]
push 0x2726
push dword [ebp + 0x38]
call fcn.101c6bb0
add esp, 0xc
cmp dword [ebx + 0x3798], 0x3e9
jne 0x101bf13a
mov eax, dword [ebx + 0x68]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x6c]
mov dword [ebp - 4], eax
lea eax, [ebp - 8]
push eax
push 0x272c
push dword [ebp + 0x38]
call fcn.101c6bb0
add esp, 0xc
cmp dword [ebp + 0x24], 0
je 0x101bf1d3
cmp dword [ebp + 0xc], 0
je 0x101bf1d3
push 0
push 0x271a
push dword [ebp + 0x38]
call fcn.101c6bb0
push 0
push 0xfa6
push dword [ebp + 0x38]
call fcn.101c6bb0
push 0xffffffffffffffff
push 0xfa2
push dword [ebp + 0x38]
call fcn.101c6bb0
mov eax, dword [ebp + 0x54]
push 0
push dword [ebp + 0x20]
add eax, esi
push eax
mov eax, 0x51eb851f
imul dword [ebx + 0x94]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push dword [ebp + 0x28]
push dword [ebp + 0x38]
call fcn.101c2360
add esp, 0x3c
test eax, eax
js 0x101bf597
lea eax, [ebp - 0x18]
push eax
push 0xfbf
push dword [ebp + 0x38]
call fcn.101c6bb0
push 0xfbc
push dword [ebp + 0x38]
call fcn.101c6bb0
add esp, 0x14
push dword [ebp + 0x30]
push 0x271a
push dword [ebp + 0x38]
call fcn.101c6bb0
add esp, 0xc
cmp dword [ebx + 0x3798], 0x3e8
je 0x101bf355
push dword [ebx + 0x98]
push 0xfa6
push dword [ebp + 0x38]
call fcn.101c6bb0
add esp, 0xc
cmp dword [ebx + 0x98], 0
je 0x101bf284
cmp dword [ebx + 0x3798], 0x3e9
jne 0x101bf24c
mov eax, dword [ebx + 0xa4]
sub eax, dword [ebx + 0x24]
push eax
push 0xfa2
push dword [ebp + 0x38]
call fcn.101c6bb0
push 0
push 0xfb4
push dword [ebp + 0x38]
call fcn.101c6bb0
add esp, 0x18
jmp 0x101bf284
push 1
push 0xfa6
push dword [ebp + 0x38]
call fcn.101c6bb0
push dword [ebx + 0x9c]
push 0xfb4
push dword [ebp + 0x38]
call fcn.101c6bb0
push dword [ebx + 0xa4]
push 0xfa2
push dword [ebp + 0x38]
call fcn.101c6bb0
add esp, 0x24
mov eax, dword [ebx + 0x379c]
cmp dword [ebx + 0x3798], eax
je 0x101bf2de
test eax, eax
jle 0x101bf2de
push 0xfbc
push dword [ebp + 0x38]
call fcn.101c6bb0
push 0
push 2
lea eax, [ebp + 0x2c]
push eax
mov eax, 0x51eb851f
imul dword [ebx + 0x94]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push dword [ebp]
push dword [ebp + 0x38]
call fcn.101c2360
push 0
push 0x2712
push dword [ebp + 0x38]
call fcn.101c6bb0
add esp, 0x2c
bsr eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
lea eax, [esi*8]
dec ecx
cmp ecx, eax
jg 0x101bf355
lea eax, [ebp - 0x58]
push eax
push esi
push 0
push dword [ebp + 0x50]
push dword [ebp + 0x28]
push dword [ebp + 0x38]
call fcn.101c2360
mov edi, eax
add esp, 0x18
test edi, edi
js 0x101bf597
cmp dword [ebp + 0x24], 0
je 0x101bf46a
cmp dword [ebp + 0xc], 0
je 0x101bf369
cmp dword [ebx + 0x3798], 0x3e9
jne 0x101bf46a
cmp esi, edi
je 0x101bf46a
mov ecx, dword [ebp + 0x54]
push dword [ebp + 0x20]
lea eax, [esi + ecx]
push eax
lea eax, [edi + ecx]
push eax
call fcn.1011e240
jmp 0x101bf467
cmp dword [ebp + 0x24], 0
je 0x101bf46a
cmp dword [ebp + 0xc], 0
jne 0x101bf46a
mov ecx, dword [ebx + 0x94]
mov eax, 0x51eb851f
imul ecx
push 0xfbc
push dword [ebp + 0x38]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp + 0x34], eax
mov eax, 0x51eb851f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp + 0x30], eax
call fcn.101c6bb0
push 0
push 0x271a
push dword [ebp + 0x38]
call fcn.101c6bb0
push 0
push 0x2712
push dword [ebp + 0x38]
call fcn.101c6bb0
push 0
push 0xfa6
push dword [ebp + 0x38]
call fcn.101c6bb0
push 0xffffffffffffffff
push 0xfa2
push dword [ebp + 0x38]
call fcn.101c6bb0
add esp, 0x38
cmp dword [ebx + 0x3798], 0x3e9
jne 0x101bf3fe
lea eax, [ebp - 0x58]
mov esi, edi
push edi
push eax
call fcn.101d2900
add esp, 8
mov ecx, dword [ebp + 0x30]
lea eax, [ebp + 0x2c]
push 0
push 2
push eax
mov eax, dword [ebp + 0x50]
sub eax, ecx
sub eax, dword [ebp + 0x34]
imul eax, dword [ebx + 0x74]
push ecx
mov ecx, dword [ebp + 0x28]
lea eax, [ecx + eax*4]
push eax
push dword [ebp + 0x38]
call fcn.101c2360
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x34]
add eax, esi
mov esi, dword [ebp + 0x38]
push 0
push dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x50]
sub eax, ecx
imul eax, dword [ebx + 0x74]
push ecx
mov ecx, dword [ebp + 0x28]
lea eax, [ecx + eax*4]
push eax
push esi
call fcn.101c2360
add esp, 0x30
test eax, eax
js 0x101bf597
lea eax, [ebp - 0x18]
push eax
push 0xfbf
push esi
call fcn.101c6bb0
add esp, 0xc
mov eax, dword [ebx + 0x94]
mov esi, dword [ebp + 0x50]
cdq
idiv esi
push dword [ebx + 0x3778]
push dword [ebp + 0x1c]
push eax
push dword [ebx + 0x3798]
call fcn.101bdfb0
mov ecx, dword [ebp + 0x14]
add esp, 0x10
mov byte [ecx], al
mov eax, dword [ebp - 0x3c]
xor eax, dword [ebp - 0x18]
cmp dword [ebp + 0x7c], 0
mov dword [ebx + 0x46e0], eax
mov eax, 0x3ea
jne 0x101bf4b0
mov eax, dword [ebx + 0x3798]
mov dword [ebx + 0x379c], eax
cmp dword [ebx + 0xbc], 0
mov eax, dword [ebx + 0x3778]
mov dword [ebp + 0x30], eax
mov dword [ebx + 0x37a0], eax
mov dword [ebx + 0x37a4], esi
mov dword [ebx + 0x37b4], 0
je 0x101bf530
mov eax, dword [ebp + 0x64]
cmp dword [eax], 0
jne 0x101bf4ec
cmp dword [ebp + 0x68], 0
je 0x101bf530
cmp dword [ebp + 8], 0
jne 0x101bf530
imul eax, esi, 0x7d0
cdq
idiv dword [ebx + 0x94]
add eax, dword [ebx + 0x46d4]
mov dword [ebx + 0x46d4], eax
cmp eax, 0x190
jle 0x101bf53a
cmp eax, 0x4b0
jg 0x101bf524
push dword [ebp + 0x30]
push dword [ebp + 0x1c]
jmp 0x101beb9a
mov dword [ebx + 0x46d4], 0x190
jmp 0x101bf53a
mov dword [ebx + 0x46d4], 0
bsr eax, dword [ebp - 0x3c]
mov esi, dword [ebp + 0x58]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp + 0x24]
sub ecx, eax
dec ecx
lea eax, [esi*8 - 8]
cmp ecx, eax
jle 0x101bf59e
cmp esi, 2
jge 0x101bf561
mov eax, 0xfffffffe
jmp 0x101bf5c6
mov eax, dword [ebp + 0x54]
mov edi, 1
mov byte [eax], 0
mov dword [ebx + 0x46e0], 0
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x20]
inc eax
add eax, edi
cmp dword [ebx + 0x98], 0
jne 0x101bf5c6
push esi
push eax
push ecx
call fcn.101c17b0
add esp, 0xc
test eax, eax
je 0x101bf5c4
mov eax, 0xfffffffd
jmp 0x101bf5c6
cmp dword [ebx + 0x3798], 0x3e8
jne 0x101bf576
test edx, edx
jne 0x101bf576
cmp edi, 2
jle 0x101bf576
mov ecx, dword [ebp + 0x14]
cmp byte [edi + ecx], 0
jne 0x101bf579
dec edi
cmp edi, 2
jg 0x101bf5b6
jmp 0x101bf579
mov eax, esi
lea esp, [ebp - 0x70]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x3c]
xor ecx, ebp
call fcn.1011bad5
lea esp, [ebp + 0x40]
pop ebp
ret