Function at 0x140002de0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x140123218]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rdi, rcx
mov al, 0xcf
mov dl, 0x3d
mov r8b, 0xde
mov r9b, 0x38
mov r10b, 0x36
mov r11b, 0x51
mov bl, 0x43
mov sil, 0x4d
mov r14b, 0x88
mov r15b, 0x54
mov r12b, 0x53
mov r13b, 0x56
xor ecx, ecx
mov qword [rbp - 0x49], rcx
mov dword [rbp - 0x2c], ecx
movzx ecx, al
movzx eax, cl
and al, 0x3b
add al, al
sub cl, al
sub cl, 0x62
mov byte [rbp - 0x39], cl
movzx ecx, dl
movzx eax, cl
and al, 0x3c
add al, al
sub cl, al
sub cl, 0x61
mov byte [rbp - 0x38], cl
movzx ecx, r8b
movzx eax, cl
and al, dl
add al, al
sub cl, al
sub cl, 0x60
mov byte [rbp - 0x37], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x3e
add al, al
sub cl, al
sub cl, 0x5f
mov byte [rbp - 0x36], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x3f
add al, al
sub cl, al
sub cl, 0x5e
mov byte [rbp - 0x35], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x40
add al, al
sub cl, al
sub cl, 0x5d
mov byte [rbp - 0x34], cl
movzx ecx, bl
movzx eax, cl
and al, 0x41
add al, al
sub cl, al
sub cl, 0x5c
mov byte [rbp - 0x33], cl
movzx ecx, sil
movzx eax, cl
and al, 0x42
add al, al
sub cl, al
sub cl, 0x5b
mov byte [rbp - 0x32], cl
movzx ecx, r14b
movzx eax, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x5a
mov byte [rbp - 0x31], cl
movzx ecx, r15b
movzx eax, cl
and al, 0x44
add al, al
sub cl, al
sub cl, 0x59
mov byte [rbp - 0x30], cl
movzx ecx, r12b
movzx eax, cl
and al, 0x45
add al, al
sub cl, al
sub cl, 0x58
mov byte [rbp - 0x2f], cl
movzx ecx, r13b
movzx eax, cl
and al, 0x46
add al, al
sub cl, al
sub cl, 0x57
mov byte [rbp - 0x2e], cl
mov al, 0xda
movzx ecx, al
movzx eax, cl
and al, 0x47
add al, al
sub cl, al
sub cl, r13b
mov byte [rbp - 0x2d], cl
mov rdx, qword [rbp - 0x49]
movzx ecx, dl
movzx eax, cl
and al, 0x48
add al, al
sub cl, al
sub cl, 0x55
mov byte [rbp - 0x2c], cl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 0x49
add al, al
sub cl, al
sub cl, r15b
mov byte [rbp - 0x2b], cl
movzx ecx, byte [rbp - 0x2a]
movzx eax, cl
and al, 0x4a
add al, al
sub cl, al
sub cl, r12b
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0x4b
add al, al
sub cl, al
sub cl, 0x52
mov byte [rbp - 0x29], cl
movzx ecx, dl
mov eax, ecx
movabs rdx, 0x804bef70a770df4c
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x63
mov byte [rbp - 0x28], cl
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
xor esi, esi
mov qword [rbp - 0x59], rsi
mov qword [rbp - 0x51], rsi
lea rax, [rbp - 0x39]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x140002fc1
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x69]
call fcn.14000c4c0
nop
lea rcx, [rbp - 0x69]
call fcn.14000e100
mov rbx, rax
lea rcx, [rbp - 0x69]
call fcn.140009b90
test rbx, rbx
jne 0x140002ff9
mov al, 1
jmp 0x140003db0
mov dword [rbp - 0x69], 0x3cfaf9f8
mov dword [rbp - 0x65], 0xff393a3b
mov word [rbp - 0x61], 0x69f0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x5f], xmm0
mov dword [rbp - 0x4f], eax
mov word [rbp - 0x4b], ax
mov rax, rsi
movabs r11, 0xa410c0c7bda95df
mov r10, r11
lea rcx, [rbp - 0x68]
sub r10, rcx
nop dword [rax]
nop dword [rax + rax]
lea r9, [rbp - 0x68]
add r9, rax
lea ecx, [rax - 0x30]
and cl, byte [r9 - 1]
mov edx, reloc.WS2_32.dll_recv
sub dl, cl
add dl, dl
add dl, byte [r9 - 1]
add dl, al
mov byte [r9 - 1], dl
movzx edx, byte [r9]
lea ecx, [rax - 0x2f]
and cl, dl
add cl, cl
sub dl, cl
add dl, 0x21
add dl, al
mov byte [r9], dl
lea ecx, [rax - 0x2e]
and cl, byte [r9 + 1]
mov edx, reloc.WS2_32.dll_recvfrom
sub dl, cl
add dl, dl
add dl, byte [r9 + 1]
add dl, al
mov byte [r9 + 1], dl
movzx edx, byte [r9 + 2]
lea ecx, [rax - 0x2d]
and cl, dl
add cl, cl
sub dl, cl
add dl, 0x23
add dl, al
mov byte [r9 + 2], dl
lea ecx, [rax - 0x2c]
and cl, byte [r9 + 3]
mov edx, setsockopt
sub dl, cl
add dl, dl
add dl, byte [r9 + 3]
add dl, al
mov byte [r9 + 3], dl
movzx edx, byte [r9 + 4]
lea ecx, [rax - 0x2b]
and cl, dl
add cl, cl
sub dl, cl
add dl, 0x25
add dl, al
mov byte [r9 + 4], dl
lea ecx, [rax - 0x2a]
and cl, byte [r9 + 5]
mov edx, reloc.WS2_32.dll_send
sub dl, cl
add dl, dl
add dl, byte [r9 + 5]
add dl, al
mov byte [r9 + 5], dl
movzx edx, byte [r9 + 6]
lea ecx, [rax - 0x29]
and cl, dl
add cl, cl
sub dl, cl
add dl, 0x27
add dl, al
mov byte [r9 + 6], dl
lea ecx, [rax - 0x28]
and cl, byte [r9 + 7]
mov edx, reloc.WS2_32.dll_sendto
sub dl, cl
add dl, dl
add dl, byte [r9 + 7]
add dl, al
mov byte [r9 + 7], dl
movzx edx, byte [r9 + 8]
lea ecx, [rax - 0x27]
and cl, dl
add cl, cl
sub dl, cl
add dl, 0x29
add dl, al
mov byte [r9 + 8], dl
lea ecx, [rax - 0x26]
and cl, byte [r9 + 9]
mov edx, reloc.WS2_32.dll_setsockopt
sub dl, cl
add dl, dl
add dl, byte [r9 + 9]
add dl, al
mov byte [r9 + 9], dl
movzx edx, byte [r9 + 0xa]
lea ecx, [rax - 0x25]
and cl, dl
add cl, cl
sub dl, cl
add dl, 0x2b
add dl, al
mov byte [r9 + 0xa], dl
lea ecx, [rax - 0x24]
and cl, byte [r9 + 0xb]
mov edx, 0x16
sub dl, cl
add dl, dl
add dl, al
add byte [r9 + 0xb], dl
movzx edx, byte [r9 + 0xc]
lea ecx, [rax - 0x23]
and cl, dl
add cl, cl
sub dl, cl
add dl, 0x2d
add dl, al
mov byte [r9 + 0xc], dl
lea ecx, [rax - 0x22]
and cl, byte [r9 + 0xd]
mov edx, 0x17
sub dl, cl
add dl, dl
add dl, byte [r9 + 0xd]
add dl, al
mov byte [r9 + 0xd], dl
movzx r8d, byte [r9 + 0xe]
lea rcx, [r9 + r10]
and rcx, r8
imul rdx, rcx, 0xfffffffffffffffe
add rdx, r8
add rdx, r11
add rdx, rax
add dl, 0x50
mov byte [r9 + 0xe], dl
add rax, 0x10
cmp rax, 0x20
jb 0x140003040
mov al, 0x56
mov dl, 0x4a
mov r8b, 0x4d
mov r9b, 0x48
mov r10b, 2
xorps xmm0, xmm0
xor r11d, r11d
movups xmmword [rbp - 0x34], xmm0
mov word [rbp - 0x24], r11w
movzx ecx, al
movzx eax, cl
and al, 0x81
add al, al
sub cl, al
sub cl, 6
mov byte [rbp - 0x39], cl
movzx ecx, dl
movzx eax, cl
and al, 0x82
add al, al
sub cl, al
sub cl, 5
mov byte [rbp - 0x38], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x83
add al, al
sub cl, al
sub cl, 4
mov byte [rbp - 0x37], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x84
add al, al
sub cl, al
sub cl, 3
mov byte [rbp - 0x36], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x85
add al, al
sub cl, al
sub cl, r10b
mov byte [rbp - 0x35], cl
movd eax, xmm0
movzx ecx, al
movzx eax, cl
and al, 0x86
add al, al
sub cl, al
dec cl
mov byte [rbp - 0x34], cl
movzx ecx, byte [rbp - 0x33]
movzx eax, cl
and al, 0x87
add al, al
sub cl, al
mov byte [rbp - 0x33], cl
movzx ecx, byte [rbp - 0x32]
movzx eax, cl
and al, 0x88
add al, al
sub cl, al
inc cl
mov byte [rbp - 0x32], cl
movzx edx, byte [rbp - 0x31]
movzx eax, dl
and al, 0x89
mov ecx, 1
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x31], cl
movzx ecx, byte [rbp - 0x30]
movzx eax, cl
and al, 0x8a
add al, al
sub cl, al
add cl, 3
mov byte [rbp - 0x30], cl
movzx edx, byte [rbp - 0x2f]
movzx eax, dl
and al, 0x8b
mov ecx, 2
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2f], cl
movzx ecx, byte [rbp - 0x2e]
movzx eax, cl
and al, 0x8c
add al, al
sub cl, al
add cl, 5
mov byte [rbp - 0x2e], cl
movzx edx, byte [rbp - 0x2d]
movzx eax, dl
and al, 0x8d
mov ecx, 3
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2d], cl
movzx ecx, byte [rbp - 0x2c]
movzx eax, cl
and al, 0x8e
add al, al
sub cl, al
add cl, 7
mov byte [rbp - 0x2c], cl
movzx edx, byte [rbp - 0x2b]
movzx eax, dl
and al, 0x8f
mov ecx, 4
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x2b], cl
movzx ecx, byte [rbp - 0x2a]
movzx eax, cl
and al, 0x90
add al, al
sub cl, al
add cl, 9
mov byte [rbp - 0x2a], cl
movzx edx, byte [rbp - 0x29]
movzx eax, dl
and al, 0x91
mov ecx, 5
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x29], cl
movzx ecx, byte [rbp - 0x28]
movzx eax, cl
and al, 0x92
add al, al
sub cl, al
add cl, 0xb
mov byte [rbp - 0x28], cl
movzx edx, byte [rbp - 0x27]
movzx eax, dl
and al, 0x93
mov ecx, 6
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x27], cl
movzx ecx, byte [rbp - 0x26]
movzx eax, cl
and al, 0x94
add al, al
sub cl, al
add cl, 0xd
mov byte [rbp - 0x26], cl
movzx edx, byte [rbp - 0x25]
movzx eax, dl
and al, 0x95
mov ecx, 7
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x25], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x96
add al, al
sub cl, al
add cl, 0xf
mov byte [rbp - 0x24], cl
movzx edx, byte [rbp - 0x23]
movzx eax, dl
and al, 0x97
mov ecx, 8
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x23], cl
movzx ecx, r11b
mov eax, ecx
movabs rdx, 0x1ddb32e7fc4eef98
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x79
mov byte [rbp - 0x22], cl
mov dword [rbp - 0x41], esi
lea r9, [rbp - 0x41]
mov r8, rbx
lea rdx, [rbp - 0x39]
mov rcx, rdi
call fcn.140007000
mov r8d, dword [rbp - 0x41]
lea rcx, [rbp - 0x69]
mov qword [rsp + 0x20], rcx
lea r9, [0x140102708]
mov rdx, rax
mov rcx, rdi
call fcn.140006ee0
mov rsi, rax
test rax, rax
je 0x140003dae
mov al, 0xc4
mov dl, 0xc5
mov r8b, 0x81
mov r9b, 0x80
mov r10b, 0x83
mov r11b, 0x82
mov r14b, 0xce
mov r15b, 0xcf
mov r12b, 0xcc
mov r13b, 0x45
xor ecx, ecx
mov qword [rbp - 0x49], rcx
mov qword [rbp - 0x5f], rcx
mov dword [rbp - 0x57], ecx
mov word [rbp - 0x53], cx
movzx ecx, al
movzx eax, cl
and al, 0x36
add al, al
sub cl, al
sub cl, 0x44
mov byte [rbp - 0x69], cl
movzx ecx, dl
movzx eax, cl
and al, 0x37
add al, al
sub cl, al
sub cl, 0x43
mov byte [rbp - 0x68], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x38
add al, al
sub cl, al
sub cl, 0x42
mov byte [rbp - 0x67], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x39
add al, al
sub cl, al
sub cl, 0x41
mov byte [rbp - 0x66], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x3a
add al, al
sub cl, al
sub cl, 0x40
mov byte [rbp - 0x65], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x3b
add al, al
sub cl, al
sub cl, 0x3f
mov byte [rbp - 0x64], cl
movzx ecx, r14b
movzx eax, cl
and al, 0x3c
add al, al
sub cl, al
sub cl, 0x3e
mov byte [rbp - 0x63], cl
movzx ecx, r15b
movzx eax, cl
and al, 0x3d
add al, al
sub cl, al
sub cl, 0x3d
mov byte [rbp - 0x62], cl
movzx ecx, r12b
movzx eax, cl
and al, 0x3e
add al, al
sub cl, al
sub cl, 0x3c
mov byte [rbp - 0x61], cl
movzx ecx, r13b
movzx eax, cl
and al, 0x3f
add al, al
sub cl, al
sub cl, 0x3b
mov byte [rbp - 0x60], cl
mov rdx, qword [rbp - 0x49]
movzx ecx, dl
movzx eax, cl
and al, 0x40
add al, al
sub cl, al
sub cl, 0x3a
mov byte [rbp - 0x5f], cl
movzx ecx, byte [rbp - 0x5e]
movzx eax, cl
and al, 0x41
add al, al
sub cl, al
sub cl, 0x39
mov byte [rbp - 0x5e], cl
movzx ecx, byte [rbp - 0x5d]
movzx eax, cl
and al, 0x42
add al, al
sub cl, al
sub cl, 0x38
mov byte [rbp - 0x5d], cl
movzx ecx, byte [rbp - 0x5c]
movzx eax, cl
and al, 0x43
add al, al
sub cl, al
sub cl, 0x37
mov byte [rbp - 0x5c], cl
movzx ecx, byte [rbp - 0x5b]
movzx eax, cl
and al, 0x44
add al, al
sub cl, al
sub cl, 0x36
mov byte [rbp - 0x5b], cl
movzx ecx, byte [rbp - 0x5a]
movzx eax, cl
and al, r13b
add al, al
sub cl, al
sub cl, 0x35
mov byte [rbp - 0x5a], cl
movzx ecx, byte [rbp - 0x59]
movzx eax, cl
and al, 0x46
add al, al
sub cl, al
sub cl, 0x34
mov byte [rbp - 0x59], cl
movzx ecx, byte [rbp - 0x58]
movzx eax, cl
and al, 0x47
add al, al
sub cl, al
sub cl, 0x33
mov byte [rbp - 0x58], cl
movzx ecx, dl
movzx eax, cl
and al, 0x48
add al, al
sub cl, al
sub cl, 0x32
mov byte [rbp - 0x57], cl
movzx ecx, byte [rbp - 0x56]
movzx eax, cl
and al, 0x49
add al, al
sub cl, al
sub cl, 0x31
mov byte [rbp - 0x56], cl
movzx ecx, byte [rbp - 0x55]
movzx eax, cl
and al, 0x4a
add al, al
sub cl, al
sub cl, 0x30
mov byte [rbp - 0x55], cl
movzx ecx, byte [rbp - 0x54]
movzx eax, cl
and al, 0x4b
add al, al
sub cl, al
sub cl, 0x2f
mov byte [rbp - 0x54], cl
movzx ecx, dl
movzx eax, cl
and al, 0x4c
add al, al
sub cl, al
sub cl, 0x2e
mov byte [rbp - 0x53], cl
movzx ecx, byte [rbp - 0x52]
movzx eax, cl
and al, 0x4d
add al, al
sub cl, al
sub cl, 0x2d
mov byte [rbp - 0x52], cl
movzx ecx, dl
mov eax, ecx
movabs rdx, 0xcd32cadec569cd4e
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x7a
mov byte [rbp - 0x51], cl
mov al, 0x9c
mov dl, 0xec
mov r8b, 0xe1
mov r9b, 0xe6
mov r10b, 0x28
xorps xmm0, xmm0
xor r11d, r11d
movups xmmword [rbp - 0x34], xmm0
movzx ecx, al
movzx eax, cl
and al, 0xda
add al, al
sub cl, al
sub cl, 0x1c
mov byte [rbp - 0x39], cl
movzx ecx, dl
movzx eax, cl
and al, 0xdb
add al, al
sub cl, al
sub cl, 0x1b
mov byte [rbp - 0x38], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xdc
add al, al
sub cl, al
sub cl, 0x1a
mov byte [rbp - 0x37], cl
movzx ecx, r9b
movzx eax, cl
and al, 0xdd
add al, al
sub cl, al
sub cl, 0x19
mov byte [rbp - 0x36], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xde
add al, al
sub cl, al
sub cl, 0x18
mov byte [rbp - 0x35], cl
movd eax, xmm0
movzx ecx, al
movzx eax, cl
and al, 0xdf
add al, al
sub cl, al
sub cl, 0x17
mov byte [rbp - 0x34], cl
movzx ecx, byte [rbp - 0x33]
movzx eax, cl
and al, 0xe0
add al, al
sub cl, al
sub cl, 0x16
mov byte [rbp - 0x33], cl
movzx ecx, byte [rbp - 0x32]
movzx eax, cl
and al, r8b
add al, al
sub cl, al
sub cl, 0x15
mov byte [rbp - 0x32], cl
movzx ecx, byte [rbp - 0x31]
movzx eax, cl
and al, 0xe2
add al, al
sub cl, al
sub cl, 0x14
mov byte [rbp - 0x31], cl
movzx ecx, byte [rbp - 0x30]
movzx eax, cl
and al, 0xe3
add al, al
sub cl, al
sub cl, 0x13
mov byte [rbp - 0x30], cl
movzx ecx, byte [rbp - 0x2f]
movzx eax, cl
and al, 0xe4
add al, al
sub cl, al
sub cl, 0x12
mov byte [rbp - 0x2f], cl
movzx ecx, byte [rbp - 0x2e]
movzx eax, cl
and al, 0xe5
add al, al
sub cl, al
sub cl, 0x11
mov byte [rbp - 0x2e], cl
movzx ecx, byte [rbp - 0x2d]
movzx eax, cl
and al, r9b
add al, al
sub cl, al
sub cl, 0x10
mov byte [rbp - 0x2d], cl
movzx ecx, byte [rbp - 0x2c]
movzx eax, cl
and al, 0xe7
add al, al
sub cl, al
sub cl, 0xf
mov byte [rbp - 0x2c], cl
movzx ecx, byte [rbp - 0x2b]
movzx eax, cl
and al, 0xe8
add al, al
sub cl, al
sub cl, 0xe
mov byte [rbp - 0x2b], cl
movzx ecx, byte [rbp - 0x2a]
movzx eax, cl
and al, 0xe9
add al, al
sub cl, al
sub cl, 0xd
mov byte [rbp - 0x2a], cl
movzx ecx, byte [rbp - 0x29]
movzx eax, cl
and al, 0xea
add al, al
sub cl, al
sub cl, 0xc
mov byte [rbp - 0x29], cl
movzx ecx, byte [rbp - 0x28]
movzx eax, cl
and al, 0xeb
add al, al
sub cl, al
sub cl, 0xb
mov byte [rbp - 0x28], cl
movzx ecx, byte [rbp - 0x27]
movzx eax, cl
and al, dl
add al, al
sub cl, al
sub cl, 0xa
mov byte [rbp - 0x27], cl
movzx ecx, byte [rbp - 0x26]
movzx eax, cl
and al, 0xed
add al, al
sub cl, al
sub cl, 9
mov byte [rbp - 0x26], cl
movzx ecx, byte [rbp - 0x25]
movzx eax, cl
and al, 0xee
add al, al
sub cl, al
sub cl, 8
mov byte [rbp - 0x25], cl
movzx ecx, r11b
mov eax, ecx
movabs rdx, 0x26687189abf3cbef
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0xa
mov byte [rbp - 0x24], cl
xor r12d, r12d
mov dword [rbp - 0x41], r12d
lea r9, [rbp - 0x41]
mov r8, rbx
lea rdx, [rbp - 0x39]
mov rcx, rdi
call fcn.140007000
mov r8d, dword [rbp - 0x41]
lea rcx, [rbp - 0x69]
mov qword [rsp + 0x20], rcx
lea r9, [0x140102718]
mov rdx, rax
mov rcx, rdi
call fcn.140006ee0
mov r14, rax
test rax, rax
je 0x140003dae
mov dword [rbp - 0x39], 0x3c7a7978
mov dword [rbp - 0x35], 0x7f7e3a7c
mov dword [rbp - 0x31], 0x34353637
mov dword [rbp - 0x2d], 0x30313233
mov dword [rbp - 0x29], 0x6b2d2e2f
mov byte [rbp - 0x25], 0xd4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x24], xmm0
mov word [rbp - 0x14], ax
mov r9d, r12d
movabs r11, 0xab1850aa07d72eac
mov r10, r11
lea rax, [rbp - 0x38]
sub r10, rax
nop dword [rax]
nop dword [rax + rax]
lea r8, [rbp - 0x38]
add r8, r9
lea eax, [r9 - 0x60]
and al, byte [r8 - 1]
mov ecx, 0x20
sub cl, al
add cl, cl
add cl, byte [r8 - 1]
add cl, r9b
mov byte [r8 - 1], cl
movzx ecx, byte [r8]
lea eax, [r9 - 0x5f]
and al, cl
add al, al
sub cl, al
add cl, 0x41
add cl, r9b
mov byte [r8], cl
lea eax, [r9 - 0x5e]
and al, byte [r8 + 1]
mov ecx, 0x21
sub cl, al
add cl, cl
add cl, byte [r8 + 1]
add cl, r9b
mov byte [r8 + 1], cl
movzx edx, byte [r8 + 2]
lea ecx, [r9 - 0x5d]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x43
add al, dl
mov byte [r8 + 2], al
lea eax, [r9 - 0x5c]
and al, byte [r8 + 3]
mov ecx, 0x22
sub cl, al
add cl, cl
add cl, byte [r8 + 3]
add cl, r9b
mov byte [r8 + 3], cl
movzx edx, byte [r8 + 4]
lea ecx, [r9 - 0x5b]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, r13b
add al, dl
mov byte [r8 + 4], al
lea eax, [r9 - 0x5a]
and al, byte [r8 + 5]
mov ecx, 0x23
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 5], cl
movzx edx, byte [r8 + 6]
lea ecx, [r9 - 0x59]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x47
add al, dl
mov byte [r8 + 6], al
lea eax, [r9 - 0x58]
and al, byte [r8 + 7]
mov ecx, 0x24
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 7], cl
movzx edx, byte [r8 + 8]
lea ecx, [r9 - 0x57]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x49
add al, dl
mov byte [r8 + 8], al
lea eax, [r9 - 0x56]
and al, byte [r8 + 9]
mov ecx, 0x25
sub cl, al
add cl, cl
add cl, r9b
add byte [r8 + 9], cl
movzx edx, byte [r8 + 0xa]
lea ecx, [r9 - 0x55]
and cl, dl
add cl, cl
movzx eax, r9b
sub al, cl
add dl, 0x4b
add al, dl
mov byte [r8 + 0xa], al
movzx edx, byte [r8 + 0xb]
lea rax, [r10 + r8]
and rax, rdx
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
add rcx, r11
add rcx, r9
sub cl, 0x60
mov byte [r8 + 0xb], cl
add r9, 0xd
cmp r9, 0x27
jb 0x1400038b0
mov dword [rbp - 0x69], 0x302d5226
mov byte [rbp - 0x65], 0x8a
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x64], xmm0
mov qword [rbp - 0x54], rax
mov word [rbp - 0x4c], ax
mov r9, r12
movabs r11, 0x32cab24889ace3ed
mov r10, r11
lea rax, [rbp - 0x69]
sub r10, rax
nop word [rax + rax]
lea r8, [rbp - 0x69]
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, 0x7b
mov byte [r8], cl
inc r9
cmp r9, 0x1f
jb 0x140003a60
mov dword [rbp - 0x41], r12d
lea r9, [rbp - 0x41]
mov r8, rbx
lea rdx, [rbp - 0x69]
mov rcx, rdi
call fcn.140007000
mov r8d, dword [rbp - 0x41]
lea rcx, [rbp - 0x39]
mov qword [rsp + 0x20], rcx
lea r9, [0x140102728]
mov rdx, rax
mov rcx, rdi
call fcn.140006ee0
mov rbx, rax
test rax, rax
je 0x140003dae
add rbx, 7
mov dword [rbp - 0x41], r12d
lea r8, [rsi + 3]
mov r9d, 4
lea rdx, [rbp - 0x41]
mov rcx, rdi
call fcn.140004120
test al, al
jne 0x140003afb
mov r15, 0xfffffffffffffff8
jmp 0x140003b05
movsxd r15, dword [rbp - 0x41]
dec r15
add r15, rsi
mov dword [rbp - 0x41], r12d
lea r8, [r14 + 2]
mov r9d, 4
lea rdx, [rbp - 0x41]
mov rcx, rdi
call fcn.140004120
test al, al
jne 0x140003b28
mov r13, r12
jmp 0x140003b33
movsxd r13, dword [rbp - 0x41]
add r13, 6
add r13, r14
lea r8, [r13 + 8]
mov qword [rbp + 0x17], r8
mov r9d, 8
lea rdx, [rbp + 0x17]
mov rcx, rdi
call fcn.140004120
mov dword [rbp - 0x41], r12d
lea r8, [rbx + 1]
mov r9d, 4
lea rdx, [rbp - 0x41]
mov rcx, rdi
call fcn.140004120
test al, al
jne 0x140003b71
mov qword [rbp - 0x49], r12
jmp 0x140003b80
movsxd rax, dword [rbp - 0x41]
add rax, 5
add rax, rbx
mov qword [rbp - 0x49], rax
mov r8, r15
mov r9d, 8
lea rdx, [rbp - 0x11]
mov rcx, rdi
call fcn.140004120
mov rsi, qword [rbp - 0x11]
test al, al
cmove rsi, r12
cmp rsi, r15
je 0x140003dae
lea r8, [rsi + 0x10]
mov r9d, reloc.WS2_32.dll_recv
lea rdx, [rbp - 0x39]
mov rcx, rdi
call fcn.140004120
test al, al
je 0x140003c51
movzx ecx, word [rbp - 0x39]
shr rcx, 1
inc rcx
mov eax, 2
mul rcx
mov rbx, rax
mov rax, 0xffffffffffffffff
cmovo rbx, rax
mov rcx, rbx
call fcn.1400caef4
mov r14, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1400cdb70
mov qword [rbp + 0x1f], r14
movzx r9d, word [rbp - 0x39]
mov r8, qword [rbp - 0x31]
mov rdx, r14
mov rcx, rdi
call fcn.140004120
test al, al
je 0x140003c49
lea rcx, [rbp - 0x69]
call fcn.1400020f0
cmp qword [rax + 0x18], 8
jb 0x140003c2d
mov rax, qword [rax]
mov rdx, rax
mov rcx, r14
call fcn.1400ccc70
mov rbx, rax
lea rcx, [rbp - 0x69]
call fcn.140009120
test rbx, rbx
jne 0x140003c59
mov rcx, r14
call fcn.1400cad90
mov r8, rsi
jmp 0x140003b83
lea r12, [rsi - 0x10]
xor eax, eax
mov r15d, eax
mov ebx, eax
mov qword [rbp - 1], rax
movsxd r8, ebx
add r8, qword [rbp + 0x17]
mov r9d, 8
lea rdx, [rbp - 1]
mov rcx, rdi
call fcn.140004120
cmp qword [rbp - 1], r12
je 0x140003ca1
inc r15d
add ebx, 8
cmp ebx, 0x800
mov eax, 0
jl 0x140003c64
xor bl, bl
jmp 0x140003da1
lea rax, [r13 + 1]
mov qword [rbp - 9], rax
lea eax, [r15*8]
movsxd rdx, eax
add rdx, qword [rbp + 0x17]
mov r9d, 8
lea r8, [rbp - 9]
mov rcx, rdi
call fcn.140004120
mov r9d, 8
mov r8, rsi
lea rdx, [rbp - 9]
mov rcx, rdi
call fcn.140004120
mov rcx, qword [rbp - 9]
test al, al
mov ebx, 0
cmove rcx, rbx
mov qword [rbp + 7], rcx
lea r8, [rsi + 8]
lea r9d, [rbx + 8]
lea rdx, [rbp - 9]
mov rcx, rdi
call fcn.140004120
mov rcx, qword [rbp - 9]
test al, al
cmove rcx, rbx
mov qword [rbp - 0x11], rcx
mov rdx, qword [rbp + 7]
add rdx, 8
lea r9d, [rbx + 8]
lea r8, [rbp - 0x11]
mov rcx, rdi
call fcn.140004120
lea r9d, [rbx + 8]
lea r8, [rbp + 7]
mov rdx, qword [rbp - 0x11]
mov rcx, rdi
call fcn.140004120
mov dword [rbp - 0x41], ebx
lea r9d, [rbx + 4]
mov r8, r13
lea rdx, [rbp - 0x41]
mov rcx, rdi
call fcn.140004120
dec dword [rbp - 0x41]
lea r9d, [rbx + 4]
lea r8, [rbp - 0x41]
mov rdx, r13
mov rcx, rdi
call fcn.140004120
mov word [rbp + 0xf], bx
lea r9d, [rbx + 2]
lea r8, [rsi - 0x20]
lea rdx, [rbp + 0xf]
mov rcx, rdi
call fcn.140004120
mov eax, 0xda18
cmp word [rbp + 0xf], ax
jne 0x140003d9f
lea r9, [rsi - 0x20]
mov r8, qword [rbp - 0x49]
mov rcx, rdi
call fcn.14000a190
mov bl, 1
mov rcx, r14
call fcn.1400cad90
movzx eax, bl
jmp 0x140003db0
xor al, al
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400cad70
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret