Function at 0x1400e13c0
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 0x1400e1927
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x168], rax
test r14, r14
je 0x1400e1479
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 0x1400e147c
mov r12b, 1
or r15d, 0xffffffff
mov rcx, qword [rbx + 0x28]
call fcn.14029ab7c
mov rcx, rax
call fcn.14029adf4
mov rdi, rax
mov edx, 0x5c
mov rcx, rax
call fcn.14029aea8
mov r11, rax
test rax, rax
je 0x1400e156f
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 0x1400e1508
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 0x1400e14e0
xor edx, edx
mov ecx, r11d
and ecx, 3
dec ecx
je 0x1400e152e
dec ecx
je 0x1400e1524
dec ecx
jne 0x1400e1546
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.140298600
mov dword [rbp + 0x170], r15d
test r12b, r12b
je 0x1400e1821
mov ecx, 0x38
call fcn.14029806c
mov r14, rax
mov qword [rbp + 0x178], rax
test rax, rax
je 0x1400e15bb
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
call fcn.1400df5c0
mov qword [r14 + 0x20], rax
jmp 0x1400e15be
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.14029806c
mov rdi, rax
mov qword [rbp + 0x178], rax
test rax, rax
je 0x1400e160f
mov qword [rax], 0
mov qword [rax + 8], 0
call fcn.14000a250
mov qword [rdi], rax
jmp 0x1400e1611
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.1400ea780
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0xd8]
mov rcx, rdi
call fcn.1400ea7c0
lea rcx, [r14 + 0x20]
movzx eax, byte [0x1403fdd77]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x170]
lea rdx, [rbp + 0xb8]
call fcn.1400e9ad0
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.14000cd30
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0xa8]
lea rcx, [rdi + 0x90]
call fcn.14000cd60
lea rax, [rbp - 0x20]
mov rcx, qword [rbp + 0x168]
mov r8, qword [rsp + 0x40]
cmp rax, rcx
jae 0x1400e1790
lea rax, [rbp - 0x20]
cmp r8, rax
ja 0x1400e1790
lea rdi, [rbp - 0x20]
sub rdi, r8
sar rdi, 3
cmp rcx, rsi
jne 0x1400e176f
mov rax, rsi
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x1400e176f
sub rcx, r8
sar rcx, 3
movabs r9, 0x1fffffffffffffff
mov rax, r9
sub rax, rcx
cmp rax, 1
jb 0x1400e190d
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 0x1400e1749
xor esi, esi
jmp 0x1400e174c
add rsi, rcx
cmp rsi, rdx
cmovb rsi, rdx
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140009c00
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
test rcx, rcx
je 0x1400e177b
mov rax, qword [r8 + rdi*8]
mov qword [rcx], rax
add rcx, 8
mov qword [rbp + 0x168], rcx
mov qword [rsp + 0x48], rcx
jmp 0x1400e1899
cmp rcx, rsi
jne 0x1400e1807
mov rax, rsi
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x1400e1807
sub rcx, r8
sar rcx, 3
movabs r9, 0x1fffffffffffffff
mov rax, r9
sub rax, rcx
cmp rax, 1
jb 0x1400e191a
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 0x1400e17e6
xor esi, esi
jmp 0x1400e17e9
add rsi, rcx
cmp rsi, rdx
cmovb rsi, rdx
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140009c00
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400e180f
mov qword [rcx], r14
add rcx, 8
mov qword [rbp + 0x168], rcx
mov qword [rsp + 0x48], rcx
jmp 0x1400e1899
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.1400ea780
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0xf8]
mov rcx, rdi
call fcn.1400ea7c0
lea rcx, [r14 + 0x20]
movzx eax, byte [0x1403fdd77]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x170]
lea rdx, [rbp + 0xc8]
call fcn.1400e9ad0
mov rcx, qword [rbp + 0x168]
cmp byte [rbx + 0x19], 0
jne 0x1400e18ee
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e18ce
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e18ee
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e18c0
jmp 0x1400e18ee
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e18eb
cmp rbx, qword [rax + 0x10]
jne 0x1400e18eb
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e18d8
mov rbx, rax
mov r8, qword [rbp + 0x160]
movabs rdx, 0xd6bf94d5e57a42bd
cmp rbx, qword [r8 + 0x80]
je 0x1400e1933
jmp 0x1400e1448
lea rcx, [0x1402e91b8]
call fcn.140296fec
int3
lea rcx, [0x1402e91b8]
call fcn.140296fec
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 0x1400e25a6
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 0x1400e1b85
mov r14, qword [rbx + r15*8]
mov rdi, qword [rbx + r15*8 + 8]
mov rax, qword [r14 + 0x18]
cmp qword [rax + 8], 0x3e8
ja 0x1400e1b23
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 0x1400e1b2b
lea r13, [rdi + 0x20]
mov rdx, qword [r13]
mov rax, qword [rdx]
cmp rax, rdx
je 0x1400e1b2b
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 0x1400e1a09
mov r11d, dword [rax + 0x1c]
cmp dword [r9 + 0x1c], r11d
jae 0x1400e19fc
mov r9, qword [r9 + 0x10]
jmp 0x1400e1a02
mov r10, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
je 0x1400e19f0
cmp r10, rcx
je 0x1400e1a22
mov r9d, dword [r10 + 0x1c]
cmp dword [rax + 0x1c], r9d
jb 0x1400e1a22
mov qword [rbp + 0x30], r10
lea r9, [rbp + 0x30]
jmp 0x1400e1a2a
mov qword [rbp], rcx
lea r9, [rbp]
cmp qword [r9], r8
jne 0x1400e1a9a
cmp byte [rax + 0x19], 0
jne 0x1400e1a87
mov r9, qword [rax + 0x10]
cmp byte [r9 + 0x19], 0
jne 0x1400e1a5f
mov rax, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
jne 0x1400e1a87
nop dword [rax]
mov rax, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
je 0x1400e1a50
jmp 0x1400e1a87
mov r9, qword [rax + 8]
cmp byte [r9 + 0x19], 0
jne 0x1400e1a84
nop word [rax + rax]
cmp rax, qword [r9 + 0x10]
jne 0x1400e1a84
mov rax, r9
mov r9, qword [r9 + 8]
cmp byte [r9 + 0x19], 0
je 0x1400e1a70
mov rax, r9
cmp rax, rdx
jne 0x1400e19e0
mov rbx, qword [rsp + 0x40]
jmp 0x1400e1b2b
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.1400ea100
mov rsi, qword [r14 + 0x18]
mov rax, qword [rsi]
mov rdi, qword [rax + 8]
mov rbx, rdi
cmp byte [rdi + 0x19], 0
jne 0x1400e1af0
nop dword [rax]
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.140009cb0
mov rbx, qword [rbx]
mov rcx, rdi
call fcn.1402012c0
mov rdi, rbx
cmp byte [rbx + 0x19], 0
je 0x1400e1ad0
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.1400e9970
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 0x1400e1970
test r12d, r12d
jle 0x1400e1b85
lea rdx, [rsp + 0x40]
mov rcx, r8
call fcn.1400e2900
mov rcx, qword [rsp + 0x48]
mov qword [rbp + 0x168], rcx
mov rbx, qword [rsp + 0x40]
mov r8, qword [rbp + 0x160]
movabs rdx, 0xd6bf94d5e57a42bd
jmp 0x1400e1950
xor r12d, r12d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
call fcn.14000a210
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
mov r15, qword [rbp + 0x160]
mov rcx, qword [r15 + 8]
call fcn.1400fa900
lea rdx, [0x140323de0]
test al, al
je 0x1400e20af
mov r13d, r12d
mov rax, qword [rbp + 0x168]
sub rax, rbx
sar rax, 3
mov qword [rbp + 0x168], rax
test rax, rax
je 0x1400e20af
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 0x1400e2094
mov rsi, qword [rbx + 0x30]
test rsi, rsi
jne 0x1400e1c18
mov edi, r12d
mov qword [rbp - 0x60], rsi
jmp 0x1400e1c36
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [rsi + rdi*2], 0
jne 0x1400e1c20
mov qword [rbp - 0x60], 0
test edi, edi
jne 0x1400e1c3c
mov qword [rbp - 0x68], rdx
jmp 0x1400e1c5e
mov edx, edi
lea rcx, [rbp - 0x68]
call fcn.1401e9030
movsxd r9, edi
mov eax, dword [rbp - 0x60]
inc eax
movsxd rdx, eax
mov r8, rsi
mov rcx, qword [rbp - 0x68]
call fcn.14029b4d8
mov edx, edi
lea rcx, [rbp - 0x68]
call fcn.1401ea290
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 8]
mov rsi, rax
cmp byte [rdi + 0x19], 0
jne 0x1400e1ccd
nop dword [rax + rax]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rdi + 0x20]
call fcn.14029848c
test eax, eax
jns 0x1400e1c97
mov rdi, qword [rdi + 0x10]
jmp 0x1400e1c9d
mov rsi, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x1400e1c80
mov rax, qword [rsp + 0x30]
cmp rsi, rax
je 0x1400e1ccd
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rbp - 0x68]
call fcn.14029848c
test eax, eax
mov rax, qword [rsp + 0x30]
js 0x1400e1ccd
mov qword [rbp + 8], rsi
lea rsi, [rbp + 8]
jmp 0x1400e1cd5
mov qword [rbp + 0x18], rax
lea rsi, [rbp + 0x18]
mov rsi, qword [rsi]
cmp dword [rbp - 0x60], 0
jle 0x1400e1cec
mov rcx, qword [rbp - 0x68]
call fcn.140298600
mov rax, qword [rsp + 0x30]
cmp rsi, rax
je 0x1400e2025
lea rax, [0x140323de0]
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 0x1400e1d28
mov edi, r12d
mov qword [rsp + 0x70], r14
jmp 0x1400e1d48
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [r14 + rdi*2], 0
jne 0x1400e1d30
mov qword [rsp + 0x70], 0
test edi, edi
jne 0x1400e1d4f
mov qword [rsp + 0x68], rax
jmp 0x1400e1d74
mov edx, edi
lea rcx, [rsp + 0x68]
call fcn.1401e9030
movsxd r9, edi
mov eax, dword [rsp + 0x70]
inc eax
movsxd rdx, eax
mov r8, r14
mov rcx, qword [rsp + 0x68]
call fcn.14029b4d8
mov edx, edi
lea rcx, [rsp + 0x68]
call fcn.1401ea290
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 0x1400e1dd4
nop
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdi + 0x20]
call fcn.14029848c
test eax, eax
jns 0x1400e1dc8
mov rdi, qword [rdi + 0x10]
jmp 0x1400e1dce
mov r14, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x1400e1db0
cmp r14, qword [r15 + 0x718]
je 0x1400e1df9
mov rdx, qword [r14 + 0x20]
mov rcx, qword [rsp + 0x68]
call fcn.14029848c
test eax, eax
js 0x1400e1df9
mov qword [rbp - 0x18], r14
lea rdi, [rbp - 0x18]
jmp 0x1400e1e08
mov rax, qword [r15 + 0x718]
mov qword [rbp - 0x10], rax
lea rdi, [rbp - 0x10]
mov rdi, qword [rdi]
cmp rdi, qword [r15 + 0x718]
jne 0x1400e1e22
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor dil, dil
jmp 0x1400e1e94
mov edx, dword [rdi + 0x3c]
lea rcx, [rsp + 0x78]
call fcn.1401e9030
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.14029b4d8
mov edx, dword [rdi + 0x3c]
lea rcx, [rsp + 0x78]
call fcn.1401ea290
mov edx, dword [rdi + 0x4c]
lea rcx, [rbp - 0x48]
call fcn.1401e9030
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.14029b4d8
mov edx, dword [rdi + 0x4c]
lea rcx, [rbp - 0x48]
call fcn.1401ea290
nop
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dil, 1
cmp dword [rsp + 0x70], 0
jle 0x1400e1ea5
mov rcx, qword [rsp + 0x68]
call fcn.140298600
test dil, dil
je 0x1400e1f68
mov rcx, qword [rbp - 0x48]
test rcx, rcx
jne 0x1400e1ebb
mov al, 1
jmp 0x1400e1ed0
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400e1ec0
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 0x1400e1efa
lea r14, [0x140323de0]
mov qword [rbp - 0x78], r14
jmp 0x1400e1f22
lea rcx, [rbp - 0x78]
call fcn.1401e9030
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.14029b4d8
lea r14, [0x140323de0]
mov edx, dword [rdi + 0xc]
lea rcx, [rbp - 0x78]
call fcn.1401ea290
nop
lea r8, [rbp - 0x78]
lea rdx, [rsp + 0x40]
call fcn.1400e26d0
test eax, eax
js 0x1400e1f57
movsxd r8, eax
cmp r8, r13
je 0x1400e1f57
mov rdx, r13
lea rcx, [rsp + 0x40]
call fcn.1400e27e0
nop
cmp dword [rbp - 0x70], 0
jle 0x1400e1f72
mov rcx, qword [rbp - 0x78]
call fcn.140298600
jmp 0x1400e1f72
xor r12d, r12d
lea r14, [0x140323de0]
mov rsi, qword [rsi + 0x20]
test rsi, rsi
jne 0x1400e1f84
mov edi, r12d
mov qword [rbp - 0x50], rsi
jmp 0x1400e1fa6
or rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp word [rsi + rdi*2], 0
jne 0x1400e1f90
mov qword [rbp - 0x50], 0
test edi, edi
jne 0x1400e1fac
mov qword [rbp - 0x58], r14
jmp 0x1400e1fce
mov edx, edi
lea rcx, [rbp - 0x58]
call fcn.1401e9030
movsxd r9, edi
mov eax, dword [rbp - 0x50]
inc eax
movsxd rdx, eax
mov r8, rsi
mov rcx, qword [rbp - 0x58]
call fcn.14029b4d8
mov edx, edi
lea rcx, [rbp - 0x58]
call fcn.1401ea290
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x30]
call fcn.1400e9310
cmp dword [rbp - 0x50], 0
jle 0x1400e1ff7
mov rcx, qword [rbp - 0x58]
call fcn.140298600
nop
cmp dword [rbp - 0x40], 0
jle 0x1400e2007
mov rcx, qword [rbp - 0x48]
call fcn.140298600
nop
cmp dword [rbp - 0x80], 0
jle 0x1400e2017
mov rcx, qword [rsp + 0x78]
call fcn.140298600
mov r15, qword [rbp + 0x160]
mov r14, qword [rbp + 0x178]
cmp byte [rbx + 0x19], 0
jne 0x1400e2076
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e204f
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e2076
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e2041
jmp 0x1400e2076
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e2073
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x1400e2073
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e2060
mov rbx, rax
mov rax, qword [r14]
mov rcx, qword [rax + 0x18]
cmp rbx, qword [rcx]
lea rdx, [0x140323de0]
jne 0x1400e1c06
lea rdx, [0x140323de0]
inc r13
add r14, 8
mov qword [rbp + 0x178], r14
cmp r13, qword [rbp + 0x168]
jb 0x1400e1bf0
mov rcx, r15
call fcn.1400e2ba0
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r12
call fcn.1400df5c0
mov qword [rbp - 0x30], rax
mov rcx, qword [r15 + 0x90]
mov rdi, qword [rcx]
mov qword [rbp - 0x38], rdi
cmp rdi, rcx
je 0x1400e2412
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 0x1400e2374
lea rdi, [0x140323de0]
jmp 0x1400e2127
mov r15, qword [rbp + 0x160]
mov r14, qword [rbx + 0x30]
test r14, r14
jne 0x1400e213a
mov esi, r12d
mov qword [rsp + 0x60], r14
jmp 0x1400e2158
or rsi, 0xffffffffffffffff
nop
inc rsi
cmp word [r14 + rsi*2], 0
jne 0x1400e2140
mov qword [rsp + 0x60], 0
test esi, esi
jne 0x1400e215f
mov qword [rsp + 0x58], rdi
jmp 0x1400e2184
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.1401e9030
movsxd r9, esi
mov eax, dword [rsp + 0x60]
inc eax
movsxd rdx, eax
mov r8, r14
mov rcx, qword [rsp + 0x58]
call fcn.14029b4d8
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.1401ea290
nop
mov r15, qword [r15 + 8]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400e22dc
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400e21b0
test rax, rax
sete al
test al, al
jne 0x1400e22dc
mov edx, 0x3a
call fcn.14029b070
mov rdx, qword [rsp + 0x58]
test rax, rax
je 0x1400e21e6
sub rax, rdx
sar rax, 1
test eax, eax
jns 0x1400e21f2
lea rcx, [0x14032a3d0]
call fcn.14029a88c
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.1400f27e0
test al, al
je 0x1400e2217
lock inc dword [r15 + 0x460]
mov r13d, dword [rbp + 0x178]
jmp 0x1400e22d7
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 0x1400e2274
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsi + 0x20]
call fcn.14029848c
test eax, eax
jns 0x1400e2268
mov rsi, qword [rsi + 0x10]
jmp 0x1400e226e
mov r14, rsi
mov rsi, qword [rsi]
cmp byte [rsi + 0x19], 0
je 0x1400e2250
cmp r14, qword [r15 + 0x498]
je 0x1400e2299
mov rdx, qword [r14 + 0x20]
mov rcx, qword [rsp + 0x58]
call fcn.14029848c
test eax, eax
js 0x1400e2299
mov qword [rbp - 8], r14
lea rax, [rbp - 8]
jmp 0x1400e22a8
mov rax, qword [r15 + 0x498]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x20]
mov rax, qword [rax]
cmp rax, qword [r15 + 0x498]
je 0x1400e22cb
mov rsi, qword [rax + 0x30]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rsp + 0x58]
xor r12d, r12d
jmp 0x1400e22df
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 0x1400e22eb
call fcn.140298600
test rsi, rsi
je 0x1400e2307
xor r15b, r15b
mov byte [rbp + 0x168], r15b
mov edx, r13d
mov rcx, rsi
call fcn.1400e0ea0
jmp 0x1400e230f
movzx r15d, byte [rbp + 0x168]
cmp byte [rbx + 0x19], 0
jne 0x1400e235e
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e233e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e235e
nop dword [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e2330
jmp 0x1400e235e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e235b
cmp rbx, qword [rax + 0x10]
jne 0x1400e235b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e2348
mov rbx, rax
mov rax, qword [rbp + 0x28]
cmp rbx, qword [rax]
jne 0x1400e2120
test r15b, r15b
mov rdi, qword [rbp - 0x38]
je 0x1400e2396
movzx eax, byte [0x1403fdd77]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x178]
lea rdx, [rbp + 0xe8]
lea rcx, [rbp - 0x30]
call fcn.1400e06b0
cmp byte [rdi + 0x19], 0
jne 0x1400e23fa
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e23d2
mov rdi, rax
mov qword [rbp - 0x38], rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e23fa
nop word [rax + rax]
mov rdi, rax
mov qword [rbp - 0x38], rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e23c0
jmp 0x1400e23fa
mov rax, qword [rdi + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e23f3
nop dword [rax]
cmp rdi, qword [rax + 0x10]
jne 0x1400e23f3
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e23e0
mov rdi, rax
mov qword [rbp - 0x38], rax
mov r15, qword [rbp + 0x160]
cmp rdi, qword [r15 + 0x90]
jne 0x1400e20e0
mov rax, qword [rbp - 0x30]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1400e2487
nop word [rax + rax]
mov edx, dword [rbx + 0x1c]
mov rcx, r15
call fcn.1400e25e0
cmp byte [rbx + 0x19], 0
jne 0x1400e247e
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e245e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e247e
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e2450
jmp 0x1400e247e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e247b
cmp rbx, qword [rax + 0x10]
jne 0x1400e247b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e2468
mov rbx, rax
mov rax, qword [rbp - 0x30]
cmp rbx, rax
jne 0x1400e2420
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.140009220
mov rcx, qword [rbp - 0x30]
call fcn.1402012c0
nop
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rdi]
cmp rbx, rbx
jne 0x1400e2522
mov rsi, qword [rdi + 8]
mov rbx, rsi
cmp byte [rsi + 0x19], 0
jne 0x1400e2506
nop dword [rax + rax]
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x30]
call fcn.14000a110
mov rbx, qword [rbx]
cmp dword [rsi + 0x28], 0
jle 0x1400e24f0
mov rcx, qword [rsi + 0x20]
call fcn.140298600
mov rcx, rsi
call fcn.1402012c0
mov rsi, rbx
cmp byte [rbx + 0x19], 0
je 0x1400e24d0
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 0x1400e2594
cmp rbx, rdi
je 0x1400e2599
mov r8, rbx
cmp byte [rbx + 0x19], 0
jne 0x1400e257e
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1400e255e
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400e257e
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400e2550
jmp 0x1400e257e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e257b
cmp rbx, qword [rax + 0x10]
jne 0x1400e257b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e2568
mov rbx, rax
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x30]
call fcn.140008cf0
cmp rbx, rdi
jne 0x1400e2527
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.1402012c0
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x1400e25b4
mov rcx, rbx
call fcn.1402012c0
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