Function at 0x1400e47f0
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x118]
sub rsp, 0x218
mov qword [rbp + 0x78], 0xfffffffffffffffe
lea rax, [rcx + 0x10]
mov qword [rbp + 0x70], rax
add rax, 8
mov qword [rbp + 0x10], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
xor esi, esi
mov qword [rsp + 0x50], rsi
xor r13d, r13d
xor r14d, r14d
mov r8, qword [rbp + 0x160]
mov rax, qword [r8 + 0x80]
mov rbx, qword [rax]
movabs rdx, 0xd6bf94d5e57a42bd
cmp rbx, rax
je 0x1400e4d57
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x168], rax
test r14, r14
je 0x1400e48a9
mov rcx, qword [rbx + 0x20]
sub rcx, qword [r14 + 0x10]
mov rax, rdx
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, dword [r8 + 0x58]
cmp rdx, rax
setg r12b
jmp 0x1400e48ac
mov r12b, 1
or r15d, 0xffffffff
mov rcx, qword [rbx + 0x28]
call fcn.1402bc8c0
mov rcx, rax
call fcn.1402bcb38
mov rdi, rax
mov edx, 0x5c
mov rcx, rax
call fcn.1402bcbec
mov r11, rax
test rax, rax
je 0x1400e499f
sub r11, rdi
sar r11, 1
mov eax, r11d
cdq
and edx, 3
add eax, edx
sar eax, 2
mov edx, eax
mov r9d, 0xee55aaee
lea eax, [rax*4]
movsxd r10, eax
add r10, rdi
neg edx
movsxd r8, edx
je 0x1400e4938
nop dword [rax + rax]
imul eax, dword [r10 + r8*4], 0xcc9e2d51
rol eax, 0xf
imul ecx, eax, 0x1b873593
xor r9d, ecx
rol r9d, 0xd
add r9d, 0xfaddaf14
lea r9d, [r9 + r9*4]
inc r8
jne 0x1400e4910
xor edx, edx
mov ecx, r11d
and ecx, 3
dec ecx
je 0x1400e495e
dec ecx
je 0x1400e4954
dec ecx
jne 0x1400e4976
movzx edx, byte [r10 + 2]
shl edx, 0x10
movzx eax, byte [r10 + 1]
shl eax, 8
xor edx, eax
movzx eax, byte [r10]
xor eax, edx
imul ecx, eax, 0xcc9e2d51
rol ecx, 0x10
imul eax, ecx, 0x1b873593
xor r9d, eax
xor r9d, r11d
mov eax, r9d
shr eax, 0x10
xor eax, r9d
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0xc2b2ae35
mov r15d, ecx
shr r15d, 0x10
xor r15d, ecx
mov rcx, rdi
call fcn.1402b9c20
mov dword [rbp + 0x170], r15d
test r12b, r12b
je 0x1400e4c51
mov ecx, 0x38
call fcn.1402b968c
mov r14, rax
mov qword [rbp + 0x178], rax
test rax, rax
je 0x1400e49eb
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
call fcn.1400e29f0
mov qword [r14 + 0x20], rax
jmp 0x1400e49ee
xor r14d, r14d
mov qword [rbp - 0x20], r14
inc r13d
mov dword [r14], r13d
mov byte [r14 + 0x30], 0
mov rax, qword [rbx + 0x20]
mov qword [r14 + 8], rax
mov rax, qword [rbx + 0x20]
mov qword [r14 + 0x10], rax
mov ecx, 0x10
call fcn.1402b968c
mov rdi, rax
mov qword [rbp + 0x178], rax
test rax, rax
je 0x1400e4a3f
mov qword [rax], 0
mov qword [rax + 8], 0
call fcn.14000a380
mov qword [rdi], rax
jmp 0x1400e4a41
xor edi, edi
mov qword [r14 + 0x18], rdi
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rdx
mov dword [rbp + 0x90], r15d
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rbp + 0x98], xmm0
lea rdx, [rbp + 0x90]
mov rcx, rdi
call fcn.1400e9d40
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0xd8]
mov rcx, rdi
call fcn.1400e9d80
lea rcx, [r14 + 0x20]
movzx eax, byte [0x14042c16a]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x170]
lea rdx, [rbp + 0xb8]
call fcn.1400e9550
mov eax, dword [r14]
mov dword [rbp + 0x38], eax
mov qword [rbp + 0x40], r14
mov rdi, qword [rbp + 0x160]
lea rdx, [rbp + 0x38]
lea rcx, [rdi + 0x90]
call fcn.14000cf50
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0xa8]
lea rcx, [rdi + 0x90]
call fcn.14000cf80
lea rax, [rbp - 0x20]
mov rcx, qword [rbp + 0x168]
mov r8, qword [rsp + 0x40]
cmp rax, rcx
jae 0x1400e4bc0
lea rax, [rbp - 0x20]
cmp r8, rax
ja 0x1400e4bc0
lea rdi, [rbp - 0x20]
sub rdi, r8
sar rdi, 3
cmp rcx, rsi
jne 0x1400e4b9f
mov rax, rsi
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x1400e4b9f
sub rcx, r8
sar rcx, 3
movabs r9, 0x1fffffffffffffff
mov rax, r9
sub rax, rcx
cmp rax, 1
jb 0x1400e4d3d
lea rdx, [rcx + 1]
sub rsi, r8
sar rsi, 3
mov rcx, rsi
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp rax, rsi
jae 0x1400e4b79
xor esi, esi
jmp 0x1400e4b7c
add rsi, rcx
cmp rsi, rdx
cmovb rsi, rdx
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140009d30
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
test rcx, rcx
je 0x1400e4bab
mov rax, qword [r8 + rdi*8]
mov qword [rcx], rax
add rcx, 8
mov qword [rbp + 0x168], rcx
mov qword [rsp + 0x48], rcx
jmp 0x1400e4cc9
cmp rcx, rsi
jne 0x1400e4c37
mov rax, rsi
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x1400e4c37
sub rcx, r8
sar rcx, 3
movabs r9, 0x1fffffffffffffff
mov rax, r9
sub rax, rcx
cmp rax, 1
jb 0x1400e4d4a
lea rdx, [rcx + 1]
sub rsi, r8
sar rsi, 3
mov rcx, rsi
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp rax, rsi
jae 0x1400e4c16
xor esi, esi
jmp 0x1400e4c19
add rsi, rcx
cmp rsi, rdx
cmovb rsi, rdx
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140009d30
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400e4c3f
mov qword [rcx], r14
add rcx, 8
mov qword [rbp + 0x168], rcx
mov qword [rsp + 0x48], rcx
jmp 0x1400e4cc9
mov rax, qword [rbx + 0x20]
mov qword [r14 + 0x10], rax
mov rcx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rcx
mov dword [rbp + 0x58], r15d
movups xmm0, xmmword [rbp - 0x78]
movups xmmword [rbp + 0x60], xmm0
mov rdi, qword [r14 + 0x18]
lea rdx, [rbp + 0x58]
mov rcx, rdi
call fcn.1400e9d40
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0xf8]
mov rcx, rdi
call fcn.1400e9d80
lea rcx, [r14 + 0x20]
movzx eax, byte [0x14042c16a]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x170]
lea rdx, [rbp + 0xc8]
call fcn.1400e9550
mov rcx, qword [rbp + 0x168]
cmp byte [rbx + 0x19], 0
jne 0x1400e4d1e
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e4cfe
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e4d1e
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e4cf0
jmp 0x1400e4d1e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e4d1b
cmp rbx, qword [rax + 0x10]
jne 0x1400e4d1b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e4d08
mov rbx, rax
mov r8, qword [rbp + 0x160]
movabs rdx, 0xd6bf94d5e57a42bd
cmp rbx, qword [r8 + 0x80]
je 0x1400e4d63
jmp 0x1400e4878
lea rcx, [0x14030c718]
call fcn.1402b49f8
int3
lea rcx, [0x14030c718]
call fcn.1402b49f8
int3
mov rcx, qword [rsp + 0x48]
mov qword [rbp + 0x168], rcx
mov rax, rcx
mov rbx, qword [rsp + 0x40]
sub rax, rbx
test rax, 0xfffffffffffffff8
je 0x1400e59d6
nop word [rax + rax]
xor r12d, r12d
mov rax, rcx
sub rax, rbx
sar rax, 3
xor r15d, r15d
dec rax
mov qword [rbp + 0x178], rax
je 0x1400e4fb5
mov r14, qword [rbx + r15*8]
mov rdi, qword [rbx + r15*8 + 8]
mov rax, qword [r14 + 0x18]
cmp qword [rax + 8], 0x3e8
ja 0x1400e4f53
mov rcx, qword [rdi + 8]
sub rcx, qword [r14 + 0x10]
mov rax, rdx
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, dword [r8 + 0x5c]
cmp rdx, rax
jg 0x1400e4f5b
lea r13, [rdi + 0x20]
mov rdx, qword [r13]
mov rax, qword [rdx]
cmp rax, rdx
je 0x1400e4f5b
mov r8, qword [r14 + 0x20]
mov rcx, r8
mov rbx, qword [r8 + 8]
nop word [rax + rax]
mov r9, rbx
mov r10, rcx
cmp byte [rbx + 0x19], 0
jne 0x1400e4e39
mov r11d, dword [rax + 0x1c]
cmp dword [r9 + 0x1c], r11d
jae 0x1400e4e2c
mov r9, qword [r9 + 0x10]
jmp 0x1400e4e32
mov r10, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
je 0x1400e4e20
cmp r10, rcx
je 0x1400e4e52
mov r9d, dword [r10 + 0x1c]
cmp dword [rax + 0x1c], r9d
jb 0x1400e4e52
mov qword [rbp + 0x30], r10
lea r9, [rbp + 0x30]
jmp 0x1400e4e5a
mov qword [rbp], rcx
lea r9, [rbp]
cmp qword [r9], r8
jne 0x1400e4eca
cmp byte [rax + 0x19], 0
jne 0x1400e4eb7
mov r9, qword [rax + 0x10]
cmp byte [r9 + 0x19], 0
jne 0x1400e4e8f
mov rax, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
jne 0x1400e4eb7
nop dword [rax]
mov rax, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
je 0x1400e4e80
jmp 0x1400e4eb7
mov r9, qword [rax + 8]
cmp byte [r9 + 0x19], 0
jne 0x1400e4eb4
nop word [rax + rax]
cmp rax, qword [r9 + 0x10]
jne 0x1400e4eb4
mov rax, r9
mov r9, qword [r9 + 8]
cmp byte [r9 + 0x19], 0
je 0x1400e4ea0
mov rax, r9
cmp rax, rdx
jne 0x1400e4e10
mov rbx, qword [rsp + 0x40]
jmp 0x1400e4f5b
mov rax, qword [r14 + 8]
mov qword [rdi + 8], rax
mov r8, qword [r14 + 0x18]
mov rdx, qword [r8]
mov r8, rdx
mov rdx, qword [rdx]
mov rcx, qword [rdi + 0x18]
call fcn.1400e9ac0
mov rsi, qword [r14 + 0x18]
mov rax, qword [rsi]
mov rdi, qword [rax + 8]
mov rbx, rdi
cmp byte [rdi + 0x19], 0
jne 0x1400e4f20
nop dword [rax]
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.140009de0
mov rbx, qword [rbx]
mov rcx, rdi
call fcn.1402177e0
mov rdi, rbx
cmp byte [rbx + 0x19], 0
je 0x1400e4f00
mov rax, qword [rsi]
mov qword [rax + 8], rax
mov rax, qword [rsi]
mov qword [rax], rax
mov rax, qword [rsi]
mov qword [rax + 0x10], rax
mov qword [rsi + 8], 0
mov rdx, qword [r14 + 0x20]
mov r8, rdx
mov rdx, qword [rdx]
mov rcx, r13
call fcn.1400e9490
mov rbx, qword [rsp + 0x40]
inc r12d
mov byte [r14 + 0x30], 1
inc r15
cmp r15, qword [rbp + 0x178]
mov r8, qword [rbp + 0x160]
movabs rdx, 0xd6bf94d5e57a42bd
jb 0x1400e4da0
test r12d, r12d
jle 0x1400e4fb5
lea rdx, [rsp + 0x40]
mov rcx, r8
call fcn.1400e5d30
mov rcx, qword [rsp + 0x48]
mov qword [rbp + 0x168], rcx
mov rbx, qword [rsp + 0x40]
mov r8, qword [rbp + 0x160]
movabs rdx, 0xd6bf94d5e57a42bd
jmp 0x1400e4d80
xor r12d, r12d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
call fcn.14000a340
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
mov r15, qword [rbp + 0x160]
mov rcx, qword [r15 + 8]
call fcn.1400f9b60
lea rdx, [0x140348ca0]
test al, al
je 0x1400e54df
mov r13d, r12d
mov rax, qword [rbp + 0x168]
sub rax, rbx
sar rax, 3
mov qword [rbp + 0x168], rax
test rax, rax
je 0x1400e54df
mov r14, rbx
mov qword [rbp + 0x178], rbx
nop dword [rax + rax]
mov rax, qword [r14]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx]
mov rbx, qword [rbx]
cmp rbx, qword [rcx]
je 0x1400e54c4
mov rsi, qword [rbx + 0x30]
test rsi, rsi
jne 0x1400e5048
mov edi, r12d
mov qword [rbp - 0x60], rsi
jmp 0x1400e5066
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [rsi + rdi*2], 0
jne 0x1400e5050
mov qword [rbp - 0x60], 0
test edi, edi
jne 0x1400e506c
mov qword [rbp - 0x68], rdx
jmp 0x1400e508e
mov edx, edi
lea rcx, [rbp - 0x68]
call fcn.1401ff260
movsxd r9, edi
mov eax, dword [rbp - 0x60]
inc eax
movsxd rdx, eax
mov r8, rsi
mov rcx, qword [rbp - 0x68]
call fcn.1402bd21c
mov edx, edi
lea rcx, [rbp - 0x68]
call fcn.140200570
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 8]
mov rsi, rax
cmp byte [rdi + 0x19], 0
jne 0x1400e50fd
nop dword [rax + rax]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rdi + 0x20]
call fcn.1402b9aac
test eax, eax
jns 0x1400e50c7
mov rdi, qword [rdi + 0x10]
jmp 0x1400e50cd
mov rsi, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x1400e50b0
mov rax, qword [rsp + 0x30]
cmp rsi, rax
je 0x1400e50fd
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rbp - 0x68]
call fcn.1402b9aac
test eax, eax
mov rax, qword [rsp + 0x30]
js 0x1400e50fd
mov qword [rbp + 8], rsi
lea rsi, [rbp + 8]
jmp 0x1400e5105
mov qword [rbp + 0x18], rax
lea rsi, [rbp + 0x18]
mov rsi, qword [rsi]
cmp dword [rbp - 0x60], 0
jle 0x1400e511c
mov rcx, qword [rbp - 0x68]
call fcn.1402b9c20
mov rax, qword [rsp + 0x30]
cmp rsi, rax
je 0x1400e5455
lea rax, [0x140348ca0]
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], 0
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 0
mov r14, qword [rbx + 0x30]
test r14, r14
jne 0x1400e5158
mov edi, r12d
mov qword [rsp + 0x70], r14
jmp 0x1400e5178
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [r14 + rdi*2], 0
jne 0x1400e5160
mov qword [rsp + 0x70], 0
test edi, edi
jne 0x1400e517f
mov qword [rsp + 0x68], rax
jmp 0x1400e51a4
mov edx, edi
lea rcx, [rsp + 0x68]
call fcn.1401ff260
movsxd r9, edi
mov eax, dword [rsp + 0x70]
inc eax
movsxd rdx, eax
mov r8, r14
mov rcx, qword [rsp + 0x68]
call fcn.1402bd21c
mov edx, edi
lea rcx, [rsp + 0x68]
call fcn.140200570
nop
mov r15, qword [r15 + 8]
lea rax, [r15 + 0x6e8]
mov qword [rbp + 0x48], rax
lea r12, [rax + 8]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r14, qword [r15 + 0x718]
mov rdi, qword [r14 + 8]
cmp byte [rdi + 0x19], 0
jne 0x1400e5204
nop
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdi + 0x20]
call fcn.1402b9aac
test eax, eax
jns 0x1400e51f8
mov rdi, qword [rdi + 0x10]
jmp 0x1400e51fe
mov r14, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x1400e51e0
cmp r14, qword [r15 + 0x718]
je 0x1400e5229
mov rdx, qword [r14 + 0x20]
mov rcx, qword [rsp + 0x68]
call fcn.1402b9aac
test eax, eax
js 0x1400e5229
mov qword [rbp - 0x18], r14
lea rdi, [rbp - 0x18]
jmp 0x1400e5238
mov rax, qword [r15 + 0x718]
mov qword [rbp - 0x10], rax
lea rdi, [rbp - 0x10]
mov rdi, qword [rdi]
cmp rdi, qword [r15 + 0x718]
jne 0x1400e5252
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor dil, dil
jmp 0x1400e52c4
mov edx, dword [rdi + 0x3c]
lea rcx, [rsp + 0x78]
call fcn.1401ff260
movsxd r9, dword [rdi + 0x3c]
mov eax, dword [rbp - 0x80]
inc eax
movsxd rdx, eax
mov r8, qword [rdi + 0x30]
mov rcx, qword [rsp + 0x78]
call fcn.1402bd21c
mov edx, dword [rdi + 0x3c]
lea rcx, [rsp + 0x78]
call fcn.140200570
mov edx, dword [rdi + 0x4c]
lea rcx, [rbp - 0x48]
call fcn.1401ff260
movsxd r9, dword [rdi + 0x4c]
mov eax, dword [rbp - 0x40]
inc eax
movsxd rdx, eax
mov r8, qword [rdi + 0x40]
mov rcx, qword [rbp - 0x48]
call fcn.1402bd21c
mov edx, dword [rdi + 0x4c]
lea rcx, [rbp - 0x48]
call fcn.140200570
nop
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dil, 1
cmp dword [rsp + 0x70], 0
jle 0x1400e52d5
mov rcx, qword [rsp + 0x68]
call fcn.1402b9c20
test dil, dil
je 0x1400e5398
mov rcx, qword [rbp - 0x48]
test rcx, rcx
jne 0x1400e52eb
mov al, 1
jmp 0x1400e5300
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400e52f0
test rax, rax
sete al
lea rdi, [rbp - 0x48]
lea rcx, [rsp + 0x78]
test al, al
cmovne rdi, rcx
xor r12d, r12d
mov qword [rbp - 0x70], r12
mov edx, dword [rdi + 0xc]
test edx, edx
jne 0x1400e532a
lea r14, [0x140348ca0]
mov qword [rbp - 0x78], r14
jmp 0x1400e5352
lea rcx, [rbp - 0x78]
call fcn.1401ff260
movsxd r9, dword [rdi + 0xc]
mov eax, dword [rbp - 0x70]
inc eax
movsxd rdx, eax
mov r8, qword [rdi]
mov rcx, qword [rbp - 0x78]
call fcn.1402bd21c
lea r14, [0x140348ca0]
mov edx, dword [rdi + 0xc]
lea rcx, [rbp - 0x78]
call fcn.140200570
nop
lea r8, [rbp - 0x78]
lea rdx, [rsp + 0x40]
call fcn.1400e5b00
test eax, eax
js 0x1400e5387
movsxd r8, eax
cmp r8, r13
je 0x1400e5387
mov rdx, r13
lea rcx, [rsp + 0x40]
call fcn.1400e5c10
nop
cmp dword [rbp - 0x70], 0
jle 0x1400e53a2
mov rcx, qword [rbp - 0x78]
call fcn.1402b9c20
jmp 0x1400e53a2
xor r12d, r12d
lea r14, [0x140348ca0]
mov rsi, qword [rsi + 0x20]
test rsi, rsi
jne 0x1400e53b4
mov edi, r12d
mov qword [rbp - 0x50], rsi
jmp 0x1400e53d6
or rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp word [rsi + rdi*2], 0
jne 0x1400e53c0
mov qword [rbp - 0x50], 0
test edi, edi
jne 0x1400e53dc
mov qword [rbp - 0x58], r14
jmp 0x1400e53fe
mov edx, edi
lea rcx, [rbp - 0x58]
call fcn.1401ff260
movsxd r9, edi
mov eax, dword [rbp - 0x50]
inc eax
movsxd rdx, eax
mov r8, rsi
mov rcx, qword [rbp - 0x58]
call fcn.1402bd21c
mov edx, edi
lea rcx, [rbp - 0x58]
call fcn.140200570
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x30]
call fcn.1400e9190
cmp dword [rbp - 0x50], 0
jle 0x1400e5427
mov rcx, qword [rbp - 0x58]
call fcn.1402b9c20
nop
cmp dword [rbp - 0x40], 0
jle 0x1400e5437
mov rcx, qword [rbp - 0x48]
call fcn.1402b9c20
nop
cmp dword [rbp - 0x80], 0
jle 0x1400e5447
mov rcx, qword [rsp + 0x78]
call fcn.1402b9c20
mov r15, qword [rbp + 0x160]
mov r14, qword [rbp + 0x178]
cmp byte [rbx + 0x19], 0
jne 0x1400e54a6
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e547f
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e54a6
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e5471
jmp 0x1400e54a6
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e54a3
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x1400e54a3
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e5490
mov rbx, rax
mov rax, qword [r14]
mov rcx, qword [rax + 0x18]
cmp rbx, qword [rcx]
lea rdx, [0x140348ca0]
jne 0x1400e5036
lea rdx, [0x140348ca0]
inc r13
add r14, 8
mov qword [rbp + 0x178], r14
cmp r13, qword [rbp + 0x168]
jb 0x1400e5020
mov rcx, r15
call fcn.1400e5fd0
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r12
call fcn.1400e29f0
mov qword [rbp - 0x30], rax
mov rcx, qword [r15 + 0x90]
mov rdi, qword [rcx]
mov qword [rbp - 0x38], rdi
cmp rdi, rcx
je 0x1400e5842
nop
mov r13d, dword [rdi + 0x20]
mov dword [rbp + 0x178], r13d
mov rax, qword [rdi + 0x28]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0x28], rax
mov byte [rbp + 0x168], 1
mov rax, qword [rax]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1400e57a4
lea rdi, [0x140348ca0]
jmp 0x1400e5557
mov r15, qword [rbp + 0x160]
mov r14, qword [rbx + 0x30]
test r14, r14
jne 0x1400e556a
mov esi, r12d
mov qword [rsp + 0x60], r14
jmp 0x1400e5588
or rsi, 0xffffffffffffffff
nop
inc rsi
cmp word [r14 + rsi*2], 0
jne 0x1400e5570
mov qword [rsp + 0x60], 0
test esi, esi
jne 0x1400e558f
mov qword [rsp + 0x58], rdi
jmp 0x1400e55b4
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.1401ff260
movsxd r9, esi
mov eax, dword [rsp + 0x60]
inc eax
movsxd rdx, eax
mov r8, r14
mov rcx, qword [rsp + 0x58]
call fcn.1402bd21c
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.140200570
nop
mov r15, qword [r15 + 8]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400e570c
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400e55e0
test rax, rax
sete al
test al, al
jne 0x1400e570c
mov edx, 0x3a
call fcn.1402bcdb4
mov rdx, qword [rsp + 0x58]
test rax, rax
je 0x1400e5616
sub rax, rdx
sar rax, 1
test eax, eax
jns 0x1400e5622
lea rcx, [0x14034f598]
call fcn.1402bbf64
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.1400f1c50
test al, al
je 0x1400e5647
lock inc dword [r15 + 0x460]
mov r13d, dword [rbp + 0x178]
jmp 0x1400e5707
lea rax, [r15 + 0x468]
mov qword [rbp + 0x88], rax
lea r12, [rax + 8]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r14, qword [r15 + 0x498]
mov rsi, qword [r14 + 8]
cmp byte [rsi + 0x19], 0
jne 0x1400e56a4
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsi + 0x20]
call fcn.1402b9aac
test eax, eax
jns 0x1400e5698
mov rsi, qword [rsi + 0x10]
jmp 0x1400e569e
mov r14, rsi
mov rsi, qword [rsi]
cmp byte [rsi + 0x19], 0
je 0x1400e5680
cmp r14, qword [r15 + 0x498]
je 0x1400e56c9
mov rdx, qword [r14 + 0x20]
mov rcx, qword [rsp + 0x58]
call fcn.1402b9aac
test eax, eax
js 0x1400e56c9
mov qword [rbp - 8], r14
lea rax, [rbp - 8]
jmp 0x1400e56d8
mov rax, qword [r15 + 0x498]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x20]
mov rax, qword [rax]
cmp rax, qword [r15 + 0x498]
je 0x1400e56fb
mov rsi, qword [rax + 0x30]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rsp + 0x58]
xor r12d, r12d
jmp 0x1400e570f
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor r12d, r12d
mov rcx, qword [rsp + 0x58]
mov rsi, r12
cmp dword [rsp + 0x60], 0
jle 0x1400e571b
call fcn.1402b9c20
test rsi, rsi
je 0x1400e5737
xor r15b, r15b
mov byte [rbp + 0x168], r15b
mov edx, r13d
mov rcx, rsi
call fcn.1400e42d0
jmp 0x1400e573f
movzx r15d, byte [rbp + 0x168]
cmp byte [rbx + 0x19], 0
jne 0x1400e578e
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e576e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e578e
nop dword [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e5760
jmp 0x1400e578e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e578b
cmp rbx, qword [rax + 0x10]
jne 0x1400e578b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e5778
mov rbx, rax
mov rax, qword [rbp + 0x28]
cmp rbx, qword [rax]
jne 0x1400e5550
test r15b, r15b
mov rdi, qword [rbp - 0x38]
je 0x1400e57c6
movzx eax, byte [0x14042c16a]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x178]
lea rdx, [rbp + 0xe8]
lea rcx, [rbp - 0x30]
call fcn.1400e3ae0
cmp byte [rdi + 0x19], 0
jne 0x1400e582a
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e5802
mov rdi, rax
mov qword [rbp - 0x38], rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e582a
nop word [rax + rax]
mov rdi, rax
mov qword [rbp - 0x38], rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e57f0
jmp 0x1400e582a
mov rax, qword [rdi + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e5823
nop dword [rax]
cmp rdi, qword [rax + 0x10]
jne 0x1400e5823
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e5810
mov rdi, rax
mov qword [rbp - 0x38], rax
mov r15, qword [rbp + 0x160]
cmp rdi, qword [r15 + 0x90]
jne 0x1400e5510
mov rax, qword [rbp - 0x30]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1400e58b7
nop word [rax + rax]
mov edx, dword [rbx + 0x1c]
mov rcx, r15
call fcn.1400e5a10
cmp byte [rbx + 0x19], 0
jne 0x1400e58ae
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e588e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e58ae
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e5880
jmp 0x1400e58ae
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e58ab
cmp rbx, qword [rax + 0x10]
jne 0x1400e58ab
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e5898
mov rbx, rax
mov rax, qword [rbp - 0x30]
cmp rbx, rax
jne 0x1400e5850
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x48], rcx
mov r9, rax
mov r8, qword [rax]
lea rdx, [rbp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.140009350
mov rcx, qword [rbp - 0x30]
call fcn.1402177e0
nop
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rdi]
cmp rbx, rbx
jne 0x1400e5952
mov rsi, qword [rdi + 8]
mov rbx, rsi
cmp byte [rsi + 0x19], 0
jne 0x1400e5936
nop dword [rax + rax]
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x30]
call fcn.14000a240
mov rbx, qword [rbx]
cmp dword [rsi + 0x28], 0
jle 0x1400e5920
mov rcx, qword [rsi + 0x20]
call fcn.1402b9c20
mov rcx, rsi
call fcn.1402177e0
mov rsi, rbx
cmp byte [rbx + 0x19], 0
je 0x1400e5900
mov rdi, qword [rsp + 0x30]
mov qword [rdi + 8], rdi
mov rax, qword [rsp + 0x30]
mov qword [rax], rax
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x10], rax
mov qword [rsp + 0x38], r12
jmp 0x1400e59c4
cmp rbx, rdi
je 0x1400e59c9
mov r8, rbx
cmp byte [rbx + 0x19], 0
jne 0x1400e59ae
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e598e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e59ae
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e5980
jmp 0x1400e59ae
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e59ab
cmp rbx, qword [rax + 0x10]
jne 0x1400e59ab
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e5998
mov rbx, rax
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x30]
call fcn.140008e20
cmp rbx, rdi
jne 0x1400e5957
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.1402177e0
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x1400e59e4
mov rcx, rbx
call fcn.1402177e0
nop
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, 1
add rsp, 0x218
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret