Function at 0x14015e43c
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x140290440]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov r8, qword [0x141718520]
mov r13d, ecx
mov dword [rsp + 0x20], ecx
test r8, r8
jne 0x14015e5cf
mov rax, qword gs:[0x60]
xor ebx, ebx
mov edi, 0x185776b5
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14015e4e7
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14015e4da
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14015e4cb
cmp edx, ebx
jne 0x14015e5af
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x14015e5af
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14015e5af
mov r15d, dword [r10 + 0x20]
dec r11d
mov esi, 0x811c9dc5
lea rcx, [r15 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14015e53b
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14015e530
cmp esi, edi
je 0x14015e54f
test r11d, r11d
jne 0x14015e51b
jmp 0x14015e5af
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov r8d, dword [rdx + r8*4]
add r8, r9
cmp r8, r10
jbe 0x14015e5c8
lea rcx, [rax + r10]
cmp r8, rcx
jae 0x14015e5c8
mov ebx, 0x811c9dc5
mov edi, ebx
jmp 0x14015e58e
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x14015e580
jmp 0x14015e5a2
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r8
mov al, byte [r8]
test al, al
jne 0x14015e597
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14015e5c5
cmp qword [rax + 0x30], 0
jne 0x14015e49f
xor r8d, r8d
mov qword [0x141718520], r8
xor edx, edx
lea ecx, [rdx + 4]
call r8
mov r12, rax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], Ordinal_32
call fcn.140167c78
movsx ebx, al
call fcn.140167c74
movsx ecx, al
imul ebx, ecx
mov dword [rsp + 0x24], ebx
call fcn.140167c84
movsx edi, al
xor edx, edx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, edi
add eax, ebx
mov dword [rsp + 0x2c], edi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
mov dword [rsp + 0x30], 0xfaba0065
cmp eax, ecx
je 0x14015f14b
mov r8, qword [0x141718518]
test r8, r8
jne 0x14015e79d
mov rax, qword gs:[0x60]
xor ebx, ebx
mov ebp, 0xeb843152
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov r8, r15
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14015e6ad
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14015e6a0
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14015e691
cmp edx, ebx
jne 0x14015e775
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x14015e775
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14015e775
mov r14d, dword [r10 + 0x20]
dec r11d
mov edi, 0x811c9dc5
lea rcx, [r9 + r11*4]
mov edx, dword [rcx + r14]
add rdx, r9
jmp 0x14015e701
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14015e6f6
cmp edi, ebp
je 0x14015e715
test r11d, r11d
jne 0x14015e6e1
jmp 0x14015e775
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov r8d, dword [rdx + r8*4]
add r8, r9
cmp r8, r10
jbe 0x14015e78e
lea rcx, [rax + r10]
cmp r8, rcx
jae 0x14015e78e
mov ebx, 0x811c9dc5
mov ebp, ebx
jmp 0x14015e754
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x14015e746
jmp 0x14015e768
movsx eax, al
xor eax, ebp
imul ebp, eax, 0x1000193
inc r8
mov al, byte [r8]
test al, al
jne 0x14015e75d
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14015e78b
cmp qword [rax + 0x30], 0
jne 0x14015e665
xor r8d, r8d
mov ebx, dword [rsp + 0x24]
mov edi, dword [rsp + 0x2c]
mov qword [0x141718518], r8
lea rdx, [rsp + 0x58]
mov rcx, r12
call r8
imul esi, ebx, 7
xor edx, edx
movd xmm2, eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
add esi, edi
cvtdq2pd xmm2, xmm2
mov dword [rsp + 0x34], esi
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e84c
call fcn.140167c7c
movsx edx, al
movsx eax, byte [0x141716b78]
imul edx, eax
add edx, edx
call fcn.140167c88
movsx ecx, al
sub edx, ecx
call fcn.140167c80
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015e84c
mov r9d, 1
lea r10d, [rbx + rbx*8]
mov dword [rsp + 0x28], r10d
jmp 0x14015e8b4
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea r10d, [rbx + rbx*8]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, edi
add eax, r10d
mov dword [rsp + 0x28], r10d
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e8af
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rbx + rdi]
lea ecx, [rcx + rbx*2]
xor edx, edx
add eax, ecx
xorps xmm0, xmm0
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r9d, xmm0
jmp 0x14015e845
mov r9d, dword [rsp + 0x34]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, edi
lea eax, [rax + rbx*2]
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14015f14b
lea ecx, [rdi + rbx*8]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015efc4
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
xor eax, eax
cmp dword [rsp + 0x64], r13d
cvtdq2pd xmm0, xmm0
sete al
xor edx, edx
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015e9a8
call fcn.140167c7c
movsx edx, al
movsx eax, byte [0x141716b78]
imul edx, eax
add edx, edx
call fcn.140167c88
movsx ecx, al
sub edx, ecx
call fcn.140167c80
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015e9a8
mov dword [rsp + 0x40], 1
lea r12d, [rdi + r10]
jmp 0x14015ea05
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea r12d, [rdi + r10]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r12d
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015ea05
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rbx + rdi]
lea ecx, [rcx + rbx*2]
xor edx, edx
add eax, ecx
xorps xmm0, xmm0
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea r13d, [rdi + rbx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add r13d, ebx
add eax, r13d
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rsp + 0x40]
test eax, eax
je 0x14015efba
mov r9, qword [0x141718510]
test r9, r9
jne 0x14015eba3
mov rax, qword gs:[0x60]
xor edi, edi
mov ebp, 0xd435861d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov r8, r15
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14015eaad
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14015eaa0
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14015ea91
cmp edx, edi
jne 0x14015eb77
mov r10, qword [r8 + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rax, qword [rax + r10 + 0x88]
mov r11d, eax
add r11, r10
shr rax, 0x20
cmp r11, r10
je 0x14015eb77
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14015eb77
mov r14d, dword [r11 + 0x20]
dec r9d
mov ebx, 0x811c9dc5
lea rcx, [r14 + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
jmp 0x14015eb01
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14015eaf6
cmp ebx, ebp
je 0x14015eb15
test r9d, r9d
jne 0x14015eae1
jmp 0x14015eb77
mov edx, dword [r11 + 0x24]
add rdx, r10
movzx r8d, word [rdx + r9*2]
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r8*4]
add r9, r10
cmp r9, r11
jbe 0x14015eb90
lea rcx, [rax + r11]
cmp r9, rcx
jae 0x14015eb90
mov eax, 0x811c9dc5
mov edi, eax
mov ebp, eax
jmp 0x14015eb56
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14015eb48
jmp 0x14015eb6a
movsx eax, al
xor eax, ebp
imul ebp, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x14015eb5f
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14015eb8d
cmp qword [rax + 0x30], 0
jne 0x14015ea65
xor r9d, r9d
mov ebx, dword [rsp + 0x24]
mov edi, dword [rsp + 0x2c]
mov esi, dword [rsp + 0x34]
mov qword [0x141718510], r9
mov r8d, dword [rsp + 0x60]
xor edx, edx
lea ecx, [rdx + 2]
call r9
mov r9, rax
mov qword [rsp + 0x38], rax
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r12d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015efba
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
xor edx, edx
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, r9
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015ec70
call fcn.140167c7c
movsx edx, al
movsx eax, byte [0x141716b78]
imul edx, eax
add edx, edx
call fcn.140167c88
movsx ecx, al
sub edx, ecx
call fcn.140167c80
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14015ec70
mov dword [rsp + 0x44], 1
jmp 0x14015ecc4
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r12d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015ecc4
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r13d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, edi
lea eax, [rax + rbx*4]
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rsp + 0x44]
test eax, eax
je 0x14015efba
mov rdx, qword [0x141718530]
test rdx, rdx
jne 0x14015ee52
mov rax, qword gs:[0x60]
xor edi, edi
mov ebp, 0xbb21e02e
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov r8, r15
movups xmm0, xmmword [r8 + 0x58]
mov r12d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14015ed6b
psrldq xmm0, 8
mov edx, r12d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14015ed5e
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14015ed4f
cmp edx, edi
jne 0x14015ee2e
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x14015ee2e
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14015ee2e
mov r14d, dword [r10 + 0x20]
dec r11d
mov ebx, r12d
lea rcx, [r14 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14015edbd
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14015edb2
cmp ebx, ebp
je 0x14015edd1
test r11d, r11d
jne 0x14015ed9f
jmp 0x14015ee2e
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x14015ee46
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14015ee46
mov edi, r12d
mov ebp, r12d
jmp 0x14015ee0f
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14015ee01
jmp 0x14015ee22
movsx eax, al
xor eax, ebp
imul ebp, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14015ee17
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14015ee44
cmp qword [rax + 0x30], 0
jne 0x14015ed1f
xor edx, edx
mov r9, qword [rsp + 0x38]
mov qword [0x141718530], rdx
mov rcx, r9
call rdx
mov rdx, qword [0x141718570]
test rdx, rdx
jne 0x14015efb3
mov rax, qword gs:[0x60]
xor edi, edi
mov ebp, 0xfaba0065
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov r8, r15
movups xmm0, xmmword [r8 + 0x58]
mov r12d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14015eed1
psrldq xmm0, 8
mov edx, r12d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14015eec4
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14015eeb5
cmp edx, edi
jne 0x14015ef94
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x14015ef94
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14015ef94
mov r14d, dword [r10 + 0x20]
dec r11d
mov ebx, r12d
lea rcx, [r14 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14015ef23
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14015ef18
cmp ebx, ebp
je 0x14015ef37
test r11d, r11d
jne 0x14015ef05
jmp 0x14015ef94
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x14015efac
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14015efac
mov edi, r12d
mov ebp, r12d
jmp 0x14015ef75
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14015ef67
jmp 0x14015ef88
movsx eax, al
xor eax, ebp
imul ebp, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14015ef7d
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14015efaa
cmp qword [rax + 0x30], 0
jne 0x14015ee85
xor edx, edx
mov qword [0x141718570], rdx
mov rcx, qword [rsp + 0x38]
call rdx
mov r13d, dword [rsp + 0x20]
mov r12, qword [rsp + 0x48]
mov r8, qword [0x141718508]
test r8, r8
jne 0x14015f124
mov rax, qword gs:[0x60]
xor edi, edi
mov ebp, 0xd7abeb75
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov r8, r15
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14015f03a
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14015f02d
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14015f01e
cmp edx, edi
jne 0x14015f104
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x14015f104
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14015f104
mov r14d, dword [r10 + 0x20]
dec r11d
mov ebx, 0x811c9dc5
lea rcx, [r9 + r11*4]
mov edx, dword [rcx + r14]
add rdx, r9
jmp 0x14015f08e
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14015f083
cmp ebx, ebp
je 0x14015f0a2
test r11d, r11d
jne 0x14015f06e
jmp 0x14015f104
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov r8d, dword [rdx + r8*4]
add r8, r9
cmp r8, r10
jbe 0x14015f11d
lea rcx, [rax + r10]
cmp r8, rcx
jae 0x14015f11d
mov eax, 0x811c9dc5
mov edi, eax
mov ebp, eax
jmp 0x14015f0e3
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x14015f0d5
jmp 0x14015f0f7
movsx eax, al
xor eax, ebp
imul ebp, eax, 0x1000193
inc r8
mov al, byte [r8]
test al, al
jne 0x14015f0ec
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14015f11a
cmp qword [rax + 0x30], 0
jne 0x14015eff2
xor r8d, r8d
mov qword [0x141718508], r8
lea rdx, [rsp + 0x58]
mov rcx, r12
call r8
mov ebx, dword [rsp + 0x24]
mov edi, dword [rsp + 0x2c]
mov r10d, dword [rsp + 0x28]
mov esi, dword [rsp + 0x34]
lea ecx, [rdi + rbx*8]
test eax, eax
jne 0x14015e8e3
mov rdx, qword [0x141718570]
test rdx, rdx
jne 0x14015f2b3
mov rax, qword gs:[0x60]
xor ebx, ebx
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r8, rsi
movups xmm0, xmmword [r8 + 0x58]
mov r15d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14015f1c0
psrldq xmm0, 8
mov edx, r15d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14015f1b3
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14015f1a4
cmp edx, ebx
jne 0x14015f294
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x14015f294
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14015f294
mov r14d, dword [r10 + 0x20]
dec r11d
mov edi, r15d
lea rcx, [r9 + r11*4]
mov edx, dword [rcx + r14]
add rdx, r9
jmp 0x14015f212
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14015f207
cmp edi, dword [rsp + 0x30]
je 0x14015f228
test r11d, r11d
jne 0x14015f1f4
jmp 0x14015f294
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x14015f2ac
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14015f2ac
mov ecx, r15d
mov ebx, r15d
mov dword [rsp + 0x30], ecx
jmp 0x14015f26a
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14015f25c
inc rdx
mov al, byte [rdx]
test al, al
je 0x14015f291
movsx eax, al
inc rdx
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [rdx]
test al, al
jne 0x14015f279
mov dword [rsp + 0x30], ecx
mov r8, qword [rsi]
mov rax, qword [r8]
mov r8, rax
cmp rax, rsi
je 0x14015f2aa
cmp qword [rax + 0x30], 0
jne 0x14015f174
xor edx, edx
mov qword [0x141718570], rdx
mov rcx, r12
call rdx
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1401dad40
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret