Function at 0x14005b4e0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
movaps xmmword [rsp + 0x120], xmm6
mov r13, rdx
mov rax, qword [0x1402e0038]
xor rax, rsp
mov qword [rsp + 0x118], rax
mov r15, qword [rcx + 8]
mov al, byte [r15 + 0x2c]
test al, 1
jne 0x14005bf2c
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x24]
test al, 1
jne 0x14005bf22
mov r14, r9
mov ebx, r8d
mov rbp, rcx
movzx eax, byte [r9 + 0x17]
test al, al
js 0x14005b546
and eax, 0x7f
jmp 0x14005b54a
mov rax, qword [r14 + 8]
add rax, 0x51
cmp rax, 0x59
mov r12d, 0x58
cmovae r12, rax
mov rcx, r15
mov rdx, r12
mov r8d, 0xf1645913
call fcn.140065770
xor ecx, ecx
cmp eax, 0x40
jb 0x14005b5dc
mov eax, eax
mov edx, eax
and edx, 7
jne 0x14005b5dc
add r12, 0x10
xor ecx, ecx
mov rdx, rax
add rdx, r12
jb 0x14005b5dc
mov r8, rdx
shr r8, 0x20
jne 0x14005b5dc
mov r8d, dword [r15 + 0x14]
cmp r8d, edx
jb 0x14005bf39
mov rdx, qword [r15 + 8]
mov ecx, dword [rdx + rax + 4]
cmp ecx, 0xc8799269
jne 0x14005bf39
add rdx, rax
mov ecx, dword [rdx]
cmp r12, rcx
ja 0x14005bf39
xor ecx, ecx
add eax, dword [rdx]
jb 0x14005b5dc
cmp eax, r8d
ja 0x14005b5dc
mov eax, dword [rdx + 8]
xor ecx, ecx
cmp eax, 0xf1645913
cmove rcx, rdx
lea rsi, [rcx + 0x10]
test rcx, rcx
cmove rsi, rcx
test rsi, rsi
je 0x14005bf17
mov edi, dword [rsp + 0x1b8]
xorps xmm0, xmm0
movups xmmword [rsi + 0x40], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x50], 0
lea rcx, [rsi + 0x50]
movzx eax, byte [r14 + 0x17]
mov r8d, eax
and r8d, 0x7f
test al, al
mov rdx, qword [r14]
cmovns rdx, r14
cmovs r8, qword [r14 + 8]
inc r8
call fcn.140111620
mov dword [rsi], ebx
or edi, 0x40
mov dword [rsi + 4], edi
mov dword [rsi + 0x1c], 0
cmp ebx, 4
je 0x14005beb3
mov rdi, qword [rsp + 0x1b0]
mov rbx, qword [rdi + 8]
sub rbx, qword [rdi]
mov r14, rbx
sar r14, 2
movabs rax, 0xdfffffffffffffff
lea rcx, [r14 + rax]
add rax, 2
cmp rcx, rax
jb 0x14005bf2c
mov eax, dword [rdi + 0x1c]
test eax, eax
jne 0x14005b775
mov rcx, qword [rbp + 8]
mov rdx, rbx
mov r8d, 0xbcea225b
call fcn.140065770
test eax, eax
je 0x14005bf2c
cmp eax, 0x40
jb 0x14005bf2c
mov ecx, eax
mov edx, ecx
and edx, 7
jne 0x14005bf2c
add rbx, 0x10
mov rdx, rcx
add rdx, rbx
jb 0x14005bf2c
mov r8, rdx
shr r8, 0x20
jne 0x14005bf2c
mov r9, qword [rbp + 8]
mov r8d, dword [r9 + 0x14]
cmp r8d, edx
jb 0x14005bf2c
mov rdx, qword [r9 + 8]
mov r9d, dword [rdx + rcx + 4]
cmp r9d, 0xc8799269
jne 0x14005bf2c
add rdx, rcx
mov ecx, dword [rdx]
cmp rbx, rcx
ja 0x14005bf2c
mov ecx, dword [rdx]
add ecx, eax
jb 0x14005bf2c
cmp ecx, r8d
ja 0x14005bf2c
mov r8d, dword [rdx + 8]
xor ecx, ecx
cmp r8d, 0xbcea225b
cmove rcx, rdx
test rcx, rcx
je 0x14005bf2c
add rcx, 0x10
je 0x14005bf2c
mov rdx, qword [rdi]
cmp qword [rdi + 8], rdx
je 0x14005b772
xor r8d, r8d
mov edx, dword [rdx + r8*4]
mov dword [rcx + r8*4], edx
inc r8
mov rdx, qword [rdi]
mov r9, qword [rdi + 8]
sub r9, rdx
sar r9, 2
cmp r8, r9
jb 0x14005b754
mov dword [rdi + 0x1c], eax
test rsi, rsi
je 0x14005bf2c
mov ecx, dword [rsp + 0x1a8]
mov edx, dword [rsp + 0x1a0]
movabs r8, 0xaaaaaaaaaaaaaaaa
mov dword [rsi + 8], edx
mov dword [rsi + 0xc], ecx
dec r14d
mov dword [rsi + 0x10], r14d
mov dword [rsi + 0x14], eax
mov eax, dword [rdi + 0x18]
mov dword [rsi + 0x18], eax
mov ebx, dword [rsi]
mov qword [r13], r8
cmp ebx, 4
je 0x14005bec1
mov eax, dword [rsi + 4]
mov dword [rsp + 0x64], eax
mov r11d, dword [rsi + 0x10]
mov eax, dword [rsi + 0x14]
mov edi, dword [rsi + 0x18]
mov rcx, qword [rbp + 8]
lea r8d, [rax + 0x14]
xor edx, edx
cmp r8d, 0x54
jb 0x14005b836
mov r9d, eax
and r9d, 7
jne 0x14005b836
mov r9d, dword [rcx + 0x14]
cmp r9d, r8d
jb 0x14005bf53
mov r8, qword [rcx + 8]
mov edx, dword [r8 + rax + 4]
cmp edx, 0xc8799269
jne 0x14005bf53
add r8, rax
mov edx, dword [r8]
cmp edx, 0x14
jb 0x14005bf53
xor edx, edx
mov r10d, dword [r8]
add r10d, eax
jb 0x14005b836
cmp r10d, r9d
ja 0x14005b836
mov r9d, dword [r8 + 8]
xor edx, edx
cmp r9d, 0xbcea225b
cmove rdx, r8
lea r14, [rdx + 0x10]
test rdx, rdx
cmove r14, rdx
lea r9d, [rax + 0x10]
xor edx, edx
cmp r9d, 0x50
mov qword [rsp + 0x38], r11
jb 0x14005b8da
mov r8d, eax
and r8d, 7
jne 0x14005b8da
mov r8d, dword [rcx + 0x14]
cmp r8d, r9d
jb 0x14005bf4c
mov r9, qword [rcx + 8]
mov edx, dword [r9 + rax + 4]
cmp edx, 0xc8799269
jne 0x14005bf4c
add r9, rax
mov edx, dword [r9]
cmp edx, 0x10
jb 0x14005bf5a
mov r10d, dword [r9]
add r10d, eax
setb r11b
xor edx, edx
test r9, r9
je 0x14005bf5c
test r11b, r11b
jne 0x14005bf5c
cmp r10d, r8d
mov r11, qword [rsp + 0x38]
ja 0x14005b8da
mov edx, dword [r9]
cmp rdx, 0x11
jb 0x14005bf40
add eax, edx
jb 0x14005bf40
cmp eax, r8d
ja 0x14005bf40
add rdx, 0xfffffffffffffff0
mov dword [rsp + 0x44], ebx
test r14, r14
je 0x14005bef6
cmp r11d, 2
jb 0x14005bef6
cmp r11d, 0x3ffffffe
ja 0x14005bef6
lea r12d, [r11 + 1]
lea rbx, [r12*4]
cmp rdx, rbx
jb 0x14005bef6
mov ecx, 0x20
call fcn.14010cc14
mov r15, rax
mov rcx, rbx
call fcn.14010cc14
mov qword [r15], rax
mov qword [r15 + 8], rax
lea rcx, [rax + r12*4]
mov qword [r15 + 0x10], rcx
xor edx, edx
mov r8, rax
add r8, rdx
je 0x14005bf06
mov dword [r8], 0
add rdx, 4
cmp rbx, rdx
jne 0x14005b939
mov qword [r15 + 8], rcx
mov qword [r15 + 0x18], 0
test r12, r12
je 0x14005bf09
mov ecx, dword [r14]
mov dword [rax], ecx
mov eax, 1
mov ecx, dword [r14 + rax*4]
cmp ecx, dword [r14 + rax*4 - 4]
jle 0x14005beed
mov rdx, qword [r15]
mov r8, qword [r15 + 8]
sub r8, rdx
sar r8, 2
cmp r8, rax
jbe 0x14005bf09
mov dword [rdx + rax*4], ecx
inc rax
cmp r12, rax
jne 0x14005b974
mov rax, qword [r15]
mov rdx, qword [r15 + 8]
sub rdx, rax
je 0x14005bf66
mov rcx, rdx
shr rcx, 2
xor r8d, r8d
lea r9, [0x1402b5b50]
movzx r10d, cl
movzx r11d, byte [rax + r8]
xor r11d, r10d
shr ecx, 8
xor ecx, dword [r9 + r11*4]
inc r8
cmp rdx, r8
jne 0x14005b9c6
mov dword [r15 + 0x18], ecx
cmp ecx, edi
jne 0x14005beed
test r15, r15
je 0x14005bef6
mov rcx, qword [rbp + 0x10]
test rcx, rcx
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x48], rbp
jne 0x14005c388
mov rdi, qword [0x1402f43c0]
cmp rdi, 1
jbe 0x14005c30e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005c1ab
mov qword [rsp + 0x68], rdi
mov rax, qword [0x1402f43c0]
cmp rax, 1
jbe 0x14005c34b
mov r12, qword [0x1402f43d0]
test r12, r12
je 0x14005c2f0
mov qword [rsp + 0x90], r15
lea rcx, [r12 + 0x78]
mov r13d, dword [r15 + 0x18]
mov rdi, qword [r12 + 0x80]
movabs rbp, 0xaaaaaaaaaaaaaaaa
test rdi, rdi
je 0x14005bfcb
mov rax, rdi
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov rax, rdi
sub rax, rdx
movabs r8, 0x3333333333333333
mov rdx, rax
and rdx, r8
shr rax, 2
and rax, r8
add rax, rdx
mov rdx, rax
shr rdx, 4
add rdx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rdx
movabs r14, 0x101010101010101
imul r14, rax
shr r14, 0x38
cmp r14, 1
ja 0x14005c289
mov eax, 0xffffffff
add eax, edi
mov ebp, r13d
and ebp, eax
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
mov rax, qword [rax + rbp*8]
test rax, rax
je 0x14005bfc6
mov r8, qword [rax]
test r8, r8
je 0x14005bfc6
mov rax, qword [r8 + 8]
cmp rax, r13
jne 0x14005bfa6
mov rcx, qword [r8 + 0x10]
cmp dword [rcx + 0x18], r13d
jne 0x14005bfbe
mov rax, qword [rcx]
mov r10, qword [rcx + 8]
mov rdx, r10
sub rdx, rax
mov r9, qword [r15]
mov r11, qword [r15 + 8]
sub r11, r9
cmp rdx, r11
jne 0x14005bfbe
cmp r10, rax
je 0x14005bb85
sar rdx, 2
cmp rdx, 1
mov r10, rdx
adc r10, 0
xor r11d, r11d
cmp rdx, r11
je 0x14005bf0c
mov ebx, dword [rax + r11*4]
cmp ebx, dword [r9 + r11*4]
jne 0x14005bfbe
inc r11
cmp r10, r11
jne 0x14005bb66
mov r14, rcx
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r14, r15
mov rbp, qword [rsp + 0x48]
je 0x14005c1b9
mov rcx, qword [r15]
test rcx, rcx
je 0x14005bbc6
mov rax, qword [r15 + 8]
cmp rax, rcx
je 0x14005bbbd
add rax, 0xfffffffffffffffc
jne 0x14005bbad
jmp 0x14005bf03
mov qword [r15 + 8], rcx
call fcn.14010cc0c
mov rcx, r15
call fcn.14010cc0c
xor ebx, ebx
mov rdx, qword [rsp + 0x38]
lea rdi, [rdx*8]
mov ecx, dword [rsi + 0x1c]
mov r15, qword [rbp + 8]
test ecx, ecx
jne 0x14005c1e0
movabs rbp, 0xfffffffc00000000
movaps xmm6, xmmword [0x14029bb90]
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
mov rax, r15
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005c2a5
lea r12, [rsi + 0x1c]
mov qword [rsp + 0x90], r15
mov dword [rsp + 0x98], 0x53215531
cmp edx, 0x1fffffff
ja 0x14005c1c3
mov eax, edi
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0xa0], 0
mov r13, r12
and r13, rbp
cmp r13, qword [0x1402e3948]
je 0x14005c2b7
mov qword [rsp + 0xa8], r12
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + 8]
mov rax, r15
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005c2c9
lea eax, [rdx*4]
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x78], 0x53215531
cmp edx, 0x1fffffff
ja 0x14005c1cb
mov r15d, dword [rsp + 0x44]
mov dword [rsp + 0x7c], edi
mov dword [rsp + 0x80], eax
cmp r13, qword [0x1402e3948]
je 0x14005c1d3
mov qword [rsp + 0x88], r12
lea r13, [rsi + 0x50]
cmp r15d, 1
jne 0x14005c406
lea rax, [rsi + 0x38]
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r15, [rsp + 0xb0]
lea r9, [rsp + 0x90]
mov rcx, r15
mov rdx, r13
mov r8, r14
call fcn.1400af330
mov r15, qword [r15]
test r15, r15
mov r13, qword [rsp + 0x58]
je 0x14005bf6d
mov eax, dword [rsp + 0x64]
lock or dword [r15 + 0x10], eax
mov qword [r13], r15
mov rcx, qword [rsp + 0x88]
mov rax, rcx
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005bf75
mov qword [rsp + 0x88], 0
mov rcx, qword [rsp + 0x70]
mov rax, rcx
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005bf7f
mov rcx, qword [rsp + 0xa8]
mov rax, rcx
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005bf89
mov qword [rsp + 0xa8], 0
mov rcx, qword [rsp + 0x90]
and rbp, rcx
cmp rbp, qword [0x1402e3948]
je 0x14005bf93
mov rbp, qword [rsp + 0x48]
test rbx, rbx
jne 0x14005c2db
mov rax, qword [rsp + 0x1c0]
mov rdx, qword [rbp + 8]
mov r8, qword [rdx + 8]
xor ecx, ecx
cmp r8, rsi
ja 0x14005be7a
sub rsi, r8
cmp rsi, 0x10
jb 0x14005be7a
mov r9d, dword [rdx + 0x14]
cmp rsi, r9
jae 0x14005be7a
lea ecx, [rsi - 0x10]
xor edx, edx
cmp ecx, 0x40
jb 0x14005bf0f
mov r10d, ecx
and r10d, 7
jne 0x14005bf0f
mov r10d, 0
cmp r9d, esi
jbe 0x14005be6d
mov r10d, dword [r8 + rcx + 4]
cmp r10d, 0xc8799269
jne 0x14005bf0f
add r8, rcx
mov r10d, dword [r8]
cmp r10d, 0x11
jb 0x14005bf0f
xor r10d, r10d
mov r11d, dword [r8]
add r11d, ecx
jb 0x14005be6d
cmp r11d, r9d
ja 0x14005be6d
mov r9d, dword [r8 + 8]
xor r10d, r10d
cmp r9d, 0xf1645913
cmove r10, r8
cmp r10, 0xfffffffffffffff0
cmove ecx, edx
test r10, r10
cmove ecx, edx
test rax, rax
je 0x14005be81
mov dword [rax], ecx
mov dword [rbp + 0x50], ecx
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.14010fba0
mov rax, r13
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r13], rax
lea rax, [rsi + 0x38]
lea r9, [rsi + 0x20]
lea r8, [rsi + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rbp
call fcn.1400c83f0
mov rax, qword [r13]
mov ecx, dword [rsi + 4]
lock or dword [rax + 0x10], ecx
jmp 0x14005bdd2
test r15, r15
jne 0x14005c84a
mov qword [r13], 0
jmp 0x14005bdd2
int3
int3
int3
int3
xor r10d, r10d
jmp 0x14005be6d
cmp ebx, 4
jne 0x14005b653
jmp 0x14005bf2c
mov rcx, r15
xor edx, edx
call fcn.1401e6390
mov qword [r13], 0
jmp 0x14005be84
xor ecx, ecx
jmp 0x14005b5dc
mov dl, 1
call fcn.1401e6390
mov r11, qword [rsp + 0x38]
xor edx, edx
jmp 0x14005b8da
xor edx, edx
jmp 0x14005b836
xor edx, edx
mov r11, qword [rsp + 0x38]
jmp 0x14005b8da
xor ecx, ecx
jmp 0x14005b9e1
xor r15d, r15d
jmp 0x14005bd42
call fcn.140103630
jmp 0x14005bd61
call fcn.140103630
jmp 0x14005bd85
call fcn.140103630
jmp 0x14005bda0
call fcn.140103630
jmp 0x14005bdc4
lea rdx, [rdi - 1]
and rax, rdx
jmp 0x14005bfb9
cmp r14d, 1
jbe 0x14005bf9d
cmp rax, rdi
jb 0x14005bfb9
xor edx, edx
div rdi
mov rax, rdx
cmp rax, rbp
jne 0x14005bfc6
mov r8, qword [r8]
jmp 0x14005bb0b
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0xb0]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdx + 0x10], rax
movaps xmm0, xmmword [0x14029bb90]
movaps xmmword [rdx], xmm0
lea r9, [rsp + 0x90]
mov rbx, rcx
mov r8, r13
call fcn.14009db10
mov rax, qword [r12 + 0x90]
inc rax
jns 0x14005c025
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x14005c02d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov rcx, rdi
shr rcx, 1
mov eax, edi
and eax, 1
or rax, rcx
test rdi, rdi
jns 0x14005c04b
cvtsi2ss xmm1, rax
addss xmm1, xmm1
jmp 0x14005c050
cvtsi2ss xmm1, rdi
movss xmm2, dword [r12 + 0x98]
je 0x14005c116
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x14005c116
mov rax, qword [rbx]
mov rax, qword [rax + rbp*8]
test rax, rax
jne 0x14005c0ec
lea rax, [r12 + 0x88]
mov rcx, qword [r12 + 0x88]
mov rdx, qword [rsp + 0xb0]
mov qword [rdx], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [r12 + 0x88], rcx
mov rcx, qword [r12 + 0x78]
mov qword [rcx + rbp*8], rax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
test rax, rax
je 0x14005c105
mov rax, qword [rax + 8]
lea rdx, [rdi - 1]
test rdi, rdx
je 0x14005c1a3
cmp rax, rdi
jb 0x14005c0db
xor edx, edx
div rdi
mov rax, rdx
mov rdx, qword [rbx]
mov qword [rdx + rax*8], rcx
mov rcx, qword [rsp + 0xb0]
jmp 0x14005c105
mov rcx, qword [rax]
mov rdx, qword [rsp + 0xb0]
mov qword [rdx], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
inc qword [r12 + 0x90]
mov r14, qword [rcx + 0x10]
jmp 0x14005bb88
divss xmm0, xmm2
call fcn.14012cc00
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x1402a301c]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rcx, [rdi + rdi]
mov edx, 1
cmp rdi, 3
jb 0x14005c159
lea r8, [rdi - 1]
xor edx, edx
test rdi, r8
setne dl
or rdx, rcx
cmp rdx, rax
cmovbe rdx, rax
mov rcx, rbx
call fcn.1400bfe30
mov rdi, qword [r12 + 0x80]
lea rax, [rdi - 1]
test rdi, rax
je 0x14005c191
cmp rdi, r13
ja 0x14005c19b
mov rax, r13
xor edx, edx
div rdi
mov rbp, rdx
jmp 0x14005c06d
mov eax, 0xffffffff
add eax, edi
and r13d, eax
mov rbp, r13
jmp 0x14005c06d
and rax, rdx
jmp 0x14005c0db
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005ba2f
xor ebx, ebx
mov r14, r15
jmp 0x14005bbd0
int3
int3
mov rcx, r12
call fcn.140103420
jmp 0x14005bcd8
lea r8d, [rcx + 0x10]
xor eax, eax
cmp r8d, 0x50
jb 0x14005c25f
mov edx, ecx
and edx, 7
jne 0x14005c25f
mov edx, dword [r15 + 0x14]
cmp edx, r8d
jb 0x14005c7f9
mov r8, qword [r15 + 8]
mov eax, dword [r8 + rcx + 4]
cmp eax, 0xc8799269
jne 0x14005c7f9
add r8, rcx
mov eax, dword [r8]
cmp eax, 0x10
jb 0x14005c7f9
mov r9d, dword [r8]
add r9d, ecx
setb r10b
xor eax, eax
test r8, r8
je 0x14005c25f
test r10b, r10b
jne 0x14005c25f
cmp r9d, edx
ja 0x14005c25f
mov eax, dword [r8]
cmp rax, 0x11
jb 0x14005c7ef
add ecx, eax
jb 0x14005c7ef
cmp ecx, edx
ja 0x14005c7ef
add rax, 0xfffffffffffffff0
cmp rax, rdi
jb 0x14005c277
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + 8]
mov rdx, qword [rsp + 0x38]
jmp 0x14005bbec
mov r13, qword [rsp + 0x58]
mov qword [r13], 0
jmp 0x14005bdc4
mov rbp, r13
cmp rdi, r13
ja 0x14005baf3
mov rax, r13
xor edx, edx
div rdi
mov rbp, rdx
jmp 0x14005baf3
mov rcx, r15
call fcn.140103420
mov rdx, qword [rsp + 0x38]
jmp 0x14005bc20
mov rcx, r12
call fcn.140103420
mov rdx, qword [rsp + 0x38]
jmp 0x14005bc6a
mov rcx, r15
call fcn.140103420
mov rdx, qword [rsp + 0x38]
jmp 0x14005bc9b
mov rcx, rbx
call fcn.1400af2c0
mov rcx, rbx
call fcn.14010cc0c
jmp 0x14005bdd2
mov ecx, 0xc0
call fcn.14010cc14
mov rcx, rax
call fcn.1400664a0
mov r12, qword [0x1402f43d0]
jmp 0x14005ba55
lea rcx, [0x1402f43c0]
call fcn.14009a090
test al, al
je 0x14005c7ce
lea rdi, [0x1402f43c8]
mov rcx, rdi
call fcn.140090e60
lea rcx, [0x1402f43c0]
mov rdx, rdi
xor r8d, r8d
mov r9, rcx
call fcn.140099fc0
jmp 0x14005ba1e
lea rcx, [0x1402f43c0]
call fcn.14009a090
test al, al
je 0x14005c7da
lea r14, [0x1402f43c8]
mov rcx, r14
call fcn.140090e60
lea rcx, [0x1402f43c0]
mov rdx, r14
xor r8d, r8d
mov r9, rcx
call fcn.140099fc0
jmp 0x14005ba45
mov rdx, r15
call fcn.14016e7c0
xor ebx, ebx
mov r14, rax
cmp rax, r15
cmovne rbx, r15
jmp 0x14005bbd0
cmp eax, 0x3f
je 0x14005c3b9
mov r8d, 0x3f
sub r8, rax
add rcx, r12
xor edx, edx
call fcn.140111cd0
lea rcx, [rsp + 0xb0]
mov r8d, 1
mov rdx, r12
call fcn.14000bf40
xor ecx, ecx
jmp 0x14005c593
shr r8, 6
lea rcx, [rsp + 0xb0]
mov rdx, r13
call fcn.14000bf40
mov r8, rdi
and r8, 0x3f
je 0x14005c556
and rdi, 0xffffffffffffffc0
add r13, rdi
mov edi, r8d
jmp 0x14005c544
cmp r15d, 3
jne 0x14005c44b
lea rax, [rsi + 0x38]
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r15, [rsp + 0xb0]
lea r9, [rsp + 0x90]
mov rcx, r15
mov rdx, r13
mov r8, r14
call fcn.1400c8760
jmp 0x14005bd28
cmp dword [rsp + 0x44], 2
jne 0x14005c491
lea rax, [rsi + 0x38]
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r15, [rsp + 0xb0]
lea r9, [rsp + 0x90]
mov rcx, r15
mov rdx, r13
mov r8, r14
call fcn.1400af840
jmp 0x14005bd28
cmp dword [rsp + 0x44], 0
je 0x14005c4a5
xor r15d, r15d
mov r13, qword [rsp + 0x58]
jmp 0x14005bd42
mov ecx, 0x28
call fcn.14010cc14
mov r15, rax
mov qword [rax + 8], r13
mov dword [rax + 0x10], 0
lea rax, [0x14029f9d8]
mov qword [r15], rax
xorps xmm6, xmm6
movups xmmword [r15 + 0x18], xmm6
test r13, r13
je 0x14005c7e6
mov rcx, r13
call fcn.14012f6e0
lea r12, [rsp + 0xc8]
movups xmmword [r12 + 0x34], xmm6
movups xmmword [r12 + 0x28], xmm6
movups xmmword [r12 + 0x18], xmm6
movups xmmword [r12 + 8], xmm6
movups xmmword [r12 - 8], xmm6
movaps xmm0, xmmword [0x1402ab1e0]
movups xmmword [r12 - 0x18], xmm0
test rax, rax
je 0x14005c556
mov rdi, rax
lea eax, [rax*8]
mov rcx, rdi
shr rcx, 0x1d
mov dword [rsp + 0xc4], ecx
mov dword [rsp + 0xc0], eax
mov r8, rdi
cmp rdi, 0x40
jae 0x14005c3d6
mov dword [rsp + 0x108], edi
mov rcx, r12
mov rdx, r13
call fcn.140111620
lea r13, [rsi + 0x20]
mov eax, dword [rsp + 0x108]
lea rcx, [rax + 1]
mov edx, dword [rsp + 0xc0]
mov dword [rsp + 0x38], edx
mov edx, dword [rsp + 0xc4]
mov dword [rsp + 0x44], edx
mov byte [rsp + rax + 0xc8], 0x80
cmp rax, 0x38
jae 0x14005c3a1
cmp rcx, 0x38
je 0x14005c5a6
mov r8d, 0x38
sub r8, rcx
add rcx, r12
xor edx, edx
call fcn.140111cd0
lea rdi, [rsp + 0xb0]
mov eax, dword [rsp + 0x38]
mov dword [rdi + 0x50], eax
mov eax, dword [rsp + 0x44]
mov dword [rdi + 0x54], eax
mov r8d, 1
mov rcx, rdi
mov rdx, r12
call fcn.14000bf40
mov rdi, qword [rdi]
mov ecx, 0x48
call fcn.14010cc14
mov r12, rax
mov qword [rax + 8], 0
mov rax, r13
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005c800
mov qword [r12 + 0x10], r13
cmp qword [r13], 0
jne 0x14005c60b
bswap rdi
mov qword [r13], rdi
mov qword [r12 + 0x18], 0
mov rax, r14
and rax, rbp
mov qword [rsp + 0x38], rax
cmp rax, qword [0x1402e3948]
jne 0x14005c630
mov rcx, r14
call fcn.140103420
mov rcx, r14
mov qword [r12 + 0x20], r14
mov rax, qword [r14 + 8]
sub rax, qword [r14]
cmp rax, 4
je 0x14005c7e9
lea rdi, [rsp + 0x98]
lea rax, [0x14029f0e8]
mov qword [r12], rax
mov r13, qword [rdi - 8]
mov rax, r13
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005c7c1
mov qword [r12 + 0x28], r13
mov eax, dword [rdi + 8]
mov dword [r12 + 0x38], eax
mov rax, qword [rdi]
mov qword [r12 + 0x30], rax
mov r13, qword [rsp + 0xa8]
mov rax, r13
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005c80d
lea rdi, [r15 + 0x18]
mov qword [r12 + 0x40], r13
mov eax, dword [rsi + 0x34]
cmp eax, 0xffffffff
je 0x14005c85f
lea r13, [rsi + 0x38]
mov rcx, qword [rdi]
mov qword [rdi], r12
test rcx, rcx
jne 0x14005c889
mov rax, qword [r12 + 0x10]
mov rdi, qword [rax]
mov ecx, 0x48
call fcn.14010cc14
mov r12, rax
mov qword [rax + 8], 0
mov rax, r13
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005c81a
mov qword [r12 + 0x10], r13
cmp qword [r13], 0
jne 0x14005c70b
mov qword [r13], rdi
mov qword [r12 + 0x18], 0
mov rax, qword [rsp + 0x38]
cmp rax, qword [0x1402e3948]
jne 0x14005c72a
mov rcx, r14
call fcn.140103420
mov qword [r12 + 0x20], r14
mov rax, qword [r14 + 8]
sub rax, qword [r14]
cmp rax, 4
je 0x14005c7ec
lea rdi, [rsp + 0x78]
lea rax, [0x14029f0e8]
mov qword [r12], rax
mov r14, qword [rdi - 8]
mov rax, r14
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005c7b7
mov qword [r12 + 0x28], r14
mov eax, dword [rdi + 8]
mov dword [r12 + 0x38], eax
mov rax, qword [rdi]
mov qword [r12 + 0x30], rax
mov r14, qword [rsp + 0x88]
mov rax, r14
and rax, rbp
cmp rax, qword [0x1402e3948]
je 0x14005c827
mov qword [r12 + 0x40], r14
mov eax, dword [rsi + 0x4c]
cmp eax, 0xffffffff
je 0x14005c89f
mov rcx, qword [r15 + 0x20]
mov qword [r15 + 0x20], r12
test rcx, rcx
je 0x14005bd2b
jmp 0x14005c834
mov rcx, r14
call fcn.140103420
jmp 0x14005c763
mov rcx, r13
call fcn.140103420
jmp 0x14005c673
mov rdi, qword [0x1402f43c0]
jmp 0x14005ba1e
mov rax, qword [0x1402f43c0]
jmp 0x14005ba45
int3
int3
int3
mov rcx, r15
mov dl, 1
call fcn.1401e6390
xor eax, eax
jmp 0x14005c25f
mov rcx, r13
call fcn.140103420
jmp 0x14005c5f8
mov rcx, r13
call fcn.140103420
jmp 0x14005c6a3
mov rcx, r13
call fcn.140103420
jmp 0x14005c6fb
mov rcx, r14
call fcn.140103420
jmp 0x14005c793
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x140318008]
jmp 0x14005bd2b
mov rcx, r15
call fcn.1400af2c0
mov rcx, r15
call fcn.14010cc0c
jmp 0x14005bef6
mov rax, qword [r12 + 0x40]
mov eax, dword [rax]
test eax, eax
je 0x14005c6b8
mov rcx, r12
add rcx, 0x28
call fcn.140087080
mov qword [r12 + 0x18], rax
mov rax, qword [r12 + 0x18]
jmp 0x14005c6b8
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x140318008]
jmp 0x14005c6cb
mov rax, qword [r12 + 0x40]
mov eax, dword [rax]
test eax, eax
je 0x14005c7a4
mov rcx, r12
add rcx, 0x28
call fcn.140087080
mov qword [r12 + 0x18], rax
mov rax, qword [r12 + 0x18]
jmp 0x14005c7a4