Function at 0x101d67a0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4188
call fcn.1010d5c0
mov eax, dword [0x102e5cc0]
xor eax, esp
mov dword [esp + 0x4184], eax
mov eax, dword [esp + 0x4190]
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4194]
push ebx
mov dword [esp + 0x24], eax
lea ebx, [esp + 0x3700]
xor eax, eax
mov dword [esp + 0x3c], 0
push ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], eax
xor al, al
push esi
mov esi, dword [esp + 0x4198]
mov byte [esp + 0x12], al
push edi
mov dword [esp + 0x5c], esi
mov al, byte [esi + 0x120c]
lea edi, [esi + 0x1c0c]
push dword [esi + 0x11e8]
inc dword [esi + 0x120c]
and al, 3
mov byte [esi + 0x12a2], al
mov eax, dword [esi + 0x11f0]
shl eax, 2
add edi, eax
add ebx, eax
lea eax, [esi + 0x13ea]
mov dword [esp + 0x3c], edi
push eax
lea eax, [esi + 0x10]
mov dword [esp + 0x3c], ebx
push eax
movups xmmword [esp + 0x36e8], xmm0
call fcn.101da5d0
mov edx, dword [esi + 0x11e0]
add esp, 0xc
lea eax, [edx + edx*4]
lea ebp, [edi + eax*4]
mov eax, dword [esi + 0x11e8]
lea ecx, [eax - 1]
test ecx, ecx
js 0x101d691e
cmp eax, 4
jl 0x101d68ed
lea ebx, [ecx + 1]
shr ebx, 2
lea edi, [ecx*4 - 8]
mov eax, ebx
lea edx, [esi + 0x13e8]
add edi, ebp
lea edx, [edx + ecx*2]
neg eax
lea ecx, [ecx + eax*4]
movsx eax, word [edx + 2]
lea edx, [edx - 8]
lea edi, [edi - 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x18], xmm0
movsx eax, word [edx + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x14], xmm0
movsx eax, word [edx + 6]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x10], xmm0
movsx eax, word [edx + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0xc], xmm0
sub ebx, 1
jne 0x101d6894
mov edx, dword [esi + 0x11e0]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
test ecx, ecx
js 0x101d691e
lea edx, [esi + 0x13ea]
lea edx, [edx + ecx*2]
nop word [eax + eax]
movsx eax, word [edx]
lea edx, [edx - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp + ecx*4], xmm0
sub ecx, 1
jns 0x101d6900
mov edx, dword [esi + 0x11e0]
movss xmm1, dword [0x102cd958]
lea eax, [edx + edx*4]
movss xmm0, dword [edi + eax*4]
addss xmm0, xmm1
movss dword [edi + eax*4], xmm0
mov eax, dword [esi + 0x11e0]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x11e8]
sar eax, 3
add ecx, eax
movss xmm0, dword [edi + ecx*4]
addss xmm0, xmm1
movss dword [edi + ecx*4], xmm0
mov eax, dword [esi + 0x11e0]
mov ecx, dword [esi + 0x11e8]
sar ecx, 3
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
movss xmm0, dword [eax + ecx*8]
subss xmm0, xmm1
movss dword [eax + ecx*8], xmm0
mov eax, dword [esi + 0x11e8]
sar eax, 3
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x11e0]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
movss xmm0, dword [eax + ecx*4]
subss xmm0, xmm1
movss dword [eax + ecx*4], xmm0
mov ecx, dword [esi + 0x11e8]
mov eax, dword [esi + 0x11e0]
sar ecx, 3
shl ecx, 4
add ecx, edi
lea eax, [eax + eax*4]
movss xmm0, dword [ecx + eax*4]
addss xmm0, xmm1
movss dword [ecx + eax*4], xmm0
mov eax, dword [esi + 0x11e8]
sar eax, 3
add eax, dword [esi + 0x11e0]
lea eax, [eax + eax*4]
movss xmm0, dword [edi + eax*4]
addss xmm0, xmm1
movss dword [edi + eax*4], xmm0
mov eax, dword [esi + 0x11e8]
sar eax, 3
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x11e0]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
movss xmm0, dword [eax + ecx*8]
subss xmm0, xmm1
movss dword [eax + ecx*8], xmm0
mov eax, dword [esi + 0x11e8]
sar eax, 3
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi + 0x11e0]
lea eax, [eax + eax*4]
lea eax, [edi + eax*4]
movss xmm0, dword [eax + ecx*4]
subss xmm0, xmm1
movss dword [eax + ecx*4], xmm0
cmp dword [esi + 0x1248], 0
jne 0x101d738a
push dword [esi + 0x13e4]
lea eax, [esp + 0x3710]
push edi
push eax
lea eax, [esp + 0x22dc]
push eax
push esi
call fcn.101db730
push edi
push ebx
lea eax, [esp + 0x22ec]
push eax
push esi
call fcn.101da670
mov ebp, dword [esp + 0x41cc]
lea eax, [esp + 0x22f4]
push ebp
push edi
push ebx
push eax
push esi
call fcn.101dba30
push ebp
lea eax, [esp + 0x230c]
push eax
push esi
call fcn.101dbd50
mov ecx, dword [esi + 0x1674]
add esp, 0x44
lea edi, [ecx*8 + 0x5f5]
add edi, ecx
cmp dword [esi + 0x17cc], 0
lea edi, [esi + edi*4]
je 0x101d6c0f
cmp dword [esi + 0x11b4], 0x4d
jle 0x101d6c0f
push 0x1100
lea eax, [esi + 0x94]
mov dword [esi + ecx*4 + 0x1274], 1
push eax
lea eax, [esp + 0x25c4]
push eax
call fcn.1010efe0
movups xmm0, xmmword [esi + 0x1280]
movups xmmword [edi], xmm0
movups xmm0, xmmword [esi + 0x1290]
movups xmmword [edi + 0x10], xmm0
mov eax, dword [esi + 0x12a0]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x11e4]
shl eax, 2
push eax
lea eax, [esp + 0x22e0]
push eax
lea eax, [esp + 0x36d0]
push eax
call fcn.1010efe0
mov eax, dword [esi + 0x1674]
add esp, 0x18
test eax, eax
je 0x101d6b41
cmp dword [esi + eax*4 + 0x1270], 0
jne 0x101d6b64
mov al, byte [esi + 0x1c00]
mov edx, 0x3f
mov cl, byte [esi + 0x17d0]
mov byte [esi + 0x11bc], al
add cl, byte [edi]
cmp cl, dl
movzx eax, cl
cmovl edx, eax
mov byte [edi], dl
push dword [esi + 0x11e4]
xor eax, eax
cmp ebp, 2
sete al
push eax
lea eax, [esi + 0x11bc]
push eax
lea eax, [esp + 0x36d8]
push edi
push eax
call fcn.101d9d50
mov ecx, dword [esi + 0x11e4]
add esp, 0x14
xor eax, eax
test ecx, ecx
jle 0x101d6bbe
movss xmm1, dword [0x102ca48c]
nop
movd xmm0, dword [esp + eax*4 + 0x36cc]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + eax*4 + 0x22d0], xmm0
inc eax
cmp eax, ecx
jl 0x101d6ba0
mov eax, dword [esi + 0x1674]
push dword [esp + 0x38]
lea eax, [eax + eax*4]
shl eax, 6
add eax, 0x1840
add eax, esi
push eax
lea eax, [esp + 0x25c4]
push eax
push edi
lea eax, [esp + 0x22e0]
push eax
push esi
call fcn.101dc260
mov eax, dword [esi + 0x11e4]
shl eax, 2
push eax
lea eax, [esp + 0x36d8]
push eax
lea eax, [esp + 0x22f0]
push eax
call fcn.1010efe0
add esp, 0x24
push dword [esi + 0x11e4]
lea eax, [esi + 0x1280]
mov dword [esp + 0x1c], 0
mov edi, 0x100
mov dword [esp + 0x44], 0
push eax
mov dword [esp + 0x18], edi
call fcn.101d9d20
mov ebp, dword [esp + 0x38]
mov ebx, eax
lea eax, [esi + 0x94]
mov dword [esp + 0x34], 0xffffffff
push 0x1100
push eax
movups xmm0, xmmword [ebp]
lea eax, [esp + 0xe0]
mov dword [esp + 0x4c], 0xffffffff
push eax
movups xmmword [esp + 0x84], xmm0
movups xmm0, xmmword [ebp + 0x10]
movups xmmword [esp + 0x94], xmm0
movups xmm0, xmmword [ebp + 0x20]
movups xmmword [esp + 0xa4], xmm0
call fcn.1010efe0
movups xmm0, xmmword [esp + 0xc4]
mov al, byte [esi + 0x12a2]
add esp, 0x14
movups xmm1, xmmword [esp + 0xc0]
mov byte [esp + 0x17], al
movzx eax, word [esi + 0x168c]
movups xmmword [esp + 0x36bc], xmm0
mov dword [esp + 0x4c], eax
movups xmm0, xmmword [esp + 0xa0]
mov eax, dword [esi + 0x1688]
mov dword [esp + 0x50], eax
xor eax, eax
movups xmmword [esp + 0x36cc], xmm1
movups xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
cmp ebx, edx
jne 0x101d6cf7
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
jmp 0x101d6f30
cmp ebx, dword [esp + 0x3c]
jne 0x101d6d0a
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x1c], ecx
jmp 0x101d6f30
test eax, eax
jle 0x101d6d6a
movups xmm0, xmmword [esp + 0x70]
push 0x1100
lea eax, [esp + 0xd4]
movups xmmword [ebp], xmm0
push eax
movups xmm0, xmmword [esp + 0x88]
lea eax, [esi + 0x94]
push eax
movups xmmword [ebp + 0x10], xmm0
movups xmm0, xmmword [esp + 0x9c]
movups xmmword [ebp + 0x20], xmm0
call fcn.1010efe0
mov al, byte [esp + 0x23]
add esp, 0xc
mov byte [esi + 0x12a2], al
mov eax, dword [esp + 0x4c]
mov word [esi + 0x168c], ax
mov eax, dword [esp + 0x50]
mov dword [esi + 0x1688], eax
push dword [esp + 0x38]
lea edi, [esi + 0x12a4]
push edi
lea eax, [esi + 0x94]
push eax
lea eax, [esi + 0x1280]
push eax
lea eax, [esp + 0x22e0]
push eax
push esi
call fcn.101dc260
add esp, 0x18
cmp dword [esp + 0x28], 6
jne 0x101d6dc3
cmp dword [esp + 0x18], 0
jne 0x101d6dc3
movups xmm0, xmmword [ebp]
movups xmmword [esp + 0x60], xmm0
movups xmm0, xmmword [ebp + 0x10]
movups xmmword [esp + 0x36bc], xmm0
movups xmm0, xmmword [ebp + 0x20]
movups xmmword [esp + 0x36cc], xmm0
push dword [esp + 0x41a8]
push 0
push dword [esi + 0x1674]
push ebp
push esi
call fcn.101d61c0
push dword [esi + 0x11e8]
movsx eax, byte [esi + 0x129e]
push edi
push eax
movsx eax, byte [esi + 0x129d]
push eax
push ebp
call fcn.101d5d50
bsr eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
add esp, 0x28
mov edx, dword [esp + 0x41ac]
sub ecx, eax
mov eax, dword [esp + 0x28]
dec ecx
mov dword [esp + 0x1c], ecx
cmp eax, 6
jne 0x101d6f10
cmp dword [esp + 0x18], 0
jne 0x101d6f10
cmp ecx, edx
jle 0x101d6f10
movups xmm0, xmmword [esp + 0x60]
mov cl, byte [esp + 0x25b8]
lea edx, [esi + 0x1280]
xor eax, eax
movups xmmword [ebp], xmm0
movups xmm0, xmmword [esp + 0x36bc]
movups xmmword [ebp + 0x10], xmm0
movups xmm0, xmmword [esp + 0x36cc]
movups xmmword [ebp + 0x20], xmm0
mov byte [esi + 0x1c00], cl
cmp dword [esi + 0x11e4], eax
jle 0x101d6e7d
nop dword [eax]
mov byte [edx + eax], 4
inc eax
cmp eax, dword [esi + 0x11e4]
jl 0x101d6e70
mov edi, dword [esp + 0x41a8]
cmp edi, 2
je 0x101d6e8b
mov byte [edx], cl
mov eax, dword [esp + 0x4c]
mov word [esi + 0x168c], ax
mov eax, dword [esp + 0x50]
mov dword [esi + 0x1688], eax
xor eax, eax
cmp dword [esi + 0x11e8], eax
jle 0x101d6ec1
nop word [eax + eax]
mov byte [esi + eax + 0x12a4], 0
inc eax
cmp eax, dword [esi + 0x11e8]
jl 0x101d6eb0
push edi
push 0
push dword [esi + 0x1674]
push ebp
push esi
call fcn.101d61c0
push dword [esi + 0x11e8]
lea eax, [esi + 0x12a4]
push eax
movsx eax, byte [esi + 0x129e]
push eax
movsx eax, byte [esi + 0x129d]
push eax
push ebp
call fcn.101d5d50
bsr eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
add esp, 0x28
mov edx, dword [esp + 0x41ac]
sub ecx, eax
mov eax, dword [esp + 0x28]
dec ecx
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x41b0], 0
jne 0x101d6f28
test eax, eax
jne 0x101d6f28
cmp ecx, edx
jle 0x101d738e
jmp 0x101d6f48
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
cmp eax, 6
je 0x101d72ec
mov edx, dword [esp + 0x41ac]
cmp ecx, edx
jle 0x101d70b3
cmp dword [esp + 0x18], 0
jne 0x101d6fa1
cmp eax, 2
jl 0x101d6fa1
movss xmm0, dword [esp + 0x2584]
mulss xmm0, dword [0x102c4c8c]
comiss xmm0, dword [0x102c4c8c]
jbe 0x101d6f79
movss dword [esp + 0x2584], xmm0
jmp 0x101d6f84
mov dword [esp + 0x2584], 0x3fc00000
mov edi, dword [esp + 0x10]
mov byte [esi + 0x129e], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0xffffffff
jmp 0x101d6fc7
cmp dword [esp + 0x18], 0
mov edi, dword [esp + 0x10]
movsx eax, di
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], ebx
jne 0x101d7078
mov ecx, dword [esi + 0x11e4]
xor ebp, ebp
test ecx, ecx
jle 0x101d7070
mov edi, dword [esi + 0x11ec]
xor edx, edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x54], edi
xor ebx, ebx
cmp edx, edi
jge 0x101d7017
lea ecx, [esi + 0x12a4]
add ecx, edx
sub edi, edx
movsx eax, byte [ecx]
lea ecx, [ecx + 1]
cdq
xor eax, edx
sub eax, edx
add ebx, eax
sub edi, 1
jne 0x101d6ff7
mov ecx, dword [esi + 0x11e4]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x54]
cmp dword [esp + 0x28], 0
je 0x101d703e
lea eax, [esp + 0x36dc]
lea eax, [eax + ebp*4]
cmp ebx, dword [esp + ebp*4 + 0x36fc]
jge 0x101d7036
cmp dword [eax], 0
je 0x101d703e
mov dword [eax], 1
jmp 0x101d7051
mov eax, dword [esp + 0x10]
mov dword [esp + ebp*4 + 0x36fc], ebx
mov word [esp + ebp*2 + 0x418c], ax
mov eax, dword [esi + 0x11ec]
inc ebp
add edi, eax
add edx, eax
mov dword [esp + 0x54], edi
mov dword [esp + 0x34], edx
cmp ebp, ecx
jl 0x101d6fe7
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
test dword [esp + 0x40], ebx
jne 0x101d719e
mov eax, dword [esp + 0x41ac]
cmp ecx, eax
jle 0x101d7169
mov eax, 0x4000
cmp di, ax
jge 0x101d715c
lea eax, [edi + edi]
jmp 0x101d71ea
lea eax, [edx - 5]
cmp ecx, eax
jge 0x101d738e
mov edx, ecx
movsx eax, di
mov dword [esp + 0x18], 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
cmp ebx, dword [esp + 0x2c]
je 0x101d7080
cmp dword [ebp + 0x18], 0x4fb
movups xmm0, xmmword [ebp]
mov dword [esp + 0x2c], ebx
movups xmmword [esp + 0x60], xmm0
movups xmm0, xmmword [ebp + 0x10]
movups xmmword [esp + 0x36bc], xmm0
movups xmm0, xmmword [ebp + 0x20]
movups xmmword [esp + 0x36cc], xmm0
jbe 0x101d711e
push 0x119
push str.C:_vcpkg_2024.03.25_buildtreesopus_src_v1.4_cac4cc030e.clean_silk_floatencode_frame_FLP.c
push str.assertion_failed:_psRangeEnc__offs___1275
call fcn.101ace10
add esp, 0xc
push dword [ebp + 0x18]
lea eax, [esp + 0x25c0]
push dword [ebp]
push eax
call fcn.1010efe0
push 0x1100
lea eax, [esi + 0x94]
push eax
lea eax, [esp + 0x11e4]
push eax
call fcn.1010efe0
mov al, byte [esi + 0x1c00]
add esp, 0x18
mov byte [esp + 0x16], al
jmp 0x101d7074
mov dword [esp + 0x10], 0x7fff
jmp 0x101d71f1
sub ecx, eax
shl ecx, 7
mov eax, ecx
cdq
idiv dword [esi + 0x11e8]
add eax, 0x800
push eax
call fcn.101cfaf0
movzx edx, ax
add esp, 4
movsx ecx, di
sar eax, 0x10
imul edx, ecx
imul eax, edi
sar edx, 0x10
add edx, eax
movzx eax, dx
jmp 0x101d71ed
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
sub edi, eax
movzx ebx, ax
sub ecx, edx
mov eax, dword [esp + 0x41ac]
sub eax, edx
imul eax, edi
sar edi, 2
cdq
idiv ecx
add eax, ebx
movzx edx, ax
mov eax, dword [esp + 0x24]
movsx ecx, dx
add eax, edi
mov dword [esp + 0x10], edx
cmp ecx, eax
jle 0x101d71da
lea eax, [edi + ebx]
jmp 0x101d71ea
mov edx, dword [esp + 0x48]
mov eax, edx
sub eax, edi
cmp ecx, eax
jge 0x101d71f1
mov eax, edx
sub eax, edi
movzx eax, ax
mov dword [esp + 0x10], eax
mov ebx, dword [esi + 0x11e4]
xor edi, edi
test ebx, ebx
jle 0x101d7263
mov ebp, dword [esp + 0x10]
mov esi, 0xff800000
cmp dword [esp + edi*4 + 0x36dc], 0
je 0x101d721a
movzx eax, word [esp + edi*2 + 0x418c]
jmp 0x101d721d
movzx eax, bp
mov edx, dword [esp + edi*4 + 0x25a8]
cwde
movzx ecx, dx
imul ecx, eax
sar edx, 0x10
imul eax, edx
sar ecx, 0x10
add eax, ecx
cmp eax, 0x7fffff
jle 0x101d7244
mov eax, 0x7fffff
jmp 0x101d724c
cmp eax, 0xff800000
cmovl eax, esi
shl eax, 8
mov dword [esp + edi*4 + 0x36ec], eax
inc edi
cmp edi, ebx
jl 0x101d7206
mov esi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x30]
mov al, byte [esp + 0x25b8]
lea ecx, [esi + 0x1c00]
push dword [esi + 0x11e4]
mov byte [ecx], al
lea ebx, [esi + 0x1280]
xor eax, eax
cmp dword [esp + 0x41ac], 2
sete al
push eax
push ecx
lea eax, [esp + 0x36f8]
push eax
push ebx
call fcn.101d9e00
push dword [esi + 0x11e4]
push ebx
call fcn.101d9d20
mov ecx, dword [esi + 0x11e4]
mov ebx, eax
add esp, 0x1c
xor eax, eax
test ecx, ecx
jle 0x101d72de
movss xmm1, dword [0x102ca48c]
movd xmm0, dword [esp + eax*4 + 0x36ec]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + eax*4 + 0x22d0], xmm0
inc eax
cmp eax, ecx
jl 0x101d72c0
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
inc eax
jmp 0x101d6cde
cmp dword [esp + 0x18], 0
je 0x101d738e
cmp ebx, edx
je 0x101d7308
cmp ecx, dword [esp + 0x41ac]
jle 0x101d738e
movups xmm0, xmmword [esp + 0x60]
movups xmm1, xmmword [esp + 0x36cc]
movups xmmword [ebp], xmm0
movups xmm0, xmmword [esp + 0x36bc]
movups xmmword [ebp + 0x10], xmm0
psrldq xmm0, 8
movd edi, xmm0
movups xmmword [ebp + 0x20], xmm1
cmp edi, 0x4fb
jbe 0x101d7351
push 0xfb
push str.C:_vcpkg_2024.03.25_buildtreesopus_src_v1.4_cac4cc030e.clean_silk_floatencode_frame_FLP.c
push str.assertion_failed:_sRangeEnc_copy2.offs___1275
call fcn.101ace10
add esp, 0xc
push edi
lea eax, [esp + 0x25c0]
push eax
push dword [ebp]
call fcn.1010efe0
push 0x1100
lea eax, [esp + 0x11e0]
push eax
lea eax, [esi + 0x94]
push eax
call fcn.1010efe0
mov al, byte [esp + 0x2e]
add esp, 0x18
mov byte [esi + 0x1c00], al
jmp 0x101d738e
mov ebp, dword [esp + 0x30]
mov eax, dword [esi + 0x11e0]
lea eax, [eax + eax*4]
add eax, dword [esi + 0x11f0]
shl eax, 2
push eax
mov eax, dword [esi + 0x11e8]
add eax, 0x703
lea eax, [esi + eax*4]
push eax
lea eax, [esi + 0x1c0c]
push eax
call fcn.1010efe0
add esp, 0xc
cmp dword [esi + 0x1248], 0
je 0x101d73d4
mov eax, dword [esp + 0x58]
mov dword [eax], 0
jmp 0x101d7412
mov eax, dword [esi + 0x11e4]
mov dword [esi + 0x1238], 0
mov eax, dword [esp + eax*4 + 0x23b0]
mov dword [esi + 0x11c0], eax
mov al, byte [esi + 0x129d]
mov byte [esi + 0x11bd], al
bsr eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
sub ecx, eax
mov eax, dword [esp + 0x58]
add ecx, 6
sar ecx, 3
mov dword [eax], ecx
mov ecx, dword [esp + 0x4194]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1010d06f
add esp, 0x4188
ret