Function at 0x1400e5c70
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 0x1400e61d7
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x168], rax
test r14, r14
je 0x1400e5d29
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 0x1400e5d2c
mov r12b, 1
or r15d, 0xffffffff
mov rcx, qword [rbx + 0x28]
call fcn.1402bfd80
mov rcx, rax
call fcn.1402bfff8
mov rdi, rax
mov edx, 0x5c
mov rcx, rax
call fcn.1402c00ac
mov r11, rax
test rax, rax
je 0x1400e5e1f
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 0x1400e5db8
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 0x1400e5d90
xor edx, edx
mov ecx, r11d
and ecx, 3
dec ecx
je 0x1400e5dde
dec ecx
je 0x1400e5dd4
dec ecx
jne 0x1400e5df6
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.1402bd0e0
mov dword [rbp + 0x170], r15d
test r12b, r12b
je 0x1400e60d1
mov ecx, 0x38
call fcn.1402bcb4c
mov r14, rax
mov qword [rbp + 0x178], rax
test rax, rax
je 0x1400e5e6b
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
call fcn.1400e3e70
mov qword [r14 + 0x20], rax
jmp 0x1400e5e6e
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.1402bcb4c
mov rdi, rax
mov qword [rbp + 0x178], rax
test rax, rax
je 0x1400e5ebf
mov qword [rax], 0
mov qword [rax + 8], 0
call fcn.14000a380
mov qword [rdi], rax
jmp 0x1400e5ec1
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.1400eb1c0
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0xd8]
mov rcx, rdi
call fcn.1400eb200
lea rcx, [r14 + 0x20]
movzx eax, byte [0x14043124a]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x170]
lea rdx, [rbp + 0xb8]
call fcn.1400ea9d0
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 0x1400e6040
lea rax, [rbp - 0x20]
cmp r8, rax
ja 0x1400e6040
lea rdi, [rbp - 0x20]
sub rdi, r8
sar rdi, 3
cmp rcx, rsi
jne 0x1400e601f
mov rax, rsi
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x1400e601f
sub rcx, r8
sar rcx, 3
movabs r9, 0x1fffffffffffffff
mov rax, r9
sub rax, rcx
cmp rax, 1
jb 0x1400e61bd
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 0x1400e5ff9
xor esi, esi
jmp 0x1400e5ffc
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 0x1400e602b
mov rax, qword [r8 + rdi*8]
mov qword [rcx], rax
add rcx, 8
mov qword [rbp + 0x168], rcx
mov qword [rsp + 0x48], rcx
jmp 0x1400e6149
cmp rcx, rsi
jne 0x1400e60b7
mov rax, rsi
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x1400e60b7
sub rcx, r8
sar rcx, 3
movabs r9, 0x1fffffffffffffff
mov rax, r9
sub rax, rcx
cmp rax, 1
jb 0x1400e61ca
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 0x1400e6096
xor esi, esi
jmp 0x1400e6099
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 0x1400e60bf
mov qword [rcx], r14
add rcx, 8
mov qword [rbp + 0x168], rcx
mov qword [rsp + 0x48], rcx
jmp 0x1400e6149
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.1400eb1c0
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0xf8]
mov rcx, rdi
call fcn.1400eb200
lea rcx, [r14 + 0x20]
movzx eax, byte [0x14043124a]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x170]
lea rdx, [rbp + 0xc8]
call fcn.1400ea9d0
mov rcx, qword [rbp + 0x168]
cmp byte [rbx + 0x19], 0
jne 0x1400e619e
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e617e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e619e
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e6170
jmp 0x1400e619e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e619b
cmp rbx, qword [rax + 0x10]
jne 0x1400e619b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e6188
mov rbx, rax
mov r8, qword [rbp + 0x160]
movabs rdx, 0xd6bf94d5e57a42bd
cmp rbx, qword [r8 + 0x80]
je 0x1400e61e3
jmp 0x1400e5cf8
lea rcx, [0x140310778]
call fcn.1402b8038
int3
lea rcx, [0x140310778]
call fcn.1402b8038
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 0x1400e6e56
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 0x1400e6435
mov r14, qword [rbx + r15*8]
mov rdi, qword [rbx + r15*8 + 8]
mov rax, qword [r14 + 0x18]
cmp qword [rax + 8], 0x3e8
ja 0x1400e63d3
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 0x1400e63db
lea r13, [rdi + 0x20]
mov rdx, qword [r13]
mov rax, qword [rdx]
cmp rax, rdx
je 0x1400e63db
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 0x1400e62b9
mov r11d, dword [rax + 0x1c]
cmp dword [r9 + 0x1c], r11d
jae 0x1400e62ac
mov r9, qword [r9 + 0x10]
jmp 0x1400e62b2
mov r10, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
je 0x1400e62a0
cmp r10, rcx
je 0x1400e62d2
mov r9d, dword [r10 + 0x1c]
cmp dword [rax + 0x1c], r9d
jb 0x1400e62d2
mov qword [rbp + 0x30], r10
lea r9, [rbp + 0x30]
jmp 0x1400e62da
mov qword [rbp], rcx
lea r9, [rbp]
cmp qword [r9], r8
jne 0x1400e634a
cmp byte [rax + 0x19], 0
jne 0x1400e6337
mov r9, qword [rax + 0x10]
cmp byte [r9 + 0x19], 0
jne 0x1400e630f
mov rax, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
jne 0x1400e6337
nop dword [rax]
mov rax, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
je 0x1400e6300
jmp 0x1400e6337
mov r9, qword [rax + 8]
cmp byte [r9 + 0x19], 0
jne 0x1400e6334
nop word [rax + rax]
cmp rax, qword [r9 + 0x10]
jne 0x1400e6334
mov rax, r9
mov r9, qword [r9 + 8]
cmp byte [r9 + 0x19], 0
je 0x1400e6320
mov rax, r9
cmp rax, rdx
jne 0x1400e6290
mov rbx, qword [rsp + 0x40]
jmp 0x1400e63db
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.1400eaf40
mov rsi, qword [r14 + 0x18]
mov rax, qword [rsi]
mov rdi, qword [rax + 8]
mov rbx, rdi
cmp byte [rdi + 0x19], 0
jne 0x1400e63a0
nop dword [rax]
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.140009de0
mov rbx, qword [rbx]
mov rcx, rdi
call fcn.14021ae20
mov rdi, rbx
cmp byte [rbx + 0x19], 0
je 0x1400e6380
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.1400ea910
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 0x1400e6220
test r12d, r12d
jle 0x1400e6435
lea rdx, [rsp + 0x40]
mov rcx, r8
call fcn.1400e71b0
mov rcx, qword [rsp + 0x48]
mov qword [rbp + 0x168], rcx
mov rbx, qword [rsp + 0x40]
mov r8, qword [rbp + 0x160]
movabs rdx, 0xd6bf94d5e57a42bd
jmp 0x1400e6200
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.1400fb140
lea rdx, [0x14034d1a0]
test al, al
je 0x1400e695f
mov r13d, r12d
mov rax, qword [rbp + 0x168]
sub rax, rbx
sar rax, 3
mov qword [rbp + 0x168], rax
test rax, rax
je 0x1400e695f
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 0x1400e6944
mov rsi, qword [rbx + 0x30]
test rsi, rsi
jne 0x1400e64c8
mov edi, r12d
mov qword [rbp - 0x60], rsi
jmp 0x1400e64e6
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [rsi + rdi*2], 0
jne 0x1400e64d0
mov qword [rbp - 0x60], 0
test edi, edi
jne 0x1400e64ec
mov qword [rbp - 0x68], rdx
jmp 0x1400e650e
mov edx, edi
lea rcx, [rbp - 0x68]
call fcn.1402028a0
movsxd r9, edi
mov eax, dword [rbp - 0x60]
inc eax
movsxd rdx, eax
mov r8, rsi
mov rcx, qword [rbp - 0x68]
call fcn.1402c06dc
mov edx, edi
lea rcx, [rbp - 0x68]
call fcn.140203bb0
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 8]
mov rsi, rax
cmp byte [rdi + 0x19], 0
jne 0x1400e657d
nop dword [rax + rax]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rdi + 0x20]
call fcn.1402bcf6c
test eax, eax
jns 0x1400e6547
mov rdi, qword [rdi + 0x10]
jmp 0x1400e654d
mov rsi, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x1400e6530
mov rax, qword [rsp + 0x30]
cmp rsi, rax
je 0x1400e657d
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rbp - 0x68]
call fcn.1402bcf6c
test eax, eax
mov rax, qword [rsp + 0x30]
js 0x1400e657d
mov qword [rbp + 8], rsi
lea rsi, [rbp + 8]
jmp 0x1400e6585
mov qword [rbp + 0x18], rax
lea rsi, [rbp + 0x18]
mov rsi, qword [rsi]
cmp dword [rbp - 0x60], 0
jle 0x1400e659c
mov rcx, qword [rbp - 0x68]
call fcn.1402bd0e0
mov rax, qword [rsp + 0x30]
cmp rsi, rax
je 0x1400e68d5
lea rax, [0x14034d1a0]
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 0x1400e65d8
mov edi, r12d
mov qword [rsp + 0x70], r14
jmp 0x1400e65f8
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [r14 + rdi*2], 0
jne 0x1400e65e0
mov qword [rsp + 0x70], 0
test edi, edi
jne 0x1400e65ff
mov qword [rsp + 0x68], rax
jmp 0x1400e6624
mov edx, edi
lea rcx, [rsp + 0x68]
call fcn.1402028a0
movsxd r9, edi
mov eax, dword [rsp + 0x70]
inc eax
movsxd rdx, eax
mov r8, r14
mov rcx, qword [rsp + 0x68]
call fcn.1402c06dc
mov edx, edi
lea rcx, [rsp + 0x68]
call fcn.140203bb0
nop
mov r15, qword [r15 + 8]
lea rax, [r15 + 0x6f0]
mov qword [rbp + 0x48], rax
lea r12, [rax + 8]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r14, qword [r15 + 0x720]
mov rdi, qword [r14 + 8]
cmp byte [rdi + 0x19], 0
jne 0x1400e6684
nop
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdi + 0x20]
call fcn.1402bcf6c
test eax, eax
jns 0x1400e6678
mov rdi, qword [rdi + 0x10]
jmp 0x1400e667e
mov r14, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x1400e6660
cmp r14, qword [r15 + 0x720]
je 0x1400e66a9
mov rdx, qword [r14 + 0x20]
mov rcx, qword [rsp + 0x68]
call fcn.1402bcf6c
test eax, eax
js 0x1400e66a9
mov qword [rbp - 0x18], r14
lea rdi, [rbp - 0x18]
jmp 0x1400e66b8
mov rax, qword [r15 + 0x720]
mov qword [rbp - 0x10], rax
lea rdi, [rbp - 0x10]
mov rdi, qword [rdi]
cmp rdi, qword [r15 + 0x720]
jne 0x1400e66d2
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor dil, dil
jmp 0x1400e6744
mov edx, dword [rdi + 0x3c]
lea rcx, [rsp + 0x78]
call fcn.1402028a0
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.1402c06dc
mov edx, dword [rdi + 0x3c]
lea rcx, [rsp + 0x78]
call fcn.140203bb0
mov edx, dword [rdi + 0x4c]
lea rcx, [rbp - 0x48]
call fcn.1402028a0
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.1402c06dc
mov edx, dword [rdi + 0x4c]
lea rcx, [rbp - 0x48]
call fcn.140203bb0
nop
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dil, 1
cmp dword [rsp + 0x70], 0
jle 0x1400e6755
mov rcx, qword [rsp + 0x68]
call fcn.1402bd0e0
test dil, dil
je 0x1400e6818
mov rcx, qword [rbp - 0x48]
test rcx, rcx
jne 0x1400e676b
mov al, 1
jmp 0x1400e6780
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400e6770
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 0x1400e67aa
lea r14, [0x14034d1a0]
mov qword [rbp - 0x78], r14
jmp 0x1400e67d2
lea rcx, [rbp - 0x78]
call fcn.1402028a0
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.1402c06dc
lea r14, [0x14034d1a0]
mov edx, dword [rdi + 0xc]
lea rcx, [rbp - 0x78]
call fcn.140203bb0
nop
lea r8, [rbp - 0x78]
lea rdx, [rsp + 0x40]
call fcn.1400e6f80
test eax, eax
js 0x1400e6807
movsxd r8, eax
cmp r8, r13
je 0x1400e6807
mov rdx, r13
lea rcx, [rsp + 0x40]
call fcn.1400e7090
nop
cmp dword [rbp - 0x70], 0
jle 0x1400e6822
mov rcx, qword [rbp - 0x78]
call fcn.1402bd0e0
jmp 0x1400e6822
xor r12d, r12d
lea r14, [0x14034d1a0]
mov rsi, qword [rsi + 0x20]
test rsi, rsi
jne 0x1400e6834
mov edi, r12d
mov qword [rbp - 0x50], rsi
jmp 0x1400e6856
or rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp word [rsi + rdi*2], 0
jne 0x1400e6840
mov qword [rbp - 0x50], 0
test edi, edi
jne 0x1400e685c
mov qword [rbp - 0x58], r14
jmp 0x1400e687e
mov edx, edi
lea rcx, [rbp - 0x58]
call fcn.1402028a0
movsxd r9, edi
mov eax, dword [rbp - 0x50]
inc eax
movsxd rdx, eax
mov r8, rsi
mov rcx, qword [rbp - 0x58]
call fcn.1402c06dc
mov edx, edi
lea rcx, [rbp - 0x58]
call fcn.140203bb0
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x30]
call fcn.1400ea610
cmp dword [rbp - 0x50], 0
jle 0x1400e68a7
mov rcx, qword [rbp - 0x58]
call fcn.1402bd0e0
nop
cmp dword [rbp - 0x40], 0
jle 0x1400e68b7
mov rcx, qword [rbp - 0x48]
call fcn.1402bd0e0
nop
cmp dword [rbp - 0x80], 0
jle 0x1400e68c7
mov rcx, qword [rsp + 0x78]
call fcn.1402bd0e0
mov r15, qword [rbp + 0x160]
mov r14, qword [rbp + 0x178]
cmp byte [rbx + 0x19], 0
jne 0x1400e6926
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e68ff
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e6926
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e68f1
jmp 0x1400e6926
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e6923
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x1400e6923
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e6910
mov rbx, rax
mov rax, qword [r14]
mov rcx, qword [rax + 0x18]
cmp rbx, qword [rcx]
lea rdx, [0x14034d1a0]
jne 0x1400e64b6
lea rdx, [0x14034d1a0]
inc r13
add r14, 8
mov qword [rbp + 0x178], r14
cmp r13, qword [rbp + 0x168]
jb 0x1400e64a0
mov rcx, r15
call fcn.1400e7450
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r12
call fcn.1400e3e70
mov qword [rbp - 0x30], rax
mov rcx, qword [r15 + 0x90]
mov rdi, qword [rcx]
mov qword [rbp - 0x38], rdi
cmp rdi, rcx
je 0x1400e6cc2
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 0x1400e6c24
lea rdi, [0x14034d1a0]
jmp 0x1400e69d7
mov r15, qword [rbp + 0x160]
mov r14, qword [rbx + 0x30]
test r14, r14
jne 0x1400e69ea
mov esi, r12d
mov qword [rsp + 0x60], r14
jmp 0x1400e6a08
or rsi, 0xffffffffffffffff
nop
inc rsi
cmp word [r14 + rsi*2], 0
jne 0x1400e69f0
mov qword [rsp + 0x60], 0
test esi, esi
jne 0x1400e6a0f
mov qword [rsp + 0x58], rdi
jmp 0x1400e6a34
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.1402028a0
movsxd r9, esi
mov eax, dword [rsp + 0x60]
inc eax
movsxd rdx, eax
mov r8, r14
mov rcx, qword [rsp + 0x58]
call fcn.1402c06dc
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.140203bb0
nop
mov r15, qword [r15 + 8]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400e6b8c
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400e6a60
test rax, rax
sete al
test al, al
jne 0x1400e6b8c
mov edx, 0x3a
call fcn.1402c0274
mov rdx, qword [rsp + 0x58]
test rax, rax
je 0x1400e6a96
sub rax, rdx
sar rax, 1
test eax, eax
jns 0x1400e6aa2
lea rcx, [0x140353400]
call fcn.1402bf424
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.1400f3230
test al, al
je 0x1400e6ac7
lock inc dword [r15 + 0x468]
mov r13d, dword [rbp + 0x178]
jmp 0x1400e6b87
lea rax, [r15 + 0x470]
mov qword [rbp + 0x88], rax
lea r12, [rax + 8]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r14, qword [r15 + 0x4a0]
mov rsi, qword [r14 + 8]
cmp byte [rsi + 0x19], 0
jne 0x1400e6b24
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsi + 0x20]
call fcn.1402bcf6c
test eax, eax
jns 0x1400e6b18
mov rsi, qword [rsi + 0x10]
jmp 0x1400e6b1e
mov r14, rsi
mov rsi, qword [rsi]
cmp byte [rsi + 0x19], 0
je 0x1400e6b00
cmp r14, qword [r15 + 0x4a0]
je 0x1400e6b49
mov rdx, qword [r14 + 0x20]
mov rcx, qword [rsp + 0x58]
call fcn.1402bcf6c
test eax, eax
js 0x1400e6b49
mov qword [rbp - 8], r14
lea rax, [rbp - 8]
jmp 0x1400e6b58
mov rax, qword [r15 + 0x4a0]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x20]
mov rax, qword [rax]
cmp rax, qword [r15 + 0x4a0]
je 0x1400e6b7b
mov rsi, qword [rax + 0x30]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rsp + 0x58]
xor r12d, r12d
jmp 0x1400e6b8f
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 0x1400e6b9b
call fcn.1402bd0e0
test rsi, rsi
je 0x1400e6bb7
xor r15b, r15b
mov byte [rbp + 0x168], r15b
mov edx, r13d
mov rcx, rsi
call fcn.1400e5750
jmp 0x1400e6bbf
movzx r15d, byte [rbp + 0x168]
cmp byte [rbx + 0x19], 0
jne 0x1400e6c0e
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e6bee
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e6c0e
nop dword [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e6be0
jmp 0x1400e6c0e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e6c0b
cmp rbx, qword [rax + 0x10]
jne 0x1400e6c0b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e6bf8
mov rbx, rax
mov rax, qword [rbp + 0x28]
cmp rbx, qword [rax]
jne 0x1400e69d0
test r15b, r15b
mov rdi, qword [rbp - 0x38]
je 0x1400e6c46
movzx eax, byte [0x14043124a]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x178]
lea rdx, [rbp + 0xe8]
lea rcx, [rbp - 0x30]
call fcn.1400e4f60
cmp byte [rdi + 0x19], 0
jne 0x1400e6caa
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e6c82
mov rdi, rax
mov qword [rbp - 0x38], rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e6caa
nop word [rax + rax]
mov rdi, rax
mov qword [rbp - 0x38], rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e6c70
jmp 0x1400e6caa
mov rax, qword [rdi + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e6ca3
nop dword [rax]
cmp rdi, qword [rax + 0x10]
jne 0x1400e6ca3
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e6c90
mov rdi, rax
mov qword [rbp - 0x38], rax
mov r15, qword [rbp + 0x160]
cmp rdi, qword [r15 + 0x90]
jne 0x1400e6990
mov rax, qword [rbp - 0x30]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1400e6d37
nop word [rax + rax]
mov edx, dword [rbx + 0x1c]
mov rcx, r15
call fcn.1400e6e90
cmp byte [rbx + 0x19], 0
jne 0x1400e6d2e
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e6d0e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e6d2e
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e6d00
jmp 0x1400e6d2e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e6d2b
cmp rbx, qword [rax + 0x10]
jne 0x1400e6d2b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e6d18
mov rbx, rax
mov rax, qword [rbp - 0x30]
cmp rbx, rax
jne 0x1400e6cd0
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.14021ae20
nop
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rdi]
cmp rbx, rbx
jne 0x1400e6dd2
mov rsi, qword [rdi + 8]
mov rbx, rsi
cmp byte [rsi + 0x19], 0
jne 0x1400e6db6
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 0x1400e6da0
mov rcx, qword [rsi + 0x20]
call fcn.1402bd0e0
mov rcx, rsi
call fcn.14021ae20
mov rsi, rbx
cmp byte [rbx + 0x19], 0
je 0x1400e6d80
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 0x1400e6e44
cmp rbx, rdi
je 0x1400e6e49
mov r8, rbx
cmp byte [rbx + 0x19], 0
jne 0x1400e6e2e
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e6e0e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e6e2e
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e6e00
jmp 0x1400e6e2e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e6e2b
cmp rbx, qword [rax + 0x10]
jne 0x1400e6e2b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e6e18
mov rbx, rax
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x30]
call fcn.140008e20
cmp rbx, rdi
jne 0x1400e6dd7
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.14021ae20
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x1400e6e64
mov rcx, rbx
call fcn.14021ae20
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