Function at 0x14029b700
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 [0x1403c6129]
mov esi, dword [0x1403c6190]
add eax, esi
cmp eax, 0x4b
ja 0x14029bd22
je 0x14029bbd2
cmp eax, 6
je 0x14029ba80
cmp eax, 0x15
je 0x14029b942
cmp eax, 0x28
jne 0x14029bd38
movdqa xmm0, xmmword [0x1403a07e0]
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 0x14029b7d6
inc dl
cmp dl, 4
jne 0x14029b7c0
jmp 0x14029b7e4
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 0x14029b816
inc dl
cmp dl, 8
jne 0x14029b800
jmp 0x14029b825
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 0x14029b842
inc cl
cmp cl, 5
jne 0x14029b830
jmp 0x14029b851
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 0x14029b790
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
sub esi, eax
cmp byte [rsp + rsi + 0x32], 9
je 0x14029b933
xor r9b, r9b
mov r8d, 0xfc173083
mov cl, reloc.WS2_32.dll_socket
mov eax, r8d
shr eax, cl
test al, 1
je 0x14029b8a4
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14029b8db
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x14029b8db
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14029b8db
mov cl, reloc.WS2_32.dll_sendto
shr r8d, cl
test r8b, 1
je 0x14029c834
mov r9b, 2
mov r8d, 0x832719b3
mov cl, 0x18
mov eax, r8d
shr eax, cl
test al, 1
je 0x14029b8fc
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14029b933
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x14029b933
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14029b933
mov cl, reloc.WS2_32.dll_setsockopt
shr r8d, cl
test r8b, 1
je 0x14029c834
mov dword [0x1403c6190], 3
jmp 0x14029c834
movdqa xmm0, xmmword [0x1403a0290]
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 0x14029b9c6
inc dl
cmp dl, 4
jne 0x14029b9b0
jmp 0x14029b9d5
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 0x14029ba06
inc dl
cmp dl, 8
jne 0x14029b9f0
jmp 0x14029ba15
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 0x14029ba32
inc cl
cmp cl, 5
jne 0x14029ba20
jmp 0x14029ba41
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 0x14029b980
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 0x14029c834
add esi, 0x1d
jmp 0x14029c82e
movdqa xmm0, xmmword [0x1403a0f00]
movdqu xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [0x1403a01c0]
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 0x14029bb16
inc dl
cmp dl, 4
jne 0x14029bb00
jmp 0x14029bb24
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 0x14029bb56
inc dl
cmp dl, 8
jne 0x14029bb40
jmp 0x14029bb65
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 0x14029bb82
inc cl
cmp cl, 5
jne 0x14029bb70
jmp 0x14029bb91
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 0x14029bad0
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
sub esi, eax
cmp byte [rsp + rsi + 0x3b], 0x2e
jne 0x14029c834
mov dword [0x1403c6190], 0x16
jmp 0x14029c834
movdqa xmm0, xmmword [0x1403a07b0]
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 0x14029bc66
inc dl
cmp dl, 4
jne 0x14029bc50
jmp 0x14029bc74
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 0x14029bca6
inc dl
cmp dl, 8
jne 0x14029bc90
jmp 0x14029bcb5
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 0x14029bcd2
inc cl
cmp cl, 5
jne 0x14029bcc0
jmp 0x14029bce1
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 0x14029bc20
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea eax, [rdx + rdx*4]
sub esi, eax
cmp byte [rsp + rsi + 0x35], 0x3b
jne 0x14029c834
mov dword [0x1403c6190], 0xc
jmp 0x14029c834
cmp eax, 0x2227
je 0x14029c68e
cmp eax, 0x23fb
je 0x14029bfed
movdqa xmm0, xmmword [0x1403a0f20]
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x1403a0880]
movdqa xmmword [rsp + 0x80], xmm1
movdqa xmm0, xmmword [0x1403a0370]
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmm1, xmmword [0x1403a10e0]
movdqa xmmword [rsp + 0xa0], xmm1
movdqa xmm0, xmmword [0x1403a0870]
movdqa xmmword [rsp + 0xb0], xmm0
movdqa xmm1, xmmword [0x1403a0da0]
movdqa xmmword [rsp + 0xc0], xmm1
movdqa xmm0, xmmword [0x1403a0b60]
movdqa xmmword [rsp + 0xd0], xmm0
movdqa xmm1, xmmword [0x14039ffa0]
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 0x14029be67
inc dl
cmp dl, 4
jne 0x14029be51
jmp 0x14029be78
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 0x14029bea6
inc dl
cmp dl, 8
jne 0x14029be90
jmp 0x14029beb8
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 0x14029bed2
inc cl
cmp cl, 5
jne 0x14029bec0
jmp 0x14029bee4
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 0x14029be20
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 0x14029bf2c
mov dword [0x1403c6190], 9
jmp 0x14029c834
xor r9b, r9b
mov r8d, 0x87cb7ea5
mov cl, reloc.WLDAP32.dll_Ordinal_30
mov eax, r8d
shr eax, cl
test al, 1
je 0x14029bf51
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14029bfe5
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x14029bfe5
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14029bfe5
mov cl, reloc.WS2_32.dll_select
shr r8d, cl
test r8b, 1
jne 0x14029bfe5
mov r8d, 0xbf987cda
mov cl, reloc.WLDAP32.dll_Ordinal_30
mov eax, r8d
shr eax, cl
test al, 1
je 0x14029bfa2
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14029bfd9
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x14029bfd9
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14029bfd9
mov cl, reloc.WS2_32.dll_setsockopt
shr r8d, cl
test r8b, 1
je 0x14029c834
mov dword [0x1403c6190], r12d
jmp 0x14029c834
add esi, 0x11
jmp 0x14029c82e
movdqa xmm0, xmmword [0x1403a0b00]
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 0x14029c076
inc dl
cmp dl, 4
jne 0x14029c060
jmp 0x14029c084
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 0x14029c0b6
inc dl
cmp dl, 8
jne 0x14029c0a0
jmp 0x14029c0c5
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 0x14029c0e2
inc cl
cmp cl, 5
jne 0x14029c0d0
jmp 0x14029c0f1
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 0x14029c030
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 [0x1403c6190], ecx
mov edx, 0xb6a51443
mov cl, reloc.WLDAP32.dll_Ordinal_26
mov eax, edx
shr eax, cl
test al, 1
je 0x14029c14b
mov cl, 2
inc cl
mov eax, edx
shr eax, cl
test al, 1
jne 0x14029c176
mov cl, 2
mov eax, edx
shr eax, cl
test al, 1
jne 0x14029c176
add cl, cl
mov eax, edx
shr eax, cl
test al, 1
jne 0x14029c176
mov cl, 9
mov eax, edx
shr eax, cl
test al, 1
jne 0x14029c176
mov cl, reloc.WS2_32.dll_sendto
shr edx, cl
test dl, 1
je 0x14029c834
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 0x14029c686
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x14029c686
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, 0xb2b8669c
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14029c67e
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 0x14029c1e3
cmp r10d, 0xbc7553ce
jne 0x14029c67e
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, 0xfd84a58a
je 0x14029c296
mov dl, 2
mov r9d, 0xb853e18a
mov cl, 0x18
mov eax, r9d
shr eax, cl
test al, 1
je 0x14029c25c
lea ecx, [rdx + 1]
mov eax, r9d
shr eax, cl
test al, 1
jne 0x14029c296
movzx eax, dl
add dl, dl
movzx r8d, dl
bt r9d, eax
setae dl
bt r9d, r8d
setae al
test al, dl
je 0x14029c296
mov cl, 9
mov eax, r9d
shr eax, cl
test al, 1
jne 0x14029c296
mov cl, listen
shr r9d, cl
test r9b, 1
jne 0x14029c296
test r10d, r10d
jne 0x14029c834
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 0x14029c676
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x14029c676
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, 0x4e8ed648
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14029c66e
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 0x14029c303
cmp r10d, 0x8bfe950d
jne 0x14029c66e
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, 0x7f8dad0c
call r9
mov r15, rax
mov dl, 2
mov r9d, 0x93739927
mov cl, reloc.WS2_32.dll_socket
mov eax, r9d
shr eax, cl
test al, 1
je 0x14029c384
lea ecx, [rdx + 1]
mov eax, r9d
shr eax, cl
test al, 1
jne 0x14029c3b9
movzx eax, dl
add dl, dl
movzx r8d, dl
bt r9d, eax
setae dl
bt r9d, r8d
setae al
test al, dl
je 0x14029c3b9
mov cl, 9
mov eax, r9d
shr eax, cl
test al, 1
jne 0x14029c3b9
mov cl, ntohs
shr r9d, cl
test r9b, 1
je 0x14029c491
test r15, r15
je 0x14029c491
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 0x14029c489
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x14029c489
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, 0xa93a4254
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14029c485
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 0x14029c430
cmp r11d, 0xb592461e
jne 0x14029c485
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 0x14029c834
test ebx, ebx
jne 0x14029c410
mov rax, qword [rax]
jmp 0x14029c3e0
mov dl, 2
mov r9d, 0x542af148
mov cl, Ordinal_30
mov eax, r9d
shr eax, cl
test al, 1
je 0x14029c4b0
lea ecx, [rdx + 1]
mov eax, r9d
shr eax, cl
test al, 1
jne 0x14029c4e1
movzx eax, dl
add dl, dl
movzx r8d, dl
bt r9d, eax
setae dl
bt r9d, r8d
setae al
test al, dl
je 0x14029c4e1
mov cl, 9
mov eax, r9d
shr eax, cl
test al, 1
jne 0x14029c4e1
mov cl, reloc.WS2_32.dll_sendto
shr r9d, cl
test r9b, 1
je 0x14029c480
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 0x14029c666
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x14029c666
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, 0xf314ac4a
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14029c65e
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 0x14029c553
cmp r10d, 0x969ffd2
jne 0x14029c65e
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 [0x1403c1cfc]
mov ecx, dword [0x1403c1cf8]
call r8
cmp word [0x1403c1d9e], 0
jne 0x14029c480
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 0x14029c64e
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x14029c64e
mov r14d, dword [rdi + 0x20]
dec ebx
lea rcx, [r10 + rbx*4]
mov r9d, dword [rcx + r14]
add r9, r10
mov r11d, 0xfb4a2ce9
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14029c64a
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 0x14029c612
cmp r11d, 0x79b26129
je 0x14029c464
test ebx, ebx
jne 0x14029c5f3
mov rax, qword [rax]
jmp 0x14029c5d0
test ebx, ebx
jne 0x14029c530
mov rax, qword [rax]
jmp 0x14029c500
test ebx, ebx
jne 0x14029c2e0
mov rax, qword [rax]
jmp 0x14029c2b0
test ebx, ebx
jne 0x14029c1c0
mov rax, qword [rax]
jmp 0x14029c190
movdqa xmm0, xmmword [0x1403a06a0]
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 0x14029c718
inc r8b
cmp r8b, 4
jne 0x14029c700
jmp 0x14029c727
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 0x14029c756
inc dl
cmp dl, 8
jne 0x14029c740
jmp 0x14029c765
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 0x14029c796
inc dl
cmp dl, 5
jne 0x14029c780
jmp 0x14029c7a5
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 0x14029c6d0
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 0x14029c834
mov r9b, 2
mov r8d, 0x3689fa8
mov cl, reloc.WLDAP32.dll_Ordinal_30
mov eax, r8d
shr eax, cl
test al, 1
je 0x14029c7f8
lea ecx, [r9 + 1]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14029c82b
lea eax, [r9 + 2]
movzx edx, al
bt r8d, edx
setae dl
movzx eax, r9b
bt r8d, eax
setae al
test al, dl
je 0x14029c82b
mov cl, 9
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14029c82b
mov cl, reloc.WS2_32.dll_setsockopt
shr r8d, cl
test r8b, 1
je 0x14029c834
add esi, 0xfffffff9
mov dword [0x1403c6190], 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 0x14029c8f9
inc r8b
cmp r8b, 4
jne 0x14029c8e0
jmp 0x14029c90a
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 0x14029c937
inc dl
cmp dl, 8
jne 0x14029c920
jmp 0x14029c94b
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 0x14029c977
inc dl
cmp dl, 5
jne 0x14029c960
jmp 0x14029c98b
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 0x14029c8a0
cmp word [rsp + 0x3e], 1
jne 0x14029ca04
mov edx, 0xb61e1034
mov cl, reloc.WLDAP32.dll_Ordinal_30
mov eax, edx
shr eax, cl
test al, 1
je 0x14029c9d0
mov cl, 1
inc cl
mov eax, edx
shr eax, cl
test al, 1
jne 0x14029c9f8
mov cl, 1
mov eax, edx
shr eax, cl
test cl, al
jne 0x14029c9f8
add cl, 2
mov eax, edx
shr eax, cl
test al, 1
jne 0x14029c9f8
mov cl, 9
mov eax, edx
shr eax, cl
test al, 1
jne 0x14029c9f8
mov cl, reloc.WS2_32.dll_setsockopt
shr edx, cl
test dl, 1
je 0x14029ca04
call fcn.1402e42db
mov byte [0x1403c6129], 0x67
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