Function at 0x14012bec4
Capabilities:
Access peb ldr_data
Check for software breakpoints
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, 0x50
mov rax, qword [0x14033fc00]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov r13, qword [rsp + 0x78]
call fcn.1401379e8
movsx ebp, al
call fcn.1401379e4
movsx ecx, al
imul ebp, ecx
mov dword [rsp + 0x20], ebp
call fcn.1401379f4
movsx ebx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
mov dword [rsp + 0x2c], ebx
lea eax, [rax + rbp*8]
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012cfe8
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
lea edi, [rbx + rbp*4]
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
xor eax, eax
cmp byte [r13], 0xcc
cvtdq2pd xmm0, xmm0
sete al
add edi, ebp
xor edx, edx
mov dword [rsp + 0x30], edi
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012bff1
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 0x14012bff1
imul eax, ebp, 7
mov r9d, 9
mov dword [rsp + 0x28], eax
jmp 0x14012c055
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
imul r10d, ebp, 7
add eax, r10d
mov dword [rsp + 0x28], r10d
add eax, ebx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012c050
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
add eax, ebp
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 0x14012c055
mov r9d, dword [rsp + 0x20]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rbx + rbp]
lea ecx, [rcx + rbp*8]
xor edx, edx
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14012cfe8
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012cfe8
mov r10, qword [0x140342f70]
mov r12d, 0x820621f3
test r10, r10
jne 0x14012c215
mov rax, qword gs:[0x60]
xor ebx, ebx
mov ebp, r12d
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 0x14012c121
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012c114
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012c105
cmp edx, ebx
jne 0x14012c1e9
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r11d, eax
add r11, r9
shr rax, 0x20
cmp r11, r9
je 0x14012c1e9
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x14012c1e9
mov r14d, dword [r11 + 0x20]
dec r10d
mov edi, 0x811c9dc5
lea rcx, [r14 + r10*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14012c175
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012c16a
cmp edi, ebp
je 0x14012c189
test r10d, r10d
jne 0x14012c155
jmp 0x14012c1e9
mov edx, dword [r11 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r10*2]
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov r10d, dword [rdx + r8*4]
add r10, r9
cmp r10, r11
jbe 0x14012c202
lea rcx, [rax + r11]
cmp r10, rcx
jae 0x14012c202
mov ebx, 0x811c9dc5
mov ebp, ebx
jmp 0x14012c1c8
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x14012c1ba
jmp 0x14012c1dc
movsx eax, al
xor eax, ebp
imul ebp, eax, 0x1000193
inc r10
mov al, byte [r10]
test al, al
jne 0x14012c1d1
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14012c1ff
cmp qword [rax + 0x30], 0
jne 0x14012c0d9
xor r10d, r10d
mov ebp, dword [rsp + 0x20]
mov ebx, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x30]
mov qword [0x140342f70], r10
mov edx, 1
lea r9, [rsp + 0x40]
mov rcx, r13
lea r8d, [rdx + 0x3f]
call r10
xor edx, edx
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 + 0x38], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012c2c3
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 0x14012c2c3
mov r9d, 9
jmp 0x14012c31f
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
add eax, dword [rsp + 0x28]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012c31a
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
add eax, ebp
xorps xmm0, xmm0
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 0x14012c31f
mov r9d, dword [rsp + 0x20]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea edx, [rbp*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
add edx, ebp
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14012cfe8
mov byte [r13], 0x90
mov r10, qword [0x140342f70]
test r10, r10
jne 0x14012c4be
mov rax, qword gs:[0x60]
xor ebx, ebx
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 0x14012c3ca
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012c3bd
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012c3ae
cmp edx, ebx
jne 0x14012c496
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r11d, eax
add r11, r9
shr rax, 0x20
cmp r11, r9
je 0x14012c496
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x14012c496
mov r14d, dword [r11 + 0x20]
dec r10d
mov edi, 0x811c9dc5
lea rcx, [r14 + r10*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14012c41e
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012c413
cmp edi, r12d
je 0x14012c433
test r10d, r10d
jne 0x14012c3fe
jmp 0x14012c496
mov edx, dword [r11 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r10*2]
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov r10d, dword [rdx + r8*4]
add r10, r9
cmp r10, r11
jbe 0x14012c4af
lea rcx, [rax + r11]
cmp r10, rcx
jae 0x14012c4af
mov ebx, 0x811c9dc5
mov r12d, ebx
jmp 0x14012c473
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x14012c465
jmp 0x14012c489
movsx eax, al
xor eax, r12d
imul r12d, eax, 0x1000193
inc r10
mov al, byte [r10]
test al, al
jne 0x14012c47c
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x14012c4ac
cmp qword [rax + 0x30], 0
jne 0x14012c382
xor r10d, r10d
mov ebx, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x30]
mov qword [0x140342f70], r10
mov r8d, dword [rsp + 0x40]
lea r9, [rsp + 0x40]
mov edx, 1
mov rcx, r13
call r10
movsx eax, byte [reloc.WS2_32.dll_htons]
lea edx, [rbp*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add edx, ebp
add eax, ebx
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012c630
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
movzx eax, byte [0x14034150c]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012c5a3
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 0x14012c5a3
mov r9d, 9
jmp 0x14012c5ff
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
add eax, dword [rsp + 0x28]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14012c5fa
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
add eax, ebp
xorps xmm0, xmm0
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 0x14012c5ff
mov r9d, dword [rsp + 0x20]
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
add eax, ebp
xor r12d, r12d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14012c633
call fcn.140137ae4
jmp 0x14012c633
xor r12d, r12d
mov rdx, qword [0x140342ec8]
test rdx, rdx
jne 0x14012c790
mov rax, qword gs:[0x60]
mov ebx, r12d
mov esi, 0xcded1a85
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
mov r13d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14012c6ae
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012c6a1
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012c692
cmp edx, ebx
jne 0x14012c771
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 0x14012c771
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012c771
mov r15d, dword [r10 + 0x20]
dec r11d
mov edi, r13d
lea rcx, [r15 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14012c700
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012c6f5
cmp edi, esi
je 0x14012c714
test r11d, r11d
jne 0x14012c6e2
jmp 0x14012c771
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 0x14012c789
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14012c789
mov ebx, r13d
mov esi, r13d
jmp 0x14012c752
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14012c744
jmp 0x14012c765
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14012c75a
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14012c786
cmp qword [rax + 0x30], r12
jne 0x14012c662
mov rdx, r12
mov qword [0x140342ec8], rdx
mov ecx, 0x99
call rdx
mov rbx, qword [0x140343000]
test rbx, rbx
jne 0x14012c8f4
mov rax, qword gs:[0x60]
mov edi, r12d
mov esi, 0xf84eee59
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
mov r13d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14012c812
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012c805
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012c7f6
cmp edx, edi
jne 0x14012c8d5
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 0x14012c8d5
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012c8d5
mov r15d, dword [r10 + 0x20]
dec r11d
mov ebx, r13d
lea rcx, [r15 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14012c864
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012c859
cmp ebx, esi
je 0x14012c878
test r11d, r11d
jne 0x14012c846
jmp 0x14012c8d5
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov ebx, dword [rdx + r8*4]
add rbx, r9
cmp rbx, r10
jbe 0x14012c8ed
lea rcx, [r10 + rax]
cmp rbx, rcx
jae 0x14012c8ed
mov edi, r13d
mov esi, r13d
jmp 0x14012c8b6
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rbx
mov al, byte [rbx]
cmp al, 0x2e
jne 0x14012c8a8
jmp 0x14012c8c9
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rbx
mov al, byte [rbx]
test al, al
jne 0x14012c8be
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14012c8ea
cmp qword [rax + 0x30], r12
jne 0x14012c7c6
mov rbx, r12
mov qword [0x140343000], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call rbx
mov rdx, qword [0x140342ff8]
test rdx, rdx
jne 0x14012ca5e
mov rax, qword gs:[0x60]
mov ebx, r12d
mov esi, 0xb3002016
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
mov r13d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14012c97c
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012c96f
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012c960
cmp edx, ebx
jne 0x14012ca3f
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 0x14012ca3f
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012ca3f
mov r15d, dword [r10 + 0x20]
dec r11d
mov edi, r13d
lea rcx, [r15 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14012c9ce
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012c9c3
cmp edi, esi
je 0x14012c9e2
test r11d, r11d
jne 0x14012c9b0
jmp 0x14012ca3f
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 0x14012ca57
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x14012ca57
mov ebx, r13d
mov esi, r13d
jmp 0x14012ca20
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14012ca12
jmp 0x14012ca33
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14012ca28
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14012ca54
cmp qword [rax + 0x30], r12
jne 0x14012c930
mov rdx, r12
mov qword [0x140342ff8], rdx
xor ecx, ecx
call rdx
mov rdx, qword [0x140342ff0]
test rdx, rdx
jne 0x14012cbbf
mov rax, qword gs:[0x60]
mov ebx, r12d
mov esi, 0x2fd4df39
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
mov r13d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14012cadd
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012cad0
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012cac1
cmp edx, ebx
jne 0x14012cba0
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 0x14012cba0
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012cba0
mov r15d, dword [r10 + 0x20]
dec r11d
mov edi, r13d
lea rcx, [r15 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14012cb2f
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012cb24
cmp edi, esi
je 0x14012cb43
test r11d, r11d
jne 0x14012cb11
jmp 0x14012cba0
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 0x14012cbb8
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14012cbb8
mov ebx, r13d
mov esi, r13d
jmp 0x14012cb81
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14012cb73
jmp 0x14012cb94
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14012cb89
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14012cbb5
cmp qword [rax + 0x30], r12
jne 0x14012ca91
mov rdx, r12
mov qword [0x140342ff0], rdx
xor ecx, ecx
call rdx
mov rdx, qword [0x140342fe8]
test rdx, rdx
jne 0x14012cd20
mov rax, qword gs:[0x60]
mov ebx, r12d
mov esi, 0xe80fd3a
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
mov r13d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14012cc3e
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012cc31
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012cc22
cmp edx, ebx
jne 0x14012cd01
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 0x14012cd01
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14012cd01
mov r15d, dword [r10 + 0x20]
dec r11d
mov edi, r13d
lea rcx, [r9 + r11*4]
mov edx, dword [rcx + r15]
add rdx, r9
jmp 0x14012cc90
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012cc85
cmp edi, esi
je 0x14012cca4
test r11d, r11d
jne 0x14012cc72
jmp 0x14012cd01
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 0x14012cd19
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x14012cd19
mov ebx, r13d
mov esi, r13d
jmp 0x14012cce2
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14012ccd4
jmp 0x14012ccf5
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14012ccea
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14012cd16
cmp qword [rax + 0x30], r12
jne 0x14012cbf2
mov rdx, r12
mov qword [0x140342fe8], rdx
xor ecx, ecx
call rdx
cmp qword [0x140342fe0], r12
jne 0x14012ce80
mov rax, qword gs:[0x60]
mov ebx, r12d
mov esi, 0xa52bcaf9
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
mov r13d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14012cd9c
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14012cd8f
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14012cd80
cmp edx, ebx
jne 0x14012ce61
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 0x14012ce61
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14012ce61
mov r15d, dword [r11 + 0x20]
dec r9d
mov edi, r13d
lea rcx, [r15 + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
jmp 0x14012cdee
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14012cde3
cmp edi, esi
je 0x14012ce02
test r9d, r9d
jne 0x14012cdd0
jmp 0x14012ce61
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 0x14012ce79
lea rcx, [rax + r11]
cmp r9, rcx
jae 0x14012ce79
mov ebx, r13d
mov esi, r13d
jmp 0x14012ce40
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14012ce32
jmp 0x14012ce54
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x14012ce49
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14012ce76
cmp qword [rax + 0x30], r12
jne 0x14012cd50
mov r9, r12
mov qword [0x140342fe0], r9
xor ecx, ecx
int 0x29
mov r11d, dword [rsp + 0x28]
mov r9d, r12d
mov edi, dword [rsp + 0x2c]
add r11d, edi
mov r10d, dword [rsp + 0x20]
mov ebx, dword [rsp + 0x20]
mov esi, dword [rsp + 0x30]
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]
xorps xmm2, xmm2
sub eax, ecx
xor edx, edx
cvtsi2sd xmm2, rax
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
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], 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 0x14012cf58
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 0x14012cf58
mov r10d, 9
jmp 0x14012cfaa
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 0x14012cfaa
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
add eax, edi
xorps xmm0, xmm0
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r10d, xmm0
cmp r9d, r10d
jge 0x14012cfdc
mov edx, 1
mov eax, edx
mov qword [rsp + 0x20], rdx
mov ecx, edx
mov qword [rsp + rcx*8 + 0x20], rax
mov rax, qword [rsp + 0x20]
add rax, rdx
mov rcx, rax
mov qword [rsp + 0x20], rax
jne 0x14012cfbd
add r9d, edx
jmp 0x14012cea0
mov qword [0], 0x99
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140142710
lea r11, [rsp + 0x50]
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