Function at 0x14012e7c4
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 [0x14033fc00]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov r8, qword [0x140342f18]
mov r13d, ecx
mov dword [rsp + 0x24], ecx
test r8, r8
jne 0x14012e957
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 0x14012e86f
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012e862
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012e853
cmp edx, ebx
jne 0x14012e937
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 0x14012e937
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012e937
mov r15d, dword [r10 + 0x20]
dec r11d
mov esi, 0x811c9dc5
lea rcx, [r15 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14012e8c3
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012e8b8
cmp esi, edi
je 0x14012e8d7
test r11d, r11d
jne 0x14012e8a3
jmp 0x14012e937
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 0x14012e950
lea rcx, [rax + r10]
cmp r8, rcx
jae 0x14012e950
mov ebx, 0x811c9dc5
mov edi, ebx
jmp 0x14012e916
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x14012e908
jmp 0x14012e92a
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r8
mov al, byte [r8]
test al, al
jne 0x14012e91f
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14012e94d
cmp qword [rax + 0x30], 0
jne 0x14012e827
xor r8d, r8d
mov qword [0x140342f18], r8
xor edx, edx
lea ecx, [rdx + 4]
call r8
mov r12, rax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x58], Ordinal_33
call fcn.1401379e8
movsx ebx, al
call fcn.1401379e4
movsx ecx, al
imul ebx, ecx
mov dword [rsp + 0x28], ebx
call fcn.1401379f4
movsx edi, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
mov dword [rsp + 0x2c], edi
mov dword [rsp + 0x30], 0xfaba0065
lea eax, [rax + rbx*2]
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012f4dd
mov r8, qword [0x140342f10]
test r8, r8
jne 0x14012eb26
mov rax, qword gs:[0x60]
xor ebx, ebx
mov esi, 0xeb843152
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 0x14012ea36
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012ea29
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012ea1a
cmp edx, ebx
jne 0x14012eafe
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 0x14012eafe
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012eafe
mov r15d, dword [r10 + 0x20]
dec r11d
mov edi, 0x811c9dc5
lea rcx, [r9 + r11*4]
mov edx, dword [rcx + r15]
add rdx, r9
jmp 0x14012ea8a
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012ea7f
cmp edi, esi
je 0x14012ea9e
test r11d, r11d
jne 0x14012ea6a
jmp 0x14012eafe
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 0x14012eb17
lea rcx, [rax + r10]
cmp r8, rcx
jae 0x14012eb17
mov ebx, 0x811c9dc5
mov esi, ebx
jmp 0x14012eadd
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x14012eacf
jmp 0x14012eaf1
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc r8
mov al, byte [r8]
test al, al
jne 0x14012eae6
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14012eb14
cmp qword [rax + 0x30], 0
jne 0x14012e9ee
xor r8d, r8d
mov ebx, dword [rsp + 0x28]
mov edi, dword [rsp + 0x2c]
mov qword [0x140342f10], r8
lea rdx, [rsp + 0x58]
mov rcx, r12
call r8
xor edx, edx
lea esi, [rdi + rbx*4]
add esi, ebx
mov dword [rsp + 0x3c], esi
movd xmm2, eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
cvtdq2pd xmm2, xmm2
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 + 0x40], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012ebdd
call fcn.1401379ec
movsx edx, al
movsx eax, byte [0x140341580]
imul edx, eax
lea r8d, [rdx + rdx*4]
add r8d, r8d
call fcn.1401379f8
movsx ecx, al
sub r8d, ecx
call fcn.1401379f0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14012ebdd
mov r9d, 9
imul r10d, ebx, 7
mov dword [rsp + 0x20], r10d
jmp 0x14012ec41
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
imul r10d, ebx, 7
add eax, r10d
mov dword [rsp + 0x20], r10d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012ec3c
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
add eax, ebx
xorps xmm0, xmm0
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si r9d, xmm0
jmp 0x14012ebd6
mov r9d, dword [rsp + 0x40]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r11d, [rdi + rbx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add r11d, ebx
add eax, r11d
mov dword [rsp + 0x40], r11d
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r9d
jmp 0x14012f4d5
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r11d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012f350
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 + 0x50], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012ed3e
call fcn.1401379ec
movsx edx, al
movsx eax, byte [0x140341580]
imul edx, eax
lea r8d, [rdx + rdx*4]
add r8d, r8d
call fcn.1401379f8
movsx ecx, al
sub r8d, ecx
call fcn.1401379f0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14012ed3e
mov dword [rsp + 0x34], 9
jmp 0x14012ed95
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
add eax, r10d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012ed95
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
add eax, ebx
xorps xmm0, xmm0
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x34], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r12d, [rdi + rbx*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r12d
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rsp + 0x34]
test eax, eax
je 0x14012f34b
mov r9, qword [0x140342f08]
test r9, r9
jne 0x14012ef2f
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]
mov r13d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14012ee3e
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012ee31
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012ee22
cmp edx, edi
jne 0x14012ef03
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 0x14012ef03
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14012ef03
mov r14d, dword [r11 + 0x20]
dec r9d
mov ebx, r13d
lea rcx, [r14 + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
jmp 0x14012ee90
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012ee85
cmp ebx, ebp
je 0x14012eea4
test r9d, r9d
jne 0x14012ee72
jmp 0x14012ef03
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 0x14012ef1c
lea rcx, [rax + r11]
cmp r9, rcx
jae 0x14012ef1c
mov edi, r13d
mov ebp, r13d
jmp 0x14012eee2
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14012eed4
jmp 0x14012eef6
movsx eax, al
xor eax, ebp
imul ebp, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x14012eeeb
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14012ef19
cmp qword [rax + 0x30], 0
jne 0x14012edf2
xor r9d, r9d
mov ebx, dword [rsp + 0x28]
mov edi, dword [rsp + 0x2c]
mov esi, dword [rsp + 0x3c]
mov qword [0x140342f08], r9
mov r8d, dword [rsp + 0x60]
xor edx, edx
lea ecx, [rdx + 2]
call r9
mov r13, rax
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r12d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012f346
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, r13
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012efff
call fcn.1401379ec
movsx edx, al
movsx eax, byte [0x140341580]
imul edx, eax
lea r8d, [rdx + rdx*4]
add r8d, r8d
call fcn.1401379f8
movsx ecx, al
sub r8d, ecx
call fcn.1401379f0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14012efff
mov dword [rsp + 0x38], 9
jmp 0x14012f057
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
add eax, dword [rsp + 0x20]
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012f057
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
add eax, ebx
xorps xmm0, xmm0
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rsp + 0x38]
test eax, eax
je 0x14012f346
mov rdx, qword [0x140342f28]
test rdx, rdx
jne 0x14012f1dd
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 0x14012f0fb
psrldq xmm0, 8
mov edx, r12d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012f0ee
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012f0df
cmp edx, edi
jne 0x14012f1be
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 0x14012f1be
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012f1be
mov r14d, dword [r10 + 0x20]
dec r11d
mov ebx, r12d
lea rcx, [r14 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14012f14d
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012f142
cmp ebx, ebp
je 0x14012f161
test r11d, r11d
jne 0x14012f12f
jmp 0x14012f1be
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 0x14012f1d6
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14012f1d6
mov edi, r12d
mov ebp, r12d
jmp 0x14012f19f
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14012f191
jmp 0x14012f1b2
movsx eax, al
xor eax, ebp
imul ebp, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14012f1a7
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14012f1d4
cmp qword [rax + 0x30], 0
jne 0x14012f0af
xor edx, edx
mov qword [0x140342f28], rdx
mov rcx, r13
call rdx
mov rdx, qword [0x140342f68]
test rdx, rdx
jne 0x14012f341
mov rax, qword gs:[0x60]
xor edi, edi
mov r14d, 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 0x14012f25d
psrldq xmm0, 8
mov edx, r12d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012f250
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012f241
cmp edx, edi
jne 0x14012f322
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 0x14012f322
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012f322
mov ebp, dword [r10 + 0x20]
dec r11d
mov ebx, r12d
lea rcx, [r9 + r11*4]
mov edx, dword [rcx + rbp]
add rdx, r9
jmp 0x14012f2ae
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012f2a3
cmp ebx, r14d
je 0x14012f2c3
test r11d, r11d
jne 0x14012f291
jmp 0x14012f322
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 0x14012f33a
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14012f33a
mov edi, r12d
mov r14d, r12d
jmp 0x14012f301
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14012f2f3
jmp 0x14012f316
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14012f309
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14012f338
cmp qword [rax + 0x30], 0
jne 0x14012f211
xor edx, edx
mov qword [0x140342f68], rdx
mov rcx, r13
call rdx
mov r13d, dword [rsp + 0x24]
mov r12, qword [rsp + 0x48]
mov r8, qword [0x140342f00]
test r8, r8
jne 0x14012f4b4
mov rax, qword gs:[0x60]
xor edi, edi
mov r14d, 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 0x14012f3c7
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012f3ba
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012f3ab
cmp edx, edi
jne 0x14012f494
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 0x14012f494
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012f494
mov ebp, dword [r10 + 0x20]
dec r11d
mov ebx, 0x811c9dc5
lea rcx, [r9 + r11*4]
mov edx, dword [rcx + rbp]
add rdx, r9
jmp 0x14012f41a
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012f40f
cmp ebx, r14d
je 0x14012f42f
test r11d, r11d
jne 0x14012f3fb
jmp 0x14012f494
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 0x14012f4ad
lea rcx, [rax + r10]
cmp r8, rcx
jae 0x14012f4ad
mov eax, 0x811c9dc5
mov edi, eax
mov r14d, eax
jmp 0x14012f471
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x14012f463
jmp 0x14012f487
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc r8
mov al, byte [r8]
test al, al
jne 0x14012f47a
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14012f4aa
cmp qword [rax + 0x30], 0
jne 0x14012f37f
xor r8d, r8d
mov qword [0x140342f00], r8
lea rdx, [rsp + 0x58]
mov rcx, r12
call r8
mov r10d, dword [rsp + 0x20]
mov r11d, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x28]
mov edi, dword [rsp + 0x2c]
mov esi, dword [rsp + 0x3c]
test eax, eax
jne 0x14012ec74
mov rdx, qword [0x140342f68]
test rdx, rdx
jne 0x14012f645
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 0x14012f552
psrldq xmm0, 8
mov edx, r15d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012f545
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012f536
cmp edx, ebx
jne 0x14012f626
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 0x14012f626
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012f626
mov r14d, dword [r10 + 0x20]
dec r11d
mov edi, r15d
lea rcx, [r9 + r11*4]
mov edx, dword [rcx + r14]
add rdx, r9
jmp 0x14012f5a4
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012f599
cmp edi, dword [rsp + 0x30]
je 0x14012f5ba
test r11d, r11d
jne 0x14012f586
jmp 0x14012f626
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 0x14012f63e
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14012f63e
mov ecx, r15d
mov ebx, r15d
mov dword [rsp + 0x30], ecx
jmp 0x14012f5fc
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14012f5ee
inc rdx
mov al, byte [rdx]
test al, al
je 0x14012f623
movsx eax, al
inc rdx
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [rdx]
test al, al
jne 0x14012f60b
mov dword [rsp + 0x30], ecx
mov r8, qword [rsi]
mov rax, qword [r8]
mov r8, rax
cmp rax, rsi
je 0x14012f63c
cmp qword [rax + 0x30], 0
jne 0x14012f506
xor edx, edx
mov qword [0x140342f68], rdx
mov rcx, r12
call rdx
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140142710
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