Function at 0x43ead0
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x498
movups xmmword [rsp + 0x460], xmm6
movups xmmword [rsp + 0x470], xmm7
movups xmmword [rsp + 0x480], xmm8
mov rax, qword [rcx + 0x28]
mov rbx, rcx
test rax, rax
je 0x43ebe0
lea rdx, [rax + 6]
cmp rdx, qword [rcx + 0x38]
jbe 0x43eb60
movabs rax, 0xa00000001
xor r12d, r12d
mov qword [rbx + 0x80], rax
movups xmm6, xmmword [rsp + 0x460]
movups xmm7, xmmword [rsp + 0x470]
mov eax, r12d
movups xmm8, xmmword [rsp + 0x480]
add rsp, 0x498
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rax]
mov dword [rsp + 0x6a], ecx
movzx eax, word [rax + 4]
mov qword [rbx + 0x28], rdx
mov word [rsp + 0x6e], ax
mov eax, dword [0x004af120]
cmp dword [rsp + 0x6a], eax
je 0x43eb90
mov dword [rbx + 0x84], 0x22
xor r12d, r12d
jmp 0x43eb2a
movzx eax, word [0x004af124]
cmp word [rsp + 0x6e], ax
jne 0x43eb7f
mov rcx, rbx
xor r12d, r12d
call fcn.00438350
mov r15d, eax
test eax, eax
jne 0x43eb7f
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x43ecb0
cmp rax, qword [rbx + 0x38]
jb 0x43ec10
mov dword [rbx + 0x80], 1
mov dword [rbx + 4], 0
jmp 0x43eb7f
mov r9, qword [rbx + 0x18]
lea rcx, [rsp + 0x6a]
mov r8d, 1
mov edx, 6
call sub.msvcrt.dll_fread
cmp rax, 1
jne 0x43eb16
jmp 0x43eb73
lea rdx, [rax + 1]
mov qword [rbx + 0x28], rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbx + 4], eax
test eax, eax
je 0x43eb7f
cmp eax, 0x10
jle 0x43ec40
mov dword [rbx + 0x84], 5
jmp 0x43eb2a
mov rcx, rbx
call fcn.00438350
mov dword [rbx], eax
test eax, eax
je 0x43eb7f
mov rcx, rbx
call fcn.00438350
mov rcx, rbx
call fcn.00438350
mov rcx, rbx
call fcn.00438350
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x43ed48
cmp rax, qword [rbx + 0x38]
jb 0x43ecd0
movabs rax, 0x100000001
mov dword [rbx + 0x80], 1
mov qword [rbx + 0x90], rax
mov dword [rbx + 0x84], 0x14
jmp 0x43eb2a
mov rcx, qword [rbx + 0x18]
call sub.msvcrt.dll_fgetc
cmp eax, 0xffffffff
jne 0x43ec1b
jmp 0x43ebc3
lea rdx, [rax + 1]
mov qword [rbx + 0x28], rdx
movzx eax, byte [rax]
mov ecx, eax
mov edx, 1
mov r9d, eax
shr al, 4
and ecx, 0xf
mov edi, edx
and r9d, 0xf
movzx r8d, al
shl edi, cl
mov ecx, eax
lea eax, [r9 - 6]
shl edx, cl
mov dword [rbx + 0x90], edi
mov dword [rbx + 0x94], edx
cmp eax, 7
ja 0x43ec98
lea eax, [r8 - 6]
cmp eax, 7
ja 0x43ec98
cmp r9d, r8d
jg 0x43ec98
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x43ef3f
cmp rax, qword [rbx + 0x38]
jb 0x43ed5b
mov dword [rbx + 0x80], 1
jmp 0x43eb7f
mov rcx, qword [rbx + 0x18]
call sub.msvcrt.dll_fgetc
cmp eax, 0xffffffff
jne 0x43ecdb
jmp 0x43ec7d
lea rdx, [rax + 1]
mov qword [rbx + 0x28], rdx
movzx eax, byte [rax]
test al, 1
je 0x43eb7f
mov rcx, rbx
call fcn.00439510
test eax, eax
je 0x43eb2a
mov rcx, rbx
call fcn.00438d70
test eax, eax
je 0x43eb2a
mov rsi, qword [sym.imp.msvcrt.dll__assert]
lea rdi, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
jmp 0x43ee36
mov eax, dword [rbx + 0x6d0]
mov edx, dword [rbx + 0x5c8]
cmp eax, 0xffffffff
je 0x43ee7b
lea ecx, [rax + 1]
movsxd r8, eax
mov dword [rbx + 0x6d0], ecx
movzx ebp, byte [rbx + r8 + 0x5cc]
mov r13d, ebp
cmp ebp, 0xff
je 0x43ede6
mov dword [rbx + 0x6d4], 1
mov dword [rbx + 0x6d8], eax
cmp ecx, edx
jl 0x43edf4
mov dword [rbx + 0x6d0], 0xffffffff
cmp byte [rbx + 0x6cc], 0
jne 0x43ee67
mov byte [rbx + 0x6cc], r13b
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x43ee4c
movsxd rdx, ebp
add rax, rdx
mov qword [rbx + 0x28], rax
cmp rax, qword [rbx + 0x38]
jb 0x43ee27
mov dword [rbx + 0x80], 1
mov byte [rbx + 0x6cc], 0
test ebp, ebp
je 0x43ef56
mov ebp, dword [rbx + 0x6d4]
test ebp, ebp
je 0x43eda1
mov rax, qword [rbx + 0x28]
xor ebp, ebp
jmp 0x43ee08
mov rcx, qword [rbx + 0x18]
call sub.msvcrt.dll_ftell
mov rcx, qword [rbx + 0x18]
xor r8d, r8d
lea edx, [rbp + rax]
call sub.msvcrt.dll_fseek
jmp 0x43ee27
mov r8d, 0x624
mov rdx, rdi
lea rcx, str.f__bytes_in_seg__0
call rsi
jmp 0x43edfd
mov rax, qword [rbx + 0x28]
sub edx, 1
mov dword [rbx + 0x6d8], edx
test rax, rax
je 0x43f3bc
cmp rax, qword [rbx + 0x38]
jae 0x43f352
lea rcx, [rax + 1]
mov qword [rbx + 0x28], rcx
cmp byte [rax], 0x4f
jne 0x43f494
cmp qword [rbx + 0x38], rcx
jbe 0x43f34e
lea rdx, [rcx + 1]
mov qword [rbx + 0x28], rdx
cmp byte [rcx], 0x67
jne 0x43ff7d
cmp rdx, qword [rbx + 0x38]
jae 0x43f34e
lea rax, [rdx + 1]
mov qword [rbx + 0x28], rax
cmp byte [rdx], 0x67
jne 0x43f35c
cmp qword [rbx + 0x38], rax
jbe 0x43f34e
lea rdx, [rax + 1]
mov qword [rbx + 0x28], rdx
cmp byte [rax], 0x53
jne 0x43ff7d
cmp rdx, qword [rbx + 0x38]
jb 0x43f487
mov dword [rbx + 0x80], 1
mov rcx, rbx
call fcn.00438500
test eax, eax
je 0x43f604
test byte [rbx + 0x6cb], 1
je 0x43f3a9
mov eax, dword [rbx + 0x6d0]
mov edx, dword [rbx + 0x5c8]
jmp 0x43edb6
mov rcx, qword [rbx + 0x18]
call sub.msvcrt.dll_fgetc
cmp eax, 0xffffffff
jne 0x43ed66
jmp 0x43ed39
mov rcx, rbx
call fcn.00438d70
test eax, eax
je 0x43eb2a
cmp byte [rbx + 0x44], 0
jne 0x43f375
lea rax, [0x004f50e0]
movdqu xmm4, xmmword [0x004b5850]
pxor xmm0, xmm0
movdqu xmm5, xmmword [0x004b5860]
movdqu xmm1, xmmword [0x004b5870]
lea rdx, [rax + 0x400]
nop word [rax + rax]
movdqu xmm2, xmm4
movdqu xmm3, xmm0
paddd xmm4, xmm5
add rax, 0x10
movdqu xmm7, xmm2
pslld xmm2, 0x18
pcmpgtd xmm3, xmm2
pslld xmm7, 0x19
movdqu xmm6, xmm7
pxor xmm6, xmm1
pand xmm6, xmm3
pandn xmm3, xmm7
movdqu xmm7, xmm0
movdqu xmm2, xmm3
por xmm2, xmm6
pcmpgtd xmm7, xmm2
movdqu xmm6, xmm2
pslld xmm6, 1
movdqu xmm3, xmm6
movdqu xmm2, xmm7
pxor xmm3, xmm1
pandn xmm2, xmm6
pand xmm3, xmm7
movdqu xmm6, xmm0
por xmm3, xmm2
movdqu xmm7, xmm3
pcmpgtd xmm6, xmm3
pslld xmm7, 1
movdqu xmm2, xmm7
pxor xmm2, xmm1
movdqu xmm3, xmm6
movdqu xmm6, xmm2
pand xmm6, xmm3
pandn xmm3, xmm7
movdqu xmm7, xmm0
movdqu xmm2, xmm3
por xmm2, xmm6
pcmpgtd xmm7, xmm2
movdqu xmm6, xmm2
pslld xmm6, 1
movdqu xmm3, xmm6
movdqu xmm2, xmm7
pxor xmm3, xmm1
pandn xmm2, xmm6
pand xmm3, xmm7
movdqu xmm6, xmm0
por xmm3, xmm2
movdqu xmm7, xmm3
pcmpgtd xmm6, xmm3
pslld xmm7, 1
movdqu xmm2, xmm7
pxor xmm2, xmm1
movdqu xmm3, xmm6
movdqu xmm6, xmm2
pand xmm6, xmm3
pandn xmm3, xmm7
movdqu xmm7, xmm0
movdqu xmm2, xmm3
por xmm2, xmm6
pcmpgtd xmm7, xmm2
movdqu xmm6, xmm2
pslld xmm6, 1
movdqu xmm3, xmm6
movdqu xmm2, xmm7
pxor xmm3, xmm1
pandn xmm2, xmm6
pand xmm3, xmm7
movdqu xmm6, xmm0
por xmm3, xmm2
movdqu xmm7, xmm3
pcmpgtd xmm6, xmm3
pslld xmm7, 1
movdqu xmm2, xmm7
pxor xmm2, xmm1
movdqu xmm3, xmm6
movdqu xmm6, xmm2
pand xmm6, xmm3
pandn xmm3, xmm7
movdqu xmm7, xmm0
movdqu xmm2, xmm3
por xmm2, xmm6
pcmpgtd xmm7, xmm2
movdqu xmm6, xmm2
pslld xmm6, 1
movdqu xmm3, xmm6
pxor xmm3, xmm1
movdqu xmm2, xmm7
pand xmm3, xmm7
pandn xmm2, xmm6
por xmm2, xmm3
movups xmmword [rax - 0x10], xmm2
cmp rdx, rax
jne 0x43efa0
mov rcx, rbx
call fcn.004396c0
mov dword [rbx + 0x6e0], 0
cmp eax, 5
jne 0x43ec98
lea rax, [rsp + 0x70]
lea r13, [rsp + 0x6a]
mov qword [rsp + 0x28], rax
mov rsi, r13
mov rcx, rbx
add rsi, 1
call fcn.004396c0
mov dword [rbx + 0x6e0], 0
mov byte [rsi - 1], al
cmp qword [rsp + 0x28], rsi
jne 0x43f14b
mov r8d, 6
lea rdx, [0x004af120]
mov rcx, r13
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x43ec98
mov edx, 8
mov rcx, rbx
call fcn.00439860
mov rcx, rbx
add eax, 1
mov dword [rbx + 0x98], eax
imul edx, eax, 0x848
call fcn.00436cf0
mov qword [rbx + 0xa0], rax
mov rcx, rax
test rax, rax
je 0x43f5f2
movsxd r8, dword [rbx + 0x98]
xor edx, edx
imul r8, r8, 0x848
call sub.msvcrt.dll_memset
mov dword [rsp + 0x4c], r15d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x40], r12d
mov eax, dword [rsp + 0x30]
cmp dword [rbx + 0x98], eax
jle 0x43fdcb
mov edx, 8
mov rcx, rbx
imul rbp, qword [rsp + 0x30], 0x848
add rbp, qword [rbx + 0xa0]
call fcn.00439860
cmp al, 0x42
jne 0x43f521
mov edx, 8
mov rcx, rbx
call fcn.00439860
cmp al, 0x43
jne 0x43f521
mov edx, 8
mov rcx, rbx
call fcn.00439860
cmp al, 0x56
jne 0x43f521
mov edx, 8
mov rcx, rbx
call fcn.00439860
mov edx, 8
mov rcx, rbx
mov esi, eax
call fcn.00439860
movzx esi, sil
mov edx, 8
mov rcx, rbx
shl eax, 8
add eax, esi
mov dword [rbp], eax
call fcn.00439860
mov edx, 8
mov rcx, rbx
mov edi, eax
call fcn.00439860
mov edx, 8
mov rcx, rbx
movzx edi, dil
mov esi, eax
call fcn.00439860
shl esi, 8
mov rcx, rbx
shl eax, 0x10
movzx edx, si
add eax, edi
add eax, edx
mov edx, 1
mov dword [rbp + 4], eax
call fcn.00439860
test eax, eax
je 0x43f49c
cmp dword [rbp], 0
mov byte [rbp + 0x1b], 0
jne 0x43f2d6
cmp dword [rbp + 4], 0
jne 0x43f521
mov edx, dword [rbp + 4]
mov rcx, rbx
call fcn.00436cf0
mov qword [rbp + 8], rax
mov r12, rax
test rax, rax
je 0x43f5f2
mov edx, 5
mov rcx, rbx
xor esi, esi
call fcn.00439860
lea edi, [rax + 1]
jmp 0x43f33d
mov ecx, r13d
sub ecx, esi
call fcn.00436d80
mov rcx, rbx
mov edx, eax
call fcn.00439860
movsxd r8, eax
lea r13d, [rsi + r8]
cmp r13d, dword [rbp + 4]
jg 0x43f521
movsxd rcx, esi
mov edx, edi
mov esi, r13d
add edi, 1
add rcx, r12
call sub.msvcrt.dll_memset
mov r13d, dword [rbp + 4]
cmp r13d, esi
jg 0x43f305
xor r14d, r14d
jmp 0x43f538
mov rax, qword [rbx + 0x28]
mov dword [rbx + 0x80], 1
mov dword [rbx + 0x84], 0x1e
mov dword [rbx + 0x6d4], 1
jmp 0x43ee08
mov edx, 1
mov rcx, rbx
call fcn.004342b0
test eax, eax
jne 0x43ef70
cmp dword [rbx + 0x84], 0x15
jne 0x43eb2a
mov dword [rbx + 0x84], 0x14
xor r12d, r12d
jmp 0x43eb2a
mov dword [rbx + 0x84], 0x20
mov rax, qword [rbx + 0x28]
jmp 0x43ee08
mov rcx, qword [rbx + 0x18]
call sub.msvcrt.dll_fgetc
cmp eax, 0xffffffff
je 0x43f34e
cmp al, 0x4f
jne 0x43f52b
mov rcx, qword [rbx + 0x28]
test rcx, rcx
jne 0x43eeac
mov rcx, qword [rbx + 0x18]
call sub.msvcrt.dll_fgetc
cmp eax, 0xffffffff
je 0x43f34e
cmp al, 0x67
jne 0x43f52b
mov rdx, qword [rbx + 0x28]
test rdx, rdx
jne 0x43eec7
mov rcx, qword [rbx + 0x18]
call sub.msvcrt.dll_fgetc
cmp eax, 0xffffffff
je 0x43f34e
cmp al, 0x67
mov rax, qword [rbx + 0x28]
jne 0x43f35c
test rax, rax
jne 0x43eee2
mov rcx, qword [rbx + 0x18]
call sub.msvcrt.dll_fgetc
mov ecx, eax
cmp eax, 0xffffffff
je 0x43f34e
mov rax, qword [rbx + 0x28]
mov rdx, rax
cmp cl, 0x53
jne 0x43f35c
test rax, rax
jne 0x43eefd
mov rcx, qword [rbx + 0x18]
call sub.msvcrt.dll_fgetc
cmp eax, 0xffffffff
je 0x43ef07
test al, al
je 0x43ef11
mov dword [rbx + 0x84], 0x1f
mov rax, qword [rbx + 0x28]
jmp 0x43f366
lea rax, [rdx + 1]
mov qword [rbx + 0x28], rax
movzx eax, byte [rdx]
jmp 0x43f46c
mov rax, rcx
jmp 0x43f35c
mov edx, 1
mov rcx, rbx
call fcn.00439860
cmp dword [rbp], 0
mov byte [rbp + 0x1b], al
jne 0x43f4b8
cmp dword [rbp + 4], 0
jne 0x43f521
mov edx, dword [rbp + 4]
mov rcx, rbx
test al, al
je 0x43f5dd
call fcn.00436cb0
mov r12, rax
test rax, rax
je 0x43f5f2
xor r14d, r14d
xor esi, esi
jmp 0x43f4f8
mov edx, 1
mov rcx, rbx
call fcn.00439860
test eax, eax
jne 0x43f505
mov byte [r12 + rsi], 0xff
add rsi, 1
movzx eax, byte [rbp + 0x1b]
cmp dword [rbp + 4], esi
jle 0x43f534
test al, al
jne 0x43f4de
mov edx, 5
mov rcx, rbx
add r14d, 1
call fcn.00439860
add eax, 1
mov byte [r12 + rsi], al
cmp al, 0x20
jne 0x43f4f4
mov r12d, dword [rsp + 0x40]
jmp 0x43ec98
mov rax, qword [rbx + 0x28]
jmp 0x43f35c
mov r13d, dword [rbp + 4]
cmp byte [rbp + 0x1b], 0
jne 0x43ff85
xor edx, edx
xor eax, eax
jmp 0x43f55a
movzx edi, byte [r12 + rax]
lea ecx, [rdi - 0xb]
cmp cl, 0xf4
adc edx, 0
add rax, 1
cmp r13d, eax
jg 0x43f548
mov dword [rbp + 0x840], edx
mov rcx, rbx
lea edx, [r13*4]
call fcn.00436cf0
mov qword [rbp + 0x28], rax
test rax, rax
je 0x43f5f2
mov r13d, dword [rbp + 4]
xor r14d, r14d
mov rdi, qword [rsp + 0x28]
xor eax, eax
mov ecx, 0x20
rep stosd dword [rdi], eax
xor eax, eax
jmp 0x43f5a5
cmp byte [r12 + rax], 0xff
lea rdx, [rax + 1]
jne 0x43f60d
mov rax, rdx
mov edi, eax
cmp r13d, eax
jg 0x43f597
cmp r13d, eax
jne 0x43f60d
cmp dword [rbp + 0x840], 0
je 0x43f87b
mov r8d, 0x459
lea rdx, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
lea rcx, str.c__sorted_entries__0
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x43f86d
call fcn.00436cf0
mov qword [rbp + 8], rax
mov r12, rax
test rax, rax
jne 0x43f4d7
mov dword [rbx + 0x84], 3
xor r12d, r12d
jmp 0x43eb2a
mov rax, qword [rbx + 0x28]
jmp 0x43f366
movsxd r8, edi
cmp byte [rbp + 0x1b], 0
mov rcx, qword [rbp + 0x28]
lea rdx, [r12 + r8]
jne 0x440086
mov dword [rcx + r8*4], 0
xor eax, eax
mov r9d, 0x20
mov r8d, 1
jmp 0x43f64e
mov ecx, r9d
mov esi, r8d
sub ecx, eax
shl esi, cl
mov ecx, esi
mov rsi, qword [rsp + 0x28]
mov dword [rsi + rax*4], ecx
movzx ecx, byte [rdx]
add rax, 1
cmp ecx, eax
jge 0x43f63a
mov rax, r12
mov dword [rsp + 0x50], r13d
add edi, 1
mov r13, qword [rsp + 0x28]
mov qword [rsp + 0x4e0], rbx
mov r12, rbp
movsxd rdi, edi
mov esi, 1
mov rbp, rax
cmp dword [rsp + 0x50], edi
jle 0x43f85c
movzx ecx, byte [rbp + rdi]
mov rdx, rcx
cmp ecx, 0xff
je 0x43f784
test ecx, ecx
jne 0x43f6bc
jmp 0x43f752
sub rdx, 1
test edx, edx
je 0x43f752
mov r15d, dword [r13 + rdx*4]
mov ebx, edx
test r15d, r15d
je 0x43f6b0
cmp edx, 0x1f
jg 0x43f819
movsxd rdx, ebx
mov ecx, r15d
lea eax, [rsi + 1]
mov dword [rsp + rdx*4 + 0x70], 0
shr ecx, 1
lea edx, [r15 + r15]
and edx, 0xaaaaaaaa
and ecx, 0x55555555
mov dword [rsp + 0x38], eax
or ecx, edx
mov edx, ecx
shl ecx, 2
shr edx, 2
and ecx, 0xcccccccc
and edx, 0x33333333
or edx, ecx
mov ecx, edx
shl edx, 4
shr ecx, 4
and edx, 0xf0f0f0f0
and ecx, 0xf0f0f0f
or edx, ecx
cmp byte [r12 + 0x1b], 0
bswap edx
jne 0x43f78a
mov rcx, qword [r12 + 0x28]
mov dword [rcx + rdi*4], edx
movzx edx, byte [rbp + rdi]
mov rsi, rdx
cmp edx, ebx
jne 0x43f7a6
movsxd rsi, dword [rsp + 0x38]
add rdi, 1
jmp 0x43f67f
mov rbp, r12
mov rbx, qword [rsp + 0x4e0]
mov r12d, dword [rsp + 0x40]
mov rcx, r14
cmp byte [rbp + 0x1b], 0
je 0x43ec98
cmp qword [rbx + 0x68], 0
jne 0x43ec98
call sub.msvcrt.dll_free
jmp 0x43ec98
mov dword [rsp + 0x38], esi
jmp 0x43f744
mov r8, qword [r12 + 0x28]
movzx ecx, byte [rbp + rdi]
mov dword [r8 + rsi*4], edx
mov rdx, qword [r12 + 8]
mov byte [rdx + rsi], cl
mov dword [r14 + rsi*4], edi
jmp 0x43f738
cmp dl, 0x1f
ja 0x43f838
movzx edx, sil
cmp edx, ebx
jle 0x43f744
mov r11d, 0x20
mov r10d, 1
jmp 0x43f7de
mov eax, r10d
shl eax, cl
add eax, r15d
mov dword [r13 + rsi*4], eax
sub rsi, 1
cmp ebx, esi
jge 0x43f744
mov eax, dword [r13 + rsi*4]
mov ecx, r11d
sub ecx, esi
test eax, eax
je 0x43f7c5
lea rcx, str.available_y___0
mov r8d, 0x477
lea rdx, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
call qword [sym.imp.msvcrt.dll__assert]
mov r11d, 0x20
mov r10d, 1
mov ecx, r11d
sub ecx, esi
jmp 0x43f7c5
mov r8d, 0x470
lea rdx, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
lea rcx, str.z___0__z___32
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x43f6d1
mov r8d, 0x475
lea rdx, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
lea rcx, str.len_i____0__len_i____32
call qword [sym.imp.msvcrt.dll__assert]
movzx esi, byte [rbp + rdi]
jmp 0x43f7af
mov rax, rbp
mov rbx, qword [rsp + 0x4e0]
mov rbp, r12
mov r12, rax
mov eax, dword [rbp + 0x840]
test eax, eax
jne 0x43fad8
cmp byte [rbp + 0x1b], 0
je 0x43f8b8
cmp qword [rbx + 0x68], 0
je 0x44009f
mov eax, dword [rbp + 0x840]
shl eax, 2
add dword [rbx + 0x7c], eax
mov eax, dword [rbp + 0x840]
shl eax, 2
add dword [rbx + 0x7c], eax
mov eax, dword [rbp + 4]
add eax, 3
and eax, 0xfffffffc
add dword [rbx + 0x7c], eax
mov qword [rbp + 0x28], 0
lea rdi, [rbp + 0x38]
mov eax, ebp
mov qword [rbp + 0x30], 0xffffffffffffffff
mov qword [rbp + 0x828], 0xffffffffffffffff
and rdi, 0xfffffffffffffff8
sub eax, edi
lea ecx, [rax + 0x830]
or rax, 0xffffffffffffffff
shr ecx, 3
rep stosq qword [rdi], rax
movzx r9d, byte [rbp + 0x1b]
test r9b, r9b
je 0x43facf
mov r8d, dword [rbp + 0x840]
cmp r8d, 0x7fff
mov eax, 0x7fff
mov r11d, 1
cmovg r8d, eax
xor edx, edx
jmp 0x43f91a
add rdx, 1
cmp r8d, edx
jle 0x43f9a9
mov r10, qword [rbp + 8]
add r10, rdx
cmp byte [r10], 0xa
ja 0x43f916
test r9b, r9b
je 0x43f9d0
mov rax, qword [rbp + 0x830]
mov ecx, dword [rax + rdx*4]
mov eax, ecx
add ecx, ecx
shr eax, 1
and ecx, 0xaaaaaaaa
and eax, 0x55555555
or eax, ecx
mov ecx, eax
shl eax, 2
shr ecx, 2
and eax, 0xcccccccc
and ecx, 0x33333333
or ecx, eax
mov eax, ecx
shl ecx, 4
shr eax, 4
and ecx, 0xf0f0f0f0
and eax, 0xf0f0f0f
or eax, ecx
bswap eax
cmp eax, 0x3ff
ja 0x43f916
mov esi, edx
mov ecx, eax
mov edi, r11d
mov word [rbp + rcx*2 + 0x30], si
movzx ecx, byte [r10]
shl edi, cl
add eax, edi
cmp eax, 0x3ff
jbe 0x43f98b
jmp 0x43f916
mov edx, 4
mov rcx, rbx
call fcn.00439860
mov byte [rbp + 0x19], al
cmp al, 2
ja 0x43f521
test al, al
jne 0x43f9d9
add qword [rsp + 0x30], 1
jmp 0x43f1e7
mov rax, qword [rbp + 0x28]
mov eax, dword [rax + rdx*4]
jmp 0x43f982
mov edx, 0x20
mov rcx, rbx
call fcn.00439860
mov ecx, eax
call fcn.00436d30
mov edx, 0x20
mov rcx, rbx
movss dword [rbp + 0x10], xmm0
call fcn.00439860
mov ecx, eax
call fcn.00436d30
mov edx, 4
mov rcx, rbx
movss dword [rbp + 0x14], xmm0
call fcn.00439860
mov edx, 1
mov rcx, rbx
add eax, 1
mov byte [rbp + 0x18], al
call fcn.00439860
cmp byte [rbp + 0x19], 1
mov byte [rbp + 0x1a], al
je 0x4401c7
mov eax, dword [rbp + 4]
imul eax, dword [rbp]
mov dword [rbp + 0x1c], eax
mov eax, dword [rbp + 0x1c]
test eax, eax
je 0x43f521
lea edx, [rax + rax]
mov rcx, rbx
call fcn.00436cb0
mov r13, rax
test rax, rax
je 0x43f5f2
xor esi, esi
jmp 0x43fa87
movzx edx, byte [rbp + 0x18]
mov rcx, rbx
call fcn.00439860
cmp eax, 0xffffffff
je 0x440172
mov word [r13 + rsi*2], ax
add rsi, 1
mov eax, dword [rbp + 0x1c]
cmp eax, esi
jg 0x43fa68
cmp byte [rbp + 0x19], 1
jne 0x440423
movzx edi, byte [rbp + 0x1b]
test edi, edi
je 0x4403ff
mov eax, dword [rbp + 0x840]
test eax, eax
jne 0x4402ad
cmp qword [rbx + 0x68], 0
je 0x4402a0
mov eax, dword [rbp + 0x1c]
lea eax, [rax + rax + 3]
and eax, 0xfffffffc
add dword [rbx + 0x7c], eax
jmp 0x43f9c5
mov r8d, dword [rbp + 4]
jmp 0x43f8fc
lea edx, [rax*4 + 4]
mov rcx, rbx
call fcn.00436cf0
mov qword [rbp + 0x830], rax
test rax, rax
je 0x43f5f2
mov eax, dword [rbp + 0x840]
mov rcx, rbx
lea edx, [rax*4 + 4]
call fcn.00436cf0
test rax, rax
je 0x43fd8e
lea rdx, [rax + 4]
mov qword [rbp + 0x838], rdx
xor edx, edx
mov dword [rax], 0xffffffff
cmp byte [rbp + 0x1b], 0
jne 0x43fc31
xor r13d, r13d
xor edi, edi
lea rsi, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
lea r15, str.len___NO_CODE
jmp 0x43fb52
sub eax, 0xb
cmp al, 0xf3
jbe 0x43fb7c
add rdi, 1
cmp dword [rbp + 4], edi
jle 0x440198
cmp byte [rbp + 0x1b], 0
movzx eax, byte [r12 + rdi]
je 0x43fb47
add al, 1
jne 0x43fb7c
mov r8d, 0x4a6
mov rdx, rsi
mov rcx, r15
call qword [sym.imp.msvcrt.dll__assert]
mov rax, qword [rbp + 0x28]
movsxd rcx, r13d
add r13d, 1
mov eax, dword [rax + rdi*4]
mov edx, eax
add eax, eax
shr edx, 1
and eax, 0xaaaaaaaa
and edx, 0x55555555
or edx, eax
mov eax, edx
shl edx, 2
shr eax, 2
and edx, 0xcccccccc
and eax, 0x33333333
or eax, edx
mov edx, eax
shl eax, 4
shr edx, 4
and eax, 0xf0f0f0f0
and edx, 0xf0f0f0f
or eax, edx
mov rdx, qword [rbp + 0x830]
bswap eax
mov dword [rdx + rcx*4], eax
jmp 0x43fb4e
mov rax, qword [rbp + 0x28]
mov eax, dword [rax + rdx*4]
mov r8d, eax
add eax, eax
shr r8d, 1
and eax, 0xaaaaaaaa
and r8d, 0x55555555
or r8d, eax
mov eax, r8d
shl r8d, 2
shr eax, 2
and r8d, 0xcccccccc
and eax, 0x33333333
or eax, r8d
mov r8d, eax
shl eax, 4
shr r8d, 4
and eax, 0xf0f0f0f0
and r8d, 0xf0f0f0f
or eax, r8d
bswap eax
mov dword [rcx + rdx*4], eax
add rdx, 1
mov rcx, qword [rbp + 0x830]
cmp dword [rbp + 0x840], edx
jg 0x43fbd8
movsxd rdx, dword [rbp + 0x840]
lea r9, [0x00433e20]
mov r8d, 4
call sub.msvcrt.dll_qsort
movsxd rdx, dword [rbp + 0x840]
mov rax, qword [rbp + 0x830]
mov dword [rax + rdx*4], 0xffffffff
cmp byte [rbp + 0x1b], 0
je 0x43fdb9
mov edi, dword [rbp + 0x840]
mov rdx, qword [sym.imp.msvcrt.dll__assert]
movzx eax, byte [rbp + 0x1b]
xor esi, esi
mov qword [rsp + 0x38], rdx
mov r13d, esi
cmp edi, esi
jle 0x43f87b
test al, al
je 0x43fd9e
mov eax, dword [r14 + rsi*4]
movzx r15d, byte [r12 + rax]
cmp r15b, 0xff
je 0x440483
mov rax, qword [rbp + 0x28]
mov r8, qword [rbp + 0x830]
xor r9d, r9d
mov eax, dword [rax + rsi*4]
mov edx, eax
add eax, eax
shr edx, 1
and eax, 0xaaaaaaaa
and edx, 0x55555555
or edx, eax
mov eax, edx
shl edx, 2
shr eax, 2
and edx, 0xcccccccc
and eax, 0x33333333
or eax, edx
mov edx, eax
shl eax, 4
shr edx, 4
and eax, 0xf0f0f0f0
and edx, 0xf0f0f0f
or eax, edx
mov edx, dword [rbp + 0x840]
bswap eax
jmp 0x43fd25
mov ecx, edx
sar ecx, 1
lea r10d, [rcx + r9]
movsxd r11, r10d
cmp dword [r8 + r11*4], eax
jbe 0x43fdc1
mov edx, ecx
cmp edx, 1
jg 0x43fd0e
lea r10, [r9*4]
cmp dword [r8 + r9*4], eax
je 0x43fd66
mov qword [rsp + 0x58], r10
mov r8d, 0x4d8
lea rdx, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
lea rcx, str.c__sorted_codewords_x___code
mov qword [rsp + 0x50], r9
call qword [sym.imp.msvcrt.dll__assert]
mov r10, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
mov rax, qword [rbp + 0x838]
add rax, r10
cmp byte [rbp + 0x1b], 0
je 0x4404a3
mov edx, dword [r14 + rsi*4]
mov dword [rax], edx
mov rax, qword [rbp + 8]
mov byte [rax + r9], r15b
movzx eax, byte [rbp + 0x1b]
jmp 0x43fdb0
mov qword [rbp + 0x838], 0
jmp 0x43f5f2
movzx r15d, byte [r12 + rsi]
lea edx, [r15 - 0xb]
cmp dl, 0xf3
jbe 0x43fcb6
add rsi, 1
jmp 0x43fc90
mov edi, dword [rbp + 4]
jmp 0x43fc7e
sub edx, ecx
movsxd r9, r10d
jmp 0x43fd25
mov edx, 6
mov rcx, rbx
mov r15d, dword [rsp + 0x4c]
xor edi, edi
mov r12d, dword [rsp + 0x40]
call fcn.00439860
lea esi, [rax + 1]
movzx esi, sil
jmp 0x43fe05
mov edx, 0x10
mov rcx, rbx
call fcn.00439860
test eax, eax
jne 0x43ec98
add edi, 1
cmp edi, esi
jl 0x43fded
mov edx, 6
mov rcx, rbx
call fcn.00439860
mov rcx, rbx
add eax, 1
mov dword [rbx + 0xa8], eax
imul edx, eax, 0x63c
call fcn.00436cf0
mov qword [rbx + 0x130], rax
test rax, rax
je 0x43f5f2
mov dword [rsp + 0x40], 0
mov rbp, qword [rsp + 0x28]
xor edi, edi
mov dword [rsp + 0x30], r12d
cmp dword [rbx + 0xa8], edi
jle 0x4404b9
mov edx, 0x10
mov rcx, rbx
call fcn.00439860
mov word [rbx + rdi*2 + 0xac], ax
cmp ax, 1
ja 0x4404af
imul rsi, rdi, 0x63c
add rsi, qword [rbx + 0x130]
test ax, ax
je 0x4400d3
mov edx, 5
mov rcx, rbx
xor r14d, r14d
or r13d, 0xffffffff
call fcn.00439860
mov byte [rsi], al
jmp 0x43fecb
mov edx, 4
mov rcx, rbx
call fcn.00439860
mov byte [rsi + r14 + 1], al
movzx eax, al
cmp r13d, eax
cmovl r13d, eax
add r14, 1
movzx eax, byte [rsi]
cmp eax, r14d
jg 0x43feab
xor r12d, r12d
cmp r13d, r12d
jl 0x440b6e
mov edx, 3
mov rcx, rbx
call fcn.00439860
mov edx, 2
mov rcx, rbx
add eax, 1
mov byte [rsi + r12 + 0x21], al
call fcn.00439860
mov byte [rsi + r12 + 0x31], al
test al, al
jne 0x440b48
mov r14, r12
xor r8d, r8d
mov qword [rsp + 0x38], rbp
mov rbp, rdi
shl r14, 4
mov rdi, rsi
add r14, rsi
mov rsi, rbx
mov rbx, r8
jmp 0x43ff55
mov edx, 8
mov rcx, rsi
call fcn.00439860
sub eax, 1
mov word [r14 + rbx*2 + 0x52], ax
add rbx, 1
cwde
cmp eax, dword [rsi + 0x98]
jge 0x44016a
movzx ecx, byte [rdi + r12 + 0x31]
mov eax, 1
shl eax, cl
cmp eax, ebx
jg 0x43ff2e
mov rbx, rsi
add r12, 1
mov rsi, rdi
mov rdi, rbp
mov rbp, qword [rsp + 0x38]
jmp 0x43fed6
mov rax, rdx
jmp 0x43f35c
mov eax, r13d
sar eax, 2
cmp eax, r14d
jg 0x43ffe9
cmp dword [rbx + 0x10], r13d
jge 0x43ff9e
mov dword [rbx + 0x10], r13d
mov r13d, dword [rbp + 4]
mov rcx, rbx
mov edx, r13d
call fcn.00436cf0
mov qword [rbp + 8], rax
mov rcx, rax
test rax, rax
je 0x43f5f2
movsxd r8, dword [rbp + 4]
mov rdx, r12
call sub.msvcrt.dll_memcpy
cmp qword [rbx + 0x68], 0
je 0x440018
mov eax, dword [rbp + 4]
add eax, 3
and eax, 0xfffffffc
add dword [rbx + 0x7c], eax
mov r12, qword [rbp + 8]
mov r13d, dword [rbp + 4]
mov byte [rbp + 0x1b], 0
jmp 0x43f542
mov dword [rbp + 0x840], r14d
test r14d, r14d
jne 0x440022
xor r14d, r14d
mov eax, dword [rbp + 0x840]
lea eax, [r13 + rax*8]
cmp eax, dword [rbx + 0x10]
jbe 0x43f585
mov dword [rbx + 0x10], eax
mov r13d, dword [rbp + 4]
jmp 0x43f585
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x43ffd8
mov edx, r14d
mov rcx, rbx
call fcn.00436cf0
mov qword [rbp + 8], rax
test rax, rax
je 0x43f5f2
mov eax, dword [rbp + 0x840]
mov rcx, rbx
lea edx, [rax*4]
call fcn.00436cb0
mov qword [rbp + 0x28], rax
test rax, rax
je 0x43f5f2
mov eax, dword [rbp + 0x840]
mov rcx, rbx
lea edx, [rax*4]
call fcn.00436cb0
mov r14, rax
test rax, rax
je 0x43f5f2
mov r13d, dword [rbp + 4]
jmp 0x43fff8
movzx r8d, byte [rdx]
mov dword [rcx], 0
mov rcx, qword [rbp + 8]
mov byte [rcx], r8b
mov dword [r14], eax
jmp 0x43f62a
mov rcx, r14
call sub.msvcrt.dll_free
cmp qword [rbx + 0x68], 0
mov rcx, qword [rbp + 0x28]
jne 0x44060d
call sub.msvcrt.dll_free
cmp qword [rbx + 0x68], 0
jne 0x440605
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x43f8b0
mov edx, 8
mov rcx, rbx
xor edi, edi
call fcn.00439860
mov edx, 0x10
mov rcx, rbx
mov byte [rsi], al
call fcn.00439860
mov edx, 0x10
mov rcx, rbx
mov word [rsi + 2], ax
call fcn.00439860
mov edx, 6
mov rcx, rbx
mov word [rsi + 4], ax
call fcn.00439860
mov edx, 8
mov rcx, rbx
mov byte [rsi + 6], al
call fcn.00439860
mov edx, 4
mov rcx, rbx
mov byte [rsi + 7], al
call fcn.00439860
add eax, 1
mov byte [rsi + 8], al
jmp 0x440150
mov edx, 8
mov rcx, rbx
call fcn.00439860
mov byte [rsi + rdi + 9], al
add rdi, 1
movzx eax, byte [rsi + 8]
cmp eax, edi
jg 0x44013b
mov dword [rbx + 0x84], 4
xor r12d, r12d
jmp 0x43eb2a
mov rbx, rsi
jmp 0x43f397
cmp qword [rbx + 0x68], 0
mov r12d, dword [rsp + 0x40]
je 0x440190
mov eax, dword [rbp + 0x1c]
lea eax, [rax + rax + 3]
and eax, 0xfffffffc
add dword [rbx + 0x7c], eax
jmp 0x43ec98
mov rcx, r13
jmp 0x43f77a
cmp r13d, dword [rbp + 0x840]
je 0x4401bb
mov r8d, 0x4ba
lea rdx, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
lea rcx, str.k__c__sorted_entries
call qword [sym.imp.msvcrt.dll__assert]
mov rcx, qword [rbp + 0x830]
jmp 0x43fc40
mov r12d, dword [rbp + 4]
pxor xmm0, xmm0
mov edi, dword [rbp]
pxor xmm6, xmm6
pxor xmm7, xmm7
cvtsi2ss xmm0, r12d
cvtss2sd xmm0, xmm0
call fcn.004a9430
pxor xmm1, xmm1
cvtsi2ss xmm1, edi
cvtsd2ss xmm0, xmm0
divss xmm0, xmm1
cvtss2sd xmm0, xmm0
call fcn.004a8f10
cvtsi2sd xmm7, edi
call fcn.004a9130
movss xmm8, dword [0x004b5880]
cvttsd2si esi, xmm0
movupd xmm1, xmm7
cvtsi2ss xmm6, esi
movups xmm0, xmm6
addss xmm0, xmm8
cvtss2sd xmm0, xmm0
call fcn.004a95f0
call fcn.004a9130
cvttsd2si eax, xmm0
cmp r12d, eax
jl 0x440249
add esi, 1
pxor xmm6, xmm6
cvtsi2ss xmm6, esi
movups xmm0, xmm8
movupd xmm1, xmm7
addss xmm0, xmm6
cvtss2sd xmm0, xmm0
call fcn.004a95f0
movupd xmm1, xmm0
pxor xmm0, xmm0
cvtsi2sd xmm0, r12d
comisd xmm1, xmm0
jbe 0x4403d3
movupd xmm1, xmm7
pxor xmm0, xmm0
cvtss2sd xmm0, xmm6
call fcn.004a95f0
call fcn.004a9130
cvttsd2si eax, xmm0
cmp r12d, eax
jl 0x4403b4
mov dword [rbp + 0x1c], esi
jmp 0x43fa42
mov rcx, r13
call sub.msvcrt.dll_free
jmp 0x43f9c5
imul eax, dword [rbp]
mov rcx, rbx
lea edx, [rax*4]
call fcn.00436cf0
mov qword [rbp + 0x20], rax
test rax, rax
je 0x44039b
mov r12d, dword [rbp + 0x840]
xor r9d, r9d
pxor xmm1, xmm1
mov r11d, r9d
mov esi, r9d
cmp r12d, r9d
jle 0x440392
test edi, edi
je 0x4402f9
mov rax, qword [rbp + 0x838]
mov r11d, dword [rax + r9*4]
xor r10d, r10d
mov ecx, 1
mov r8d, dword [rbp]
cmp r8d, r10d
jle 0x440389
xor edx, edx
mov eax, r11d
pxor xmm0, xmm0
div ecx
xor edx, edx
div dword [rbp + 0x1c]
movsxd rdx, edx
movzx eax, word [r13 + rdx*2]
mov rdx, qword [rbp + 0x20]
cvtsi2ss xmm0, eax
mulss xmm0, dword [rbp + 0x14]
mov eax, r8d
imul eax, esi
addss xmm0, dword [rbp + 0x10]
addss xmm0, xmm1
add eax, r10d
cdqe
movss dword [rdx + rax*4], xmm0
cmp byte [rbp + 0x1a], 0
je 0x440352
movups xmm1, xmm0
add r10d, 1
cmp r10d, dword [rbp]
jge 0x440301
mov r8d, dword [rbp + 0x1c]
mov eax, ecx
mul r8d
mov ecx, eax
jno 0x440301
cmp qword [rbx + 0x68], 0
mov r12d, dword [rsp + 0x40]
je 0x440190
lea eax, [r8 + r8 + 3]
and eax, 0xfffffffc
add dword [rbx + 0x7c], eax
jmp 0x43ec98
add r9, 1
jmp 0x4402db
mov byte [rbp + 0x19], 2
jmp 0x43fab2
cmp qword [rbx + 0x68], 0
je 0x4403f2
mov eax, dword [rbp + 0x1c]
lea eax, [rax + rax + 3]
and eax, 0xfffffffc
add dword [rbx + 0x7c], eax
jmp 0x43f5f2
mov r8d, 0x4f2
lea rdx, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
lea rcx, str._int__floor_pow__float__r__dim_____entries
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x440298
mov r8d, 0x4f1
lea rdx, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
lea rcx, str.pow__float__r1__dim____entries
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x440275
mov rcx, r13
call sub.msvcrt.dll_free
jmp 0x43f5f2
mov edx, dword [rbp]
imul edx, dword [rbp + 4]
mov rcx, rbx
shl edx, 2
call fcn.00436cf0
mov qword [rbp + 0x20], rax
test rax, rax
je 0x44039b
mov r12d, dword [rbp + 4]
jmp 0x4402d4
lea edx, [rax*4]
mov rcx, rbx
call fcn.00436cf0
mov qword [rbp + 0x20], rax
test rax, rax
je 0x44039b
xor eax, eax
pxor xmm1, xmm1
jmp 0x440479
movzx edx, word [r13 + rax*2]
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
mulss xmm0, dword [rbp + 0x14]
mov rdx, qword [rbp + 0x20]
addss xmm0, dword [rbp + 0x10]
addss xmm0, xmm1
movss dword [rdx + rax*4], xmm0
cmp byte [rbp + 0x1a], 0
je 0x440475
movups xmm1, xmm0
add rax, 1
cmp dword [rbp + 0x1c], eax
jg 0x440447
jmp 0x43fab2
mov rax, qword [rsp + 0x38]
mov r8d, 0x4a6
lea rdx, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
lea rcx, str.len___NO_CODE
call rax
jmp 0x43fcb6
mov dword [rax], r13d
movzx eax, byte [rbp + 0x1b]
jmp 0x43fdb0
mov r12d, dword [rsp + 0x30]
jmp 0x43ec98
mov edx, 6
mov rcx, rbx
mov r12d, dword [rsp + 0x30]
call fcn.00439860
mov rcx, rbx
add eax, 1
mov dword [rbx + 0x138], eax
shl eax, 5
mov edx, eax
call fcn.00436cf0
mov qword [rbx + 0x1c0], rax
mov rcx, rax
test rax, rax
je 0x43f5f2
movsxd r8, dword [rbx + 0x138]
xor edx, edx
xor ebp, ebp
shl r8, 5
call sub.msvcrt.dll_memset
mov dword [rsp + 0x30], r15d
cmp dword [rbx + 0x138], ebp
jle 0x4406be
mov rsi, rbp
mov edx, 0x10
mov rcx, rbx
shl rsi, 5
add rsi, qword [rbx + 0x1c0]
call fcn.00439860
mov word [rbx + rbp*2 + 0x13c], ax
cmp ax, 2
ja 0x4406af
mov edx, 0x18
mov rcx, rbx
call fcn.00439860
mov edx, 0x18
mov rcx, rbx
mov dword [rsi], eax
call fcn.00439860
mov dword [rsi + 4], eax
cmp eax, dword [rsi]
jb 0x4406af
mov edx, 0x18
mov rcx, rbx
call fcn.00439860
mov edx, 6
mov rcx, rbx
add eax, 1
mov dword [rsi + 8], eax
call fcn.00439860
mov edx, 8
mov rcx, rbx
add eax, 1
mov byte [rsi + 0xc], al
call fcn.00439860
mov byte [rsi + 0xd], al
movzx eax, al
cmp eax, dword [rbx + 0x98]
jge 0x4406af
xor r13d, r13d
jmp 0x4405c7
lea eax, [rdi + rax*8]
mov rdi, qword [rsp + 0x28]
mov byte [rdi + r13], al
add r13, 1
movzx eax, byte [rsi + 0xc]
cmp eax, r13d
jle 0x44061b
mov edx, 3
mov rcx, rbx
call fcn.00439860
mov edx, 1
mov rcx, rbx
mov edi, eax
call fcn.00439860
mov r8d, eax
xor eax, eax
test r8d, r8d
je 0x4405b7
mov edx, 5
mov rcx, rbx
call fcn.00439860
jmp 0x4405b7
mov eax, dword [rbp + 4]
jmp 0x43f8a7
mov eax, dword [rbp + 0x840]
shl eax, 2
jmp 0x43f8a1
shl eax, 4
mov rcx, rbx
mov edx, eax
call fcn.00436cf0
mov qword [rsi + 0x18], rax
test rax, rax
je 0x43f5f2
xor r13d, r13d
movzx eax, byte [rsi + 0xc]
cmp eax, r13d
jle 0x4409ac
mov r14, r13
xor edi, edi
shl r14, 4
jmp 0x44066d
movsxd rax, edi
add rax, rax
add rax, qword [rsi + 0x18]
mov word [rax + r14], 0xffff
add edi, 1
cmp edi, 8
je 0x4407df
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax + r13]
bt eax, edi
jae 0x440650
mov edx, 8
mov rcx, rbx
call fcn.00439860
mov rdx, qword [rsi + 0x18]
mov r8d, eax
movsxd rax, edi
add rax, rax
add rdx, rax
mov word [rdx + r14], r8w
add rax, qword [rsi + 0x18]
movsx eax, word [rax + r14]
cmp eax, dword [rbx + 0x98]
jl 0x440661
mov dword [rbx + 0x84], 0x14
jmp 0x43f5fc
mov edx, 6
mov rcx, rbx
mov r15d, dword [rsp + 0x30]
call fcn.00439860
mov rcx, rbx
add eax, 1
mov dword [rbx + 0x1c8], eax
imul edx, eax, 0x30
call fcn.00436cf0
mov qword [rbx + 0x1d0], rax
mov rcx, rax
test rax, rax
je 0x43f5f2
movsxd r8, dword [rbx + 0x1c8]
xor edx, edx
xor ebp, ebp
imul r8, r8, 0x30
call sub.msvcrt.dll_memset
cmp dword [rbx + 0x1c8], ebp
jle 0x440912
mov edx, 0x10
imul rsi, rbp, 0x30
mov rcx, rbx
add rsi, qword [rbx + 0x1d0]
call fcn.00439860
test eax, eax
jne 0x43ec98
imul edx, dword [rbx + 4], 3
mov rcx, rbx
call fcn.00436cf0
mov qword [rsi + 8], rax
test rax, rax
je 0x43f5f2
mov edx, 1
mov rcx, rbx
call fcn.00439860
test eax, eax
jne 0x4408fa
mov byte [rsi + 0x10], 1
mov edx, 1
mov rcx, rbx
call fcn.00439860
test eax, eax
jne 0x440861
mov word [rsi], 0
mov edx, 2
mov rcx, rbx
call fcn.00439860
test eax, eax
jne 0x43ec98
xor edi, edi
xor eax, eax
cmp byte [rsi + 0x10], 1
jbe 0x44084a
cmp dword [rbx + 4], edi
jle 0x4407e8
mov edx, 4
mov rcx, rbx
call fcn.00439860
mov rdx, qword [rsi + 8]
mov r8d, eax
lea rax, [rdi + rdi*2]
add rdi, 1
mov byte [rdx + rax + 2], r8b
mov rdx, qword [rsi + 8]
movzx ecx, byte [rsi + 0x10]
cmp byte [rdx + rax + 2], cl
jb 0x4407a6
jmp 0x43ec98
add r13, 1
jmp 0x440638
xor edi, edi
movzx eax, byte [rsi + 0x10]
cmp eax, edi
jle 0x4408f1
mov edx, 8
mov rcx, rbx
call fcn.00439860
mov edx, 8
mov rcx, rbx
call fcn.00439860
mov edx, 8
mov rcx, rbx
mov byte [rsi + rdi + 0x11], al
call fcn.00439860
movzx edx, byte [rsi + rdi + 0x11]
mov byte [rsi + rdi + 0x20], al
cmp edx, dword [rbx + 0xa8]
jge 0x43ec98
add rdi, 1
movzx eax, al
cmp eax, dword [rbx + 0x138]
jl 0x4407ea
jmp 0x43ec98
cmp dword [rbx + 4], eax
jle 0x4407e8
lea rdx, [rax + rax*2]
add rdx, qword [rsi + 8]
add rax, 1
mov byte [rdx + 2], 0
jmp 0x44084a
mov edx, 8
mov rcx, rbx
xor r13d, r13d
call fcn.00439860
add eax, 1
mov word [rsi], ax
movzx eax, word [rsi]
cmp eax, r13d
jle 0x440783
mov eax, dword [rbx + 4]
lea rdi, [r13 + r13*2]
lea ecx, [rax - 1]
call fcn.00436d80
mov rcx, rbx
mov edx, eax
call fcn.00439860
mov rdx, qword [rsi + 8]
mov byte [rdx + rdi], al
mov eax, dword [rbx + 4]
lea ecx, [rax - 1]
call fcn.00436d80
mov rcx, rbx
mov edx, eax
call fcn.00439860
mov rdx, qword [rsi + 8]
mov byte [rdx + rdi + 1], al
add rdi, qword [rsi + 8]
movzx eax, byte [rdi]
mov ecx, dword [rbx + 4]
mov edx, eax
cmp eax, ecx
jge 0x43ec98
movzx r8d, byte [rdi + 1]
cmp ecx, r8d
jle 0x43ec98
add r13, 1
cmp dl, r8b
jne 0x440877
jmp 0x43ec98
add rbp, 1
jmp 0x44070b
mov edx, 4
mov rcx, rbx
call fcn.00439860
add eax, 1
mov byte [rsi + 0x10], al
jmp 0x440769
mov edx, 6
mov rcx, rbx
lea rsi, [rbx + 0x1dc]
xor edi, edi
call fcn.00439860
add eax, 1
mov dword [rbx + 0x1d8], eax
cmp edi, dword [rbx + 0x1d8]
jge 0x440a9c
mov edx, 1
mov rcx, rbx
call fcn.00439860
mov edx, 0x10
mov rcx, rbx
mov byte [rsi], al
call fcn.00439860
mov edx, 0x10
mov rcx, rbx
mov word [rsi + 2], ax
call fcn.00439860
mov edx, 8
mov rcx, rbx
mov word [rsi + 4], ax
call fcn.00439860
cmp word [rsi + 2], 0
mov byte [rsi + 1], al
jne 0x43ec98
cmp word [rsi + 4], 0
jne 0x43ec98
add rsi, 6
movzx eax, al
cmp eax, dword [rbx + 0x1c8]
jge 0x43ec98
add edi, 1
jmp 0x440931
movzx eax, byte [rsi + 0xd]
mov rcx, rbx
imul rax, rax, 0x848
add rax, qword [rbx + 0xa0]
mov edx, dword [rax + 4]
shl edx, 3
call fcn.00436cf0
mov qword [rsi + 0x10], rax
mov rcx, rax
test rax, rax
je 0x43f5f2
movzx eax, byte [rsi + 0xd]
xor edx, edx
xor edi, edi
imul rax, rax, 0x848
add rax, qword [rbx + 0xa0]
movsxd r8, dword [rax + 4]
shl r8, 3
call sub.msvcrt.dll_memset
movzx eax, byte [rsi + 0xd]
mov r13d, edi
imul rax, rax, 0x848
add rax, qword [rbx + 0xa0]
cmp dword [rax + 4], edi
jle 0x440b3f
mov r14d, dword [rax]
mov r8, qword [rsi + 0x10]
lea r15, [rdi*8]
mov rcx, rbx
add r8, r15
mov edx, r14d
mov qword [rsp + 0x38], r8
call fcn.00436cf0
mov r8, qword [rsp + 0x38]
mov qword [r8], rax
mov rax, qword [rsi + 0x10]
cmp qword [rax + rdi*8], 0
je 0x43f5f2
xor ecx, ecx
movsxd r9, r14d
jmp 0x440a8a
mov rax, qword [rsi + 0x10]
movzx r8d, byte [rsi + 0xc]
mov r10, r9
sub r10, rcx
mov r11, qword [rax + r15]
mov eax, r13d
cdq
idiv r8d
mov eax, r13d
mov byte [r11 + r10], dl
movzx r8d, byte [rsi + 0xc]
cdq
idiv r8d
mov r13d, eax
add rcx, 1
cmp r14d, ecx
jns 0x440a5d
add rdi, 1
jmp 0x4409ff
mov rcx, rbx
call fcn.004396c0
add eax, 1
jne 0x440a9c
mov dword [rbx + 0x4e0], 0
mov edi, dword [rsp + 0x40]
xor esi, esi
add edi, edi
cmp dword [rbx + 4], esi
jle 0x440c17
mov eax, dword [rbx + 0x94]
mov rcx, rbx
lea edx, [rax*4]
call fcn.00436cf0
mov rcx, rbx
mov qword [rbx + rsi*8 + 0x360], rax
movsxd rdx, dword [rbx + 0x94]
shl rdx, 2
shr rdx, 1
call fcn.00436cf0
mov edx, edi
mov rcx, rbx
mov qword [rbx + rsi*8 + 0x460], rax
call fcn.00436cf0
cmp qword [rbx + rsi*8 + 0x360], 0
mov qword [rbx + rsi*8 + 0x4e8], rax
je 0x43f5f2
cmp qword [rbx + rsi*8 + 0x460], 0
sete dl
test rax, rax
sete al
add rsi, 1
or dl, al
je 0x440abb
jmp 0x43f5f2
add rbp, 1
jmp 0x44050d
mov edx, 8
mov rcx, rbx
call fcn.00439860
mov byte [rsi + r12 + 0x41], al
movzx eax, al
cmp eax, dword [rbx + 0x98]
jl 0x43ff0e
jmp 0x43f397
mov edx, 2
mov rcx, rbx
xor r13d, r13d
call fcn.00439860
mov rcx, rbx
mov edx, 4
add eax, 1
mov byte [rsi + 0x634], al
call fcn.00439860
mov word [rsi + 0x152], 0
mov ecx, eax
mov byte [rsi + 0x635], al
mov eax, 1
mov dword [rsi + 0x638], 2
shl eax, cl
mov word [rsi + 0x154], ax
movzx eax, byte [rsi]
cmp eax, r13d
jle 0x440ca9
movzx r14d, byte [rsi + r13 + 1]
xor r12d, r12d
jmp 0x440c06
movzx edx, byte [rsi + 0x635]
mov rcx, rbx
add r12d, 1
call fcn.00439860
movsxd rdx, dword [rsi + 0x638]
mov r8d, eax
mov word [rsi + rdx*2 + 0x152], r8w
mov rax, rdx
add eax, 1
mov dword [rsi + 0x638], eax
movzx eax, byte [rsi + r14 + 0x21]
cmp r12d, eax
jl 0x440bd4
add r13, 1
jmp 0x440bbd
mov r8d, dword [rbx + 0x90]
xor edx, edx
mov rcx, rbx
call fcn.00438f80
test eax, eax
je 0x43eb2a
mov r8d, dword [rbx + 0x94]
mov edx, 1
mov rcx, rbx
call fcn.00438f80
test eax, eax
je 0x43eb2a
mov rax, qword [rbx + 0x90]
mov r10d, dword [rbx + 0x138]
xor r8d, r8d
xor r9d, r9d
mov qword [rbx + 0x88], rax
movsxd rax, dword [rbx + 0x94]
shl rax, 2
shr rax, 1
mov rcx, rax
cmp r10d, r9d
jle 0x440d89
mov rdx, r9
mov rdi, qword [rbx + 0x1c0]
shl rdx, 5
add rdi, rdx
xor edx, edx
mov eax, dword [rdi + 4]
sub eax, dword [rdi]
div dword [rdi + 8]
cmp r8d, eax
cmovl r8d, eax
add r9, 1
jmp 0x440c78
movsxd rdx, dword [rsi + 0x638]
xor eax, eax
jmp 0x440cca
movzx ecx, word [rsi + rax*2 + 0x152]
mov word [rbp + rax*4 + 2], ax
mov word [rbp + rax*4], cx
add rax, 1
cmp edx, eax
jg 0x440cb4
mov r8d, 4
lea r9, [0x00433e40]
mov rcx, rbp
call sub.msvcrt.dll_qsort
mov r8d, dword [rsi + 0x638]
xor eax, eax
jmp 0x440cfe
movzx edx, word [rbp + rax*4 + 2]
mov byte [rsi + rax + 0x346], dl
add rax, 1
cmp r8d, eax
jg 0x440cee
mov r12d, dword [rsp + 0x48]
mov eax, 2
mov r13d, eax
cmp r8d, eax
jle 0x440e1d
xor edx, edx
mov r11d, 0x10000
or r10d, 0xffffffff
movzx r9d, word [rsi + rdx*2 + 0x152]
mov r14d, edx
mov ecx, r9d
cmp r9d, r10d
jle 0x440d4a
cmp r9w, word [rsi + rax*2 + 0x152]
cmovb r12d, edx
cmovb r10d, r9d
cmp r9d, r11d
jge 0x440d66
cmp cx, word [rsi + rax*2 + 0x152]
cmovbe r14d, dword [rsp + 0x44]
cmova r11d, r9d
mov dword [rsp + 0x44], r14d
add rdx, 1
cmp r13d, edx
jg 0x440d25
movzx edx, byte [rsp + 0x44]
mov byte [rsi + rax*2 + 0x440], r12b
mov byte [rsi + rax*2 + 0x441], dl
add rax, 1
jmp 0x440d0d
lea eax, [r8 + 1]
mov byte [rbx + 0x6cd], 1
imul eax, dword [rbx + 4]
shl eax, 3
cmp eax, ecx
cmovb eax, ecx
cmp qword [rbx + 0x68], 0
mov dword [rbx + 0xc], eax
je 0x440de7
mov eax, dword [rbx + 0x70]
cmp dword [rbx + 0x7c], eax
je 0x440dcc
mov r8d, 0x1042
lea rdx, str._home_jason_.cache_nim_main_r__m.._s.._snico_snico_sstb_vorbis.nim.c
lea rcx, str.f__temp_offset__f__alloc.alloc_buffer_length_in_bytes
call qword [sym.imp.msvcrt.dll__assert]
mov eax, dword [rbx + 0xc]
movsxd rdx, dword [rbx + 0x78]
lea rdx, [rdx + rax + 0x758]
mov eax, dword [rbx + 0x7c]
cmp rdx, rax
ja 0x43f5f2
cmp byte [rbx + 0x44], 0
jne 0x440dfd
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x440e0c
mov r15d, eax
sub r15d, dword [rbx + 0x30]
mov dword [rbx + 0x48], r15d
mov r12d, 1
jmp 0x43eb2a
mov rcx, qword [rbx + 0x18]
call sub.msvcrt.dll_ftell
sub eax, dword [rbx + 0x20]
mov r15d, eax
jmp 0x440dfd
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x48], r12d
cmp eax, r8d
cmovge r8d, eax
add rdi, 1
mov dword [rsp + 0x40], r8d
jmp 0x43fe51