Function at 0x140044794
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov rsi, rcx
mov eax, dword [0x1402a0464]
mov ecx, dword [0x1402a0468]
shrd ecx, eax, 0x1f
xor ecx, 0xf331e026
mov eax, ecx
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r15, rsp
imul eax, dword [0x1402a046c], 0x9919f67d
imul ecx, dword [0x1402a0470], 0x707212af
add eax, ecx
add eax, 0x47ec0e2
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r14, rsp
mov qword [rbp], rdx
movzx eax, byte [rdx]
cmp rax, 9
ja case.default.0x140041684
mov r13d, dword [rbp + 0x78]
mov edx, dword [rbp + 0x70]
mov r12d, r9d
lea rcx, [0x140042dbc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rsi, qword [rsi]
mov rax, qword [rsi]
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea rdi, [0x1402bf054]
lea rdx, [0x14021ed5a]
mov rcx, rdi
call fcn.14006efc0
add rsp, 0x20
mov rax, qword [0x1402a07a0]
mov rcx, qword [0x1402a07a8]
shrd rcx, rax, 0x28
movabs r8, 0xcf62451211bd7d02
jmp 0x140041799
movzx eax, byte [0x1402a0768]
movzx ecx, byte [0x1402a0769]
imul eax, eax, 0x3a
imul ecx, ecx, 0xffffff95
add cl, al
add cl, 0x38
mov rsi, qword [rsi]
mov rax, qword [rsi]
mov rbx, qword [rax + 8]
mov rax, qword [rbp]
cmp byte [rax + 8], cl
jne 0x140041f81
sub rsp, 0x20
lea rdi, [0x1402bf324]
lea rdx, [0x14021f63e]
mov rcx, rdi
call fcn.140071300
add rsp, 0x20
movabs rax, 0x5929dd0963adea51
imul rax, qword [0x1402a0780]
movabs rcx, 0xa8572abf51f749f4
imul rcx, qword [0x1402a0788]
add rcx, rax
movabs r8, 0x9b6edc146f3db9c6
jmp 0x140042695
mov rsi, qword [rsi]
mov rax, qword [rsi]
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea rdi, [0x1402bf330]
lea rdx, [0x14021f672]
mov rcx, rdi
call fcn.1400713f0
add rsp, 0x20
mov rax, qword [0x1402a0790]
mov rcx, qword [0x1402a0798]
shrd rcx, rax, 0xd
movabs r8, 0x8cf8f360142c1973
xor r8, rcx
jmp 0x140042698
mov dword [rbp - 0x10], edx
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov r14, qword [rsi]
mov rax, qword [r14]
cmp rdx, qword [rcx + 8]
je 0x1400426a3
test r8b, r8b
je 0x140042715
mov byte [rbp - 0x20], r12b
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea r15, [0x1402bf2b0]
lea rdx, [0x14021f460]
mov rcx, r15
call fcn.140070a90
add rsp, 0x20
mov rax, qword [0x1402a05f0]
mov rcx, qword [0x1402a05f8]
shrd rcx, rax, 0x36
movabs r8, 0x53f92cf02a57461e
xor r8, rcx
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
call rbx
add rsp, 0x20
mov r14d, dword [rbp - 0x10]
mov eax, r14d
mov dword [rbp - 0x14], r13d
mov ecx, r13d
add eax, ecx
lea rcx, [rsi + 0x260]
mov qword [rbp - 8], rcx
mov rdx, qword [rsi + 0x270]
mov edi, eax
cmp rdx, rdi
jb 0x140042d1e
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov r13, qword [rcx]
mov rcx, qword [rcx + 8]
add rcx, 0xfffffffffffffff0
cmp r13, rcx
je 0x140041955
mov r15d, edi
lea r12, [0x1402bf298]
mov rax, qword [0x1402a0618]
mov rcx, qword [0x1402a0620]
shrd rcx, rax, 4
movabs rax, 0xdd6d36f7ec12c39e
xor rcx, rax
mov rdx, qword [rbp - 8]
cmp qword [rsi + 0x278], rcx
jbe 0x1400418a5
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
mov rcx, qword [rsi]
mov rax, qword [rcx]
sub rsp, 0x20
mov r8, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
sub rsp, 0x10
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov rdx, r13
mov r8b, 1
mov r9b, byte [rbp - 0x20]
call fcn.1400415e2
add rsp, 0x30
mov rbx, qword [rsi]
mov rax, qword [rbx]
mov r14, qword [rax + 8]
sub rsp, 0x20
mov rcx, r12
lea rdx, [0x14021f3c2]
call fcn.1400707e0
add rsp, 0x20
mov rax, qword [0x1402a0628]
mov rcx, qword [0x1402a0630]
shrd rcx, rax, 0x35
mov r8, rcx
movabs rax, 0x744aec0ede880080
xor r8, rax
sub rsp, 0x20
mov rcx, rbx
mov rdx, r12
call r14
mov r14d, dword [rbp - 0x10]
add rsp, 0x20
mov rax, r13
add rax, 0x10
mov rcx, qword [rbp]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + 8]
add rcx, 0xfffffffffffffff0
mov r13, rax
cmp rax, rcx
jne 0x140041871
mov rcx, qword [rsi]
mov rax, qword [0x1402a0638]
mov rdx, qword [0x1402a0640]
shrd rdx, rax, 0x30
movabs rax, 0xbd3e0cf61ea666d9
xor rax, rdx
mov rdx, qword [rbp - 8]
cmp qword [rsi + 0x278], rax
jbe 0x14004198c
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
mov ebx, edi
mov rax, qword [rcx]
sub rsp, 0x20
mov r8, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rdx, qword [rax + 8]
add rdx, 0xfffffffffffffff0
sub rsp, 0x30
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov r8b, 1
mov r9b, byte [rbp - 0x20]
call fcn.1400415e2
add rsp, 0x30
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov dl, byte [0x1402a0648]
movzx r8d, byte [0x1402a0649]
imul r8d, r8d, 0xffffffaf
shl dl, 4
sub r8b, dl
mov edx, r8d
add dl, 0x15
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rcx, qword [rsi]
movabs rax, 0x349bb76788359b9c
imul rax, qword [0x1402a0650]
movabs rdx, 0xbff4c148f3795eab
imul rdx, qword [0x1402a0658]
mov r8d, dword [rbp - 0x14]
add rdx, rax
movabs rax, 0x8f3f1212464aebaf
add rax, rdx
cmp qword [rsi + 0x278], rax
jbe 0x140042be9
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
jmp 0x140042bed
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov dl, byte [0x1402a0668]
mov r8b, byte [0x1402a0669]
shr r8b, 3
shl dl, 5
or dl, r8b
add dl, 0x80
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
sub rsp, 0x20
mov rcx, rsi
mov r8d, r12d
call fcn.140043276
add rsp, 0x20
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax]
movzx edx, byte [0x1402a066a]
mov r8b, byte [0x1402a066b]
mov r9d, edx
shl r9d, 5
add r9d, edx
neg r9d
shl r8b, 2
add r8b, r9b
mov edx, r8d
add dl, 3
jmp 0x140042cc8
mov rax, qword [rbp]
movsd xmm1, qword [rax + 8]
mov rcx, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp 0x14004524e
mov dword [rbp - 0x10], edx
mov byte [rbp - 0x20], r12b
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
movabs rax, 0x5ad26aa4174632d
imul rax, qword [0x1402a0478]
movabs rdx, 0x5c308f8564f55329
imul rdx, qword [0x1402a0480]
add rdx, rax
movabs r9, 0x265f2b143bc3f950
add r9, rdx
mov r12, qword [rsi]
mov rax, qword [r12]
cmp qword [rcx + 8], r9
jne 0x140041fd5
mov rdi, qword [rax + 8]
sub rsp, 0x20
lea rsi, [0x1402bf280]
lea rdx, [0x14021f33b]
mov rcx, rsi
call fcn.140070510
add rsp, 0x20
movabs rax, 0x598c3ff6ebe36cf9
imul rax, qword [0x1402a0488]
movabs rcx, 0x2aef5f8ef96526a1
imul rcx, qword [0x1402a0490]
add rcx, rax
movabs r8, 0x8810c3192fb72a28
add r8, rcx
mov rcx, r12
jmp 0x1400426fc
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rcx, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp 0x140044bbe
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rcx, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp 0x140044794
mov rbx, qword [rsi]
mov rax, qword [rbx]
mov r15, qword [rax + 8]
test r8b, r8b
je 0x1400424b7
mov r12d, edx
sub rsp, 0x20
lea r14, [0x1402bf288]
lea rdx, [0x14021f369]
mov rcx, r14
call fcn.1400705f0
add rsp, 0x20
movabs rax, 0x7ef7a38df9c14159
imul rax, qword [0x1402a0670]
movabs rcx, 0xd5dfd6c7d8c59043
imul rcx, qword [0x1402a0678]
add rcx, rax
movabs r8, 0xe095162af7a962c8
add r8, rcx
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
call r15
add rsp, 0x20
mov eax, r12d
add eax, r13d
lea rbx, [rsi + 0x260]
mov rdx, qword [rsi + 0x270]
mov r14d, eax
cmp rdx, r14
jb 0x140042cdb
mov rcx, qword [rsi]
mov rax, qword [0x1402a0690]
mov rdx, qword [0x1402a0698]
shrd rdx, rax, 0x1a
movabs rax, 0xbf306012f62d50ee
xor rax, rdx
mov rdx, rbx
cmp qword [rsi + 0x278], rax
jbe 0x140041caa
mov rdx, qword [rbx]
mov qword [rbp - 0x10], rbx
mov rax, qword [rcx]
sub rsp, 0x20
mov r8, r14
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
mov r15, qword [rsi]
mov rax, qword [r15]
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea r12, [0x1402bf2b8]
lea rdx, [0x14021f48d]
mov rcx, r12
call fcn.140070b80
add rsp, 0x20
mov rax, qword [0x1402a06a0]
mov rcx, qword [0x1402a06a8]
shrd rcx, rax, 0x25
movabs r8, 0xafbbaeda0bf78f7
xor r8, rcx
sub rsp, 0x20
mov rcx, r15
mov rdx, r12
call rbx
add rsp, 0x20
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
cmp rax, rcx
je 0x140041df2
mov qword [rbp - 0x20], r14
mov dword [rbp - 0x14], r13d
dec rcx
cmp rax, rcx
je 0x140041dd8
lea r15, [0x1402bf2c8]
lea rdi, [0x14021f4cb]
movabs rbx, 0xcedc5d4fae71851e
mov rcx, rax
mov r14, rcx
mov dl, byte [rcx]
sub rsp, 0x20
mov rcx, rsi
call fcn.14004460c
add rsp, 0x20
mov r13, qword [rsi]
mov rax, qword [r13]
mov r12, qword [rax + 8]
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.140070c60
add rsp, 0x20
mov rax, qword [0x1402a06b0]
mov rcx, qword [0x1402a06b8]
shrd rcx, rax, 0x34
mov r8, rcx
xor r8, rbx
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
call r12
add rsp, 0x20
inc r14
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rdx, qword [rax + 8]
dec rdx
mov rax, r14
mov rcx, r14
cmp r14, rdx
jne 0x140041d5e
mov dl, byte [rax]
sub rsp, 0x20
mov rcx, rsi
call fcn.14004460c
add rsp, 0x20
mov r13d, dword [rbp - 0x14]
mov r14, qword [rbp - 0x20]
mov r15, qword [rsi]
mov rax, qword [r15]
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea r12, [0x1402bf2d0]
lea rdx, [0x14021f4fc]
mov rcx, r12
call fcn.140070d50
add rsp, 0x20
movabs rax, 0x1ad926147780750e
imul rax, qword [0x1402a06c0]
movabs rcx, 0x6f29b9791df269d8
imul rcx, qword [0x1402a06c8]
add rcx, rax
movabs r8, 0xee24ebcea3a70949
add r8, rcx
sub rsp, 0x20
mov rcx, r15
mov rdx, r12
call rbx
add rsp, 0x20
mov rcx, qword [rsi]
mov rax, qword [0x1402a06d0]
mov rdx, qword [0x1402a06d8]
shrd rdx, rax, 0x23
movabs rax, 0x62eac2c1165f6720
xor rax, rdx
mov r12, qword [rbp - 0x10]
mov rdx, r12
cmp qword [rsi + 0x278], rax
jbe 0x140041e95
mov rdx, qword [r12]
mov rax, qword [rcx]
sub rsp, 0x20
mov r8, r14
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
mov r14, qword [rsi]
mov rax, qword [r14]
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea r15, [0x1402bf2d8]
lea rdx, [0x14021f52f]
mov rcx, r15
call fcn.140070e50
add rsp, 0x20
mov rax, qword [0x1402a06e0]
mov rcx, qword [0x1402a06e8]
shrd rcx, rax, 0x25
movabs r8, 0xad0663d646eb01dc
xor r8, rcx
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
call rbx
add rsp, 0x20
mov rax, qword [rbp]
mov rax, qword [rax + 8]
movzx ecx, byte [0x1402a06f0]
movzx edx, byte [0x1402a06f1]
imul ecx, ecx, 0xffffff85
imul edx, edx, 0x23
add dl, cl
add dl, 0xf7
cmp byte [rax + 0x20], dl
jne 0x140042ae8
mov rdi, qword [rsi]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea r14, [0x1402bf054]
lea rdx, [0x14021ed5a]
mov rcx, r14
call fcn.14006efc0
add rsp, 0x20
mov rax, qword [0x1402a06f8]
mov rcx, qword [0x1402a0700]
shrd rcx, rax, 0x27
movabs r8, 0x92cdc909e711dc1a
xor r8, rcx
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
call rbx
jmp 0x140042af8
sub rsp, 0x20
lea rdi, [0x1402bf318]
lea rdx, [0x14021f612]
mov rcx, rdi
call fcn.140071200
add rsp, 0x20
movabs rax, 0x45d797c6c89bed33
imul rax, qword [0x1402a0770]
movabs rcx, 0x7f3b090f4259ff3a
imul rcx, qword [0x1402a0778]
add rcx, rax
movabs r8, 0x332e95ea3d8312c6
jmp 0x140042695
test r8b, r8b
je 0x1400427c7
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea r14, [0x1402bf288]
lea rdx, [0x14021f369]
mov rcx, r14
call fcn.1400705f0
add rsp, 0x20
movabs rax, 0xf75a9eb7fca7d136
imul rax, qword [0x1402a0498]
movabs rcx, 0x816b0dbd363413b8
imul rcx, qword [0x1402a04a0]
add rcx, rax
movabs r8, 0x72d4c247be01f04
add r8, rcx
sub rsp, 0x20
mov rcx, r12
mov rdx, r14
call rbx
add rsp, 0x20
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0x14], r13d
mov ecx, r13d
add eax, ecx
lea rcx, [rsi + 0x260]
mov qword [rbp - 8], rcx
mov rdx, qword [rsi + 0x270]
mov qword [rbp - 0x28], rax
cmp rdx, rax
jb 0x140042d6b
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, qword [rax]
mov rcx, qword [rcx]
movabs rdx, 0x4dc97b1d7222690a
imul rdx, qword [0x1402a04c0]
movabs r8, 0x36fa4adcf2ec991d
imul r8, qword [0x1402a04c8]
mov qword [r15], rcx
add r8, rdx
movabs rcx, 0xaeeef1797f8971b4
add rcx, r8
cmp qword [rax + 8], rcx
je 0x14004231d
mov rax, qword [rbp - 0x28]
mov dword [rbp - 0x2c], eax
xor r13d, r13d
mov r14b, byte [rbp - 0x20]
mov rax, qword [0x1402a04d0]
movabs rcx, 0x5f4eeade8a50cb31
imul rax, rcx
mov rcx, qword [0x1402a04d8]
movabs rdx, 0xad43d25f164238ed
imul rcx, rdx
add rcx, rax
movabs rax, 0x735e106eaa61f368
add rcx, rax
mov rdx, qword [rbp - 8]
cmp qword [rsi + 0x278], rcx
jbe 0x14004211a
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
mov rcx, qword [rsi]
mov rax, qword [rcx]
sub rsp, 0x20
mov r8, qword [rbp - 0x28]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
mov rcx, qword [rsi]
mov rax, qword [rcx]
movzx edx, byte [0x1402a04e0]
movzx r8d, byte [0x1402a04e1]
imul edx, edx, 0x6d
imul r8d, r8d, 0xffffff8d
add r8b, dl
mov edx, r8d
add dl, 0x53
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rdx, qword [r15]
add rdx, 0x20
sub rsp, 0x20
mov rcx, rsi
mov r8d, r14d
call fcn.140043276
add rsp, 0x20
mov r12, qword [rsi]
mov rax, qword [r12]
mov rbx, qword [rax + 8]
sub rsp, 0x20
mov rdi, r15
lea r15, [0x1402bf290]
mov rcx, r15
lea rdx, [0x14021f38e]
call fcn.1400706e0
add rsp, 0x20
mov rax, qword [0x1402a04e8]
movabs rcx, 0xa82f85b87be5c7ab
imul rax, rcx
mov rcx, qword [0x1402a04f0]
movabs rdx, 0x400ffbe9aa364aef
imul rcx, rdx
add rcx, rax
mov r8, rcx
movabs rax, 0x133ab8fd2f72efad
add r8, rax
sub rsp, 0x20
mov rcx, r12
mov rdx, r15
mov r15, rdi
call rbx
add rsp, 0x20
mov rdx, qword [rdi]
add rdx, 0x40
sub rsp, 0x30
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x10]
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov r8b, 1
mov r9d, r14d
call fcn.1400415e2
add rsp, 0x30
mov r12, qword [rsi]
mov rax, qword [r12]
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea rdi, [0x1402bf298]
mov rcx, rdi
lea rdx, [0x14021f3c2]
call fcn.1400707e0
add rsp, 0x20
mov rax, qword [0x1402a04f8]
movabs rcx, 0xe478bac1dd4c13ae
imul rax, rcx
mov rcx, qword [0x1402a0500]
movabs rdx, 0xd53deff0d6c28439
imul rcx, rdx
add rcx, rax
mov r8, rcx
movabs rax, 0xb6e49d18eb7e6d13
add r8, rax
sub rsp, 0x20
mov rcx, r12
mov rdx, rdi
call rbx
add rsp, 0x20
mov rax, qword [0x1402a0508]
movabs rcx, 0xa7ef14e381786ee6
imul rax, rcx
mov rcx, qword [0x1402a0510]
movabs rdx, 0xe97cfbce3541fc11
imul rcx, rdx
add rcx, rax
movabs rax, 0x2533eb5b7afdf453
add r13, rax
mov rbx, r13
add rbx, rcx
sub rsp, 0x20
mov rcx, r15
call fcn.14002c546
add rsp, 0x20
mov rax, qword [0x1402a0518]
mov rcx, qword [0x1402a0520]
shrd rcx, rax, 0x13
mov rax, qword [rbp]
mov rax, qword [rax + 8]
movabs rdx, 0x860ff09ca1772958
xor rcx, rdx
add rcx, qword [rax + 8]
mov r13, rbx
cmp rbx, rcx
jb 0x1400420cc
mov rcx, qword [rsi]
movabs rax, 0xb15823af3f5554f4
imul rax, qword [0x1402a0528]
movabs rdx, 0x75bd99e2824e2b7f
imul rdx, qword [0x1402a0530]
add rdx, rax
movabs rax, 0xc3a03a67f855de3
add rax, rdx
mov rdx, qword [rbp - 8]
cmp qword [rsi + 0x278], rax
jbe 0x140042368
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
mov r8, qword [rbp - 0x28]
mov ebx, r8d
mov rax, qword [rcx]
sub rsp, 0x20
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
mov rcx, qword [rsi]
mov rax, qword [rcx]
movzx edx, byte [0x1402a0538]
movzx r8d, byte [0x1402a0539]
imul edx, edx, 0x2c
imul r8d, r8d, 0xffffff9f
add r8b, dl
mov edx, r8d
add dl, 0x45
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rdx, qword [r15]
add rdx, 0x20
sub rsp, 0x20
mov rcx, rsi
mov r13b, byte [rbp - 0x20]
mov r8d, r13d
call fcn.140043276
add rsp, 0x20
mov rdi, qword [rsi]
mov rax, qword [rdi]
mov r12, qword [rax + 8]
sub rsp, 0x20
lea r14, [0x1402bf290]
lea rdx, [0x14021f38e]
mov rcx, r14
call fcn.1400706e0
add rsp, 0x20
mov rax, qword [0x1402a0540]
mov rcx, qword [str.0__N]
shrd rcx, rax, 0x36
movabs r8, 0x7a441ec061b9e7f1
xor r8, rcx
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
call r12
add rsp, 0x20
mov rdx, qword [r15]
add rdx, 0x40
sub rsp, 0x30
mov dword [rsp + 0x28], ebx
mov eax, dword [rbp - 0x10]
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov r8b, 1
mov r9d, r13d
call fcn.1400415e2
add rsp, 0x30
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov dl, byte [0x1402a0550]
mov r8b, byte [0x1402a0551]
shr r8b, 5
shl dl, 3
or dl, r8b
xor dl, 0x31
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rcx, qword [rsi]
mov eax, dword [rbp - 0x14]
mov r8d, eax
mov rax, qword [0x1402a0558]
mov rdx, qword [0x1402a0560]
shrd rdx, rax, 0x2f
movabs rax, 0x95ff4b09f945a6e6
xor rax, rdx
cmp qword [rsi + 0x278], rax
jbe 0x140042c23
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
jmp 0x140042c27
sub rsp, 0x20
lea r14, [0x1402bf2e8]
lea rdx, [0x14021f571]
mov rcx, r14
call fcn.140070f40
add rsp, 0x20
movabs rax, 0x709c62ac5233dc79
imul rax, qword [0x1402a0728]
movabs rcx, 0x7a3c16ee86c8ca31
imul rcx, qword [0x1402a0730]
add rcx, rax
movabs r8, 0x7e6eef8e0a2b4f56
add r8, rcx
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
call r15
add rsp, 0x20
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
cmp rax, rcx
je 0x1400425a7
dec rcx
cmp rax, rcx
je 0x140042595
mov rcx, rax
mov rbx, rcx
mov dl, byte [rcx]
sub rsp, 0x20
mov rcx, rsi
call fcn.14004460c
add rsp, 0x20
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov dl, byte [0x1402a0738]
mov r8b, byte [0x1402a0739]
shr r8b, 2
shl dl, 6
or dl, r8b
xor dl, 0x9e
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
inc rbx
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rdx, qword [rax + 8]
dec rdx
mov rax, rbx
mov rcx, rbx
cmp rbx, rdx
jne 0x140042539
mov dl, byte [rax]
sub rsp, 0x20
mov rcx, rsi
call fcn.14004460c
add rsp, 0x20
mov rbx, qword [rsi]
mov rax, qword [rbx]
mov r15, qword [rax + 8]
sub rsp, 0x20
lea r14, [0x1402bf2f8]
lea rdx, [0x14021f5ac]
mov rcx, r14
call fcn.140071030
add rsp, 0x20
movabs rax, 0x5997fd98e3151d01
imul rax, qword [0x1402a0740]
movabs rcx, 0x78f4e775f5f6dcf2
imul rcx, qword [0x1402a0748]
add rcx, rax
movabs r8, 0x5c420a5275aa44fb
add r8, rcx
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
call r15
add rsp, 0x20
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov cl, byte [0x1402a0750]
mov dl, byte [0x1402a0751]
shr dl, 3
shl cl, 5
or cl, dl
xor cl, 0xef
cmp byte [rax + 0x20], cl
jne 0x140042b74
mov rsi, qword [rsi]
mov rax, qword [rsi]
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea rdi, [0x1402bf30c]
lea rdx, [0x14021f5df]
mov rcx, rdi
call fcn.140071110
add rsp, 0x20
movabs rax, 0xc95fc13226f3a15c
imul rax, qword [0x1402a0758]
movabs rcx, 0x58b26681f73645e6
imul rcx, qword [0x1402a0760]
add rcx, rax
movabs r8, 0xd1cb0617dc68e0b5
add r8, rcx
mov rcx, rsi
mov rdx, rdi
mov rax, rbx
jmp 0x140042702
mov rdi, qword [rax + 8]
sub rsp, 0x20
lea rsi, [0x1402bf2a8]
lea rdx, [0x14021f430]
mov rcx, rsi
call fcn.1400709b0
add rsp, 0x20
movabs rax, 0x563bf38c89eee06c
imul rax, qword [0x1402a05e0]
movabs rcx, 0x3c93cdc4fb3432e6
imul rcx, qword [0x1402a05e8]
add rcx, rax
movabs r8, 0xa6cce7637dd26b4c
add r8, rcx
mov rcx, r14
mov rdx, rsi
mov rax, rdi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp rax
mov cl, byte [0x1402a0662]
mov dl, byte [0x1402a0663]
shr dl, 7
add cl, cl
or cl, dl
mov edx, ecx
xor dl, 0xc2
sub rsp, 0x20
mov rcx, r14
call qword [rax]
add rsp, 0x20
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rbx, qword [rcx]
mov rcx, qword [rcx + 8]
add rcx, 0xfffffffffffffff0
cmp rbx, rcx
je 0x140042c75
mov r14d, dword [rbp - 0x10]
sub rsp, 0x30
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov rdx, rbx
xor r8d, r8d
mov r9d, r12d
call fcn.1400415e2
add rsp, 0x30
mov rcx, qword [rsi]
mov rax, qword [rcx]
movzx edx, byte [0x1402a0664]
imul edx, edx, 0xffffffa7
add dl, byte [0x1402a0665]
add dl, 0x15
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rax, rbx
add rax, 0x10
mov rcx, qword [rbp]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + 8]
add rcx, 0xfffffffffffffff0
mov rdx, rax
mov rbx, rax
cmp rax, rcx
jne 0x14004275a
jmp 0x140042c7c
movzx ecx, byte [0x1402a056a]
movzx edx, byte [0x1402a056b]
imul ecx, ecx, 0xffffff91
mov r8d, edx
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add r8d, r8d
add r8d, edx
mov edx, r8d
add dl, cl
add dl, 0x73
sub rsp, 0x20
mov rcx, r12
call qword [rax]
add rsp, 0x20
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, qword [rax]
mov rcx, qword [rcx]
mov qword [r14], rcx
mov rcx, qword [0x1402a0570]
mov rdx, qword [0x1402a0578]
shrd rdx, rcx, 0x17
movabs rcx, 0xbc84b5e5f5d8a112
xor rcx, rdx
cmp qword [rax + 8], rcx
mov r15b, byte [rbp - 0x20]
je 0x1400429f8
xor eax, eax
mov rbx, rax
movabs rax, 0x113f92ff62e0fd90
add rbx, rax
mov qword [rbp - 8], rbx
mov rcx, qword [rsi]
mov rax, qword [rcx]
movzx edx, byte [0x1402a0580]
movzx r8d, byte [0x1402a0581]
imul edx, edx, 0xffffffa5
imul r8d, r8d, 0x3b
add r8b, dl
mov edx, r8d
add dl, 0xb2
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rdx, qword [r14]
add rdx, 0x20
sub rsp, 0x20
mov rcx, rsi
mov r8d, r15d
call fcn.140043276
add rsp, 0x20
mov rdi, r14
mov r14d, r15d
mov r15d, r13d
mov r13, qword [rsi]
mov rax, qword [r13]
mov r12, qword [rax + 8]
sub rsp, 0x20
lea rcx, [0x1402bf2a0]
lea rdx, [0x14021f3f5]
call fcn.1400708d0
add rsp, 0x20
mov rax, qword [0x1402a0588]
mov rcx, qword [0x1402a0590]
shrd rcx, rax, 0x1f
mov r8, rcx
movabs rax, 0x5b789f7da3b0d05a
xor r8, rax
sub rsp, 0x20
mov rcx, r13
mov r13d, r15d
mov r15d, r14d
mov r14, rdi
mov rbx, qword [rbp]
lea rdx, [0x1402bf2a0]
call r12
add rsp, 0x20
mov rdx, qword [rdi]
add rdx, 0x40
sub rsp, 0x30
mov dword [rsp + 0x28], r13d
mov eax, dword [rbp - 0x10]
mov dword [rsp + 0x20], eax
mov rcx, rsi
xor r8d, r8d
mov r9d, r15d
call fcn.1400415e2
add rsp, 0x30
mov rcx, qword [rsi]
mov rax, qword [rcx]
movzx edx, byte [0x1402a0598]
movzx r8d, byte [0x1402a0599]
imul edx, edx, 0xffffffd4
imul r8d, r8d, 0xffffffe3
add r8b, dl
mov edx, r8d
add dl, 0x45
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rax, qword [0x1402a05a0]
movabs rcx, 0x85de901527122111
imul rax, rcx
mov rcx, qword [0x1402a05a8]
movabs rdx, 0x98adf7c505df0f22
imul rcx, rdx
add rcx, rax
mov r12, rcx
add r12, qword [rbp - 8]
sub rsp, 0x20
mov rcx, rdi
call fcn.14002c546
add rsp, 0x20
mov rax, qword [rbx + 8]
mov rcx, qword [0x1402a05b0]
movabs rdx, 0xf651ecc611902676
imul rcx, rdx
mov rdx, qword [0x1402a05b8]
movabs r8, 0x5a5a128e22f68506
imul rdx, r8
add rdx, rcx
add rdx, qword [rax + 8]
movabs rax, 0x6463ded377307df5
add rdx, rax
mov rax, r12
cmp r12, rdx
jb 0x14004283d
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov dl, byte [0x1402a05c0]
mov r8b, byte [0x1402a05c1]
shr r8b, 7
add dl, dl
or dl, r8b
xor dl, 0xd3
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rdx, qword [r14]
add rdx, 0x20
sub rsp, 0x20
mov rcx, rsi
mov r8d, r15d
call fcn.140043276
add rsp, 0x20
mov rdi, qword [rsi]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
sub rsp, 0x20
mov r12d, r15d
lea r15, [0x1402bf2a0]
lea rdx, [0x14021f3f5]
mov rcx, r15
call fcn.1400708d0
add rsp, 0x20
mov rax, qword [0x1402a05c8]
mov rcx, qword [0x1402a05d0]
shrd rcx, rax, 0x35
movabs r8, 0x9d597d0be9724a78
xor r8, rcx
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
call rbx
add rsp, 0x20
mov rdx, qword [r14]
add rdx, 0x40
mov r8b, byte [0x1402c0464]
sub rsp, 0x30
mov dword [rsp + 0x28], r13d
mov eax, dword [rbp - 0x10]
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov r9d, r12d
call fcn.1400415e2
add rsp, 0x30
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov dl, byte [0x1402a05d8]
mov r8b, byte [0x1402a05d9]
shr r8b, 5
shl dl, 3
or dl, r8b
xor dl, 0x2f
jmp 0x140042c5a
mov rdx, qword [rax + 0x18]
sub rsp, 0x20
mov rcx, rsi
call 0x140044794
add rsp, 0x20
mov rcx, qword [rsi]
mov rax, qword [rcx]
movzx edx, byte [0x1402a0709]
mov r8d, edx
add edx, edx
shl r8d, 7
sub r8d, edx
mov edx, r8d
add dl, byte [0x1402a0708]
add dl, 0xef
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rcx, qword [rsi]
movabs rax, 0x8b2ade1748066230
imul rax, qword [0x1402a0710]
movabs rdx, 0xe5bc14e81cf7af14
imul rdx, qword [0x1402a0718]
mov r8d, r13d
add rdx, rax
movabs rax, 0x63d593cacb9778e7
add rax, rdx
cmp qword [rsi + 0x278], rax
jbe 0x140042bb0
mov rdx, qword [r12]
jmp 0x140042bb3
mov rdx, qword [rax + 0x18]
sub rsp, 0x20
mov rcx, rsi
call 0x140044794
add rsp, 0x20
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax]
mov dl, byte [reloc.WS2_32.dll_closesocket]
mov r8b, byte [reloc.WS2_32.dll_select]
shr r8b, 6
shl dl, 2
or dl, r8b
xor dl, 0x71
jmp 0x140042cc8
mov rdx, r12
mov rax, qword [rcx]
sub rsp, 0x20
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax]
mov dl, byte [0x1402a0720]
mov r8b, byte [0x1402a0721]
shr r8b, 4
shl dl, 4
or dl, r8b
xor dl, 0xc4
jmp 0x140042cc8
mov rdx, qword [rbp - 8]
mov rax, qword [rcx]
sub rsp, 0x20
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax]
mov dl, byte [0x1402a0660]
mov r8b, byte [0x1402a0661]
shr r8b, 4
shl dl, 4
or dl, r8b
xor dl, 0xf2
jmp 0x140042cc8
mov rdx, qword [rbp - 8]
mov rax, qword [rcx]
sub rsp, 0x20
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
mov rcx, qword [rsi]
mov rax, qword [rcx]
movzx edx, byte [0x1402a0568]
movzx r8d, byte [0x1402a0569]
imul edx, edx, 0x3a
imul r8d, r8d, 0xffffff9e
add r8b, dl
mov edx, r8d
add dl, 7
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, rbx
mov r14d, dword [rbp - 0x10]
mov r8b, byte [0x1402c0465]
sub rsp, 0x30
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov r9d, r12d
call fcn.1400415e2
add rsp, 0x30
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax]
movzx edx, byte [0x1402a0666]
movzx r8d, byte [0x1402a0667]
imul edx, edx, 0x62
imul r8d, r8d, 0xffffff96
add r8b, dl
mov edx, r8d
add dl, 0x67
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp rax
mov eax, dword [0x1402a0680]
shr eax, 0xa
mov ecx, eax
xor cl, 0x58
shl rdx, cl
movzx eax, byte [0x1402a0688]
movzx ecx, byte [0x1402a0689]
imul eax, eax, 0x4f
imul ecx, ecx, 0xffffffdd
add cl, al
mov r8d, ecx
add r8b, 0x6a
sub rsp, 0x20
mov rcx, rbx
call fcn.1400290e8
add rsp, 0x20
jmp 0x140041c78
imul eax, dword [0x1402a0600], 0x332108e7
imul ecx, dword [0x1402a0608], 0xe84ca997
add ecx, eax
add cl, 0x25
shl rdx, cl
mov al, byte [0x1402a0610]
mov cl, byte [0x1402a0611]
shr cl, 5
shl al, 3
or al, cl
mov r8d, eax
xor r8b, 0x42
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.1400290e8
add rsp, 0x20
jmp 0x14004184b
imul eax, dword [0x1402a04a8], 0x873a5ec7
imul ecx, dword [0x1402a04b0], 0xa5b6154b
add ecx, eax
add cl, 0x4b
shl rdx, cl
movzx eax, byte [0x1402a04b8]
movzx ecx, byte [reloc.WS2_32.dll_closesocket]
imul eax, eax, 0xffffffa1
imul ecx, ecx, 0xffffff8b
add cl, al
mov r8d, ecx
add r8b, 0x5d
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.1400290e8
add rsp, 0x20
jmp 0x14004206f
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x10
mov r9, rdx
movabs rax, 0x6a5c3091db815aae
imul rax, qword [0x1402a0ca8]
movabs rdx, 0x44c6ee62dd90fdf
imul rdx, qword [0x1402a0cb0]
add rdx, rax
movabs rax, 0x12e13a3efaecc22d
add rax, rdx
cmp r9, rax
jne 0x14004481b
mov rcx, qword [rcx]
mov rax, qword [rcx]
mov rax, qword [rax]
movzx edx, byte [0x1402a0cb8]
movzx r8d, byte [0x1402a0cb9]
imul edx, edx, 0xffffffd7
imul r8d, r8d, 0x4a
add r8b, dl
mov edx, r8d
add dl, 0x1c
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
lea r11, [rcx + 0x10]
mov rax, qword [0x1402a0cc0]
mov rdx, qword [0x1402a0cc8]
shrd rdx, rax, 0x26
movabs rax, 0xe8ff37ca5f554acb
xor rax, rdx
cmp r9, rax
jae 0x140044853
lea rax, [rcx + 0x11]
mov r8d, 1
jmp 0x140044b78
mov qword [rsp], r11
mov qword [rsp + 8], rcx
movabs rax, 0xd9402f6b3d0c2694
imul rax, qword [0x1402a0cd0]
movabs rdx, 0xff521ecda732bef2
imul rdx, qword [0x1402a0cd8]
add rdx, rax
movabs r8, 0xacae95af7279d134
add r8, rdx
movabs rsi, 0x5c4ea05e26996403
movabs rdi, 0xb1545cbb6206aa66
movabs r14, 0x23398f88b8c53b76
movabs r15, 0x2ed0ea988a24dfbb
movabs r12, 0x30bb1ce0ad1656bf
movabs r13, 0xbe8c6f02079fa67e
movabs rbp, 0xa51641f22d605044
mov r11d, 1
mov rcx, r9
cmp rcx, r8
jb 0x1400449ad
mov r10, rcx
mov rax, qword [0x1402a0ce8]
mov rdx, qword [0x1402a0cf0]
shrd rdx, rax, 0x23
xor rdx, rsi
cmp rcx, rdx
jb 0x1400449cf
mov rax, qword [0x1402a0d00]
mov rdx, qword [0x1402a0d08]
shrd rdx, rax, 0x20
xor rdx, rdi
cmp r10, rdx
jb 0x1400449e7
mov rax, qword [0x1402a0d18]
movabs rcx, 0x62e2cbc0cc53bb0d
imul rax, rcx
mov rbx, qword [0x1402a0d20]
imul rbx, r14
add rbx, rax
add rbx, r15
mov rax, r10
xor edx, edx
div rbx
mov rcx, rax
imul edx, dword [0x1402a0d28], 0xea937b6c
imul ebx, dword [0x1402a0d2c], 0x9ff376eb
add ebx, edx
mov eax, r11d
mov edx, ebx
lea r11d, [rax + rdx]
add r11d, 0xedc08fee
mov rax, qword [0x1402a0d30]
imul rax, r12
mov rdx, qword [0x1402a0d38]
imul rdx, r13
add rdx, rax
mov rbx, rdx
add rbx, rbp
mov eax, r11d
cmp r10, rbx
jae 0x1400448df
jmp 0x140044a03
imul eax, dword [0x1402a0ce0], 0x51efdb2a
imul edx, dword [0x1402a0ce4], 0x39baf0d3
add edx, eax
mov eax, r11d
add eax, edx
add eax, 0x33021ae5
jmp 0x140044a03
mov eax, dword [0x1402a0cf8]
mov edx, dword [0x1402a0cfc]
shrd edx, eax, 0x14
xor edx, 0xbc4d5ddc
jmp 0x1400449fd
mov eax, dword [0x1402a0d10]
mov edx, dword [0x1402a0d14]
shrd edx, eax, 0x10
xor edx, 0xd424a1e2
add r11d, edx
mov eax, r11d
mov eax, eax
mov r8d, eax
mov rax, qword [rsp]
add rax, r8
mov rcx, qword [0x1402a0d40]
mov rdx, qword [0x1402a0d48]
shrd rdx, rcx, 3
movabs rcx, 0x5fa20bdc4a112e08
xor rcx, rdx
cmp r9, rcx
jbe 0x140044b13
movabs rsi, 0x3fbf07ef0af0912b
movabs r11, 0x295f67f938cb5f2b
movabs rdi, 0x50d4c6d8fb7cce2e
movabs rbx, 0x1deace60109ab26f
lea r14, [0x14021dd18]
movabs r15, 0xd9a401651b63bb54
movabs r12, 0xf51e2f44d635ebf
movabs r13, 0x40354a6aee007afe
mov rdx, r9
mov rbp, rax
mov r9, rdx
mov rax, qword [0x1402a0d50]
mov rcx, qword [0x1402a0d58]
shrd rcx, rax, 6
xor rcx, rsi
mov rax, rdx
xor edx, edx
div rcx
mov r10, rdx
mov rax, qword [0x1402a0d60]
imul rax, r11
mov rcx, qword [0x1402a0d68]
imul rcx, rdi
add rcx, rax
add rcx, rbx
mov rax, r9
xor edx, edx
div rcx
movzx ecx, word [r14 + r10*2]
mov word [rbp - 2], cx
add rbp, 0xfffffffffffffffe
mov rcx, qword [0x1402a0d70]
imul rcx, r15
mov rdx, qword [0x1402a0d78]
imul rdx, r12
add rdx, rcx
mov rcx, rdx
add rcx, r13
mov r10, rax
mov rdx, rax
mov rax, rbp
cmp r9, rcx
ja 0x140044a8b
jmp 0x140044b16
mov r10, r9
mov rdx, r10
movabs rcx, 0x8b4bbeee1fdb6ddf
imul rcx, qword [0x1402a0d80]
movabs r9, 0x486bbead37cd1ced
imul r9, qword [0x1402a0d88]
add r9, rcx
movabs rcx, 0xf765c01eb42065eb
add rcx, r9
cmp r10, rcx
jbe 0x140044b6c
lea rcx, [0x14021dd18]
movzx ecx, word [rcx + rdx*2]
mov word [rax - 2], cx
mov rcx, qword [rsp + 8]
mov r11, qword [rsp]
jmp 0x140044b9e
mov r9, rdx
mov rcx, qword [rsp + 8]
mov r11, qword [rsp]
mov r10d, r9d
movzx edx, byte [0x1402a0d90]
mov r9b, byte [0x1402a0d91]
imul edx, edx, 0x26
shl r9b, 2
add r9b, dl
add r9b, 0xc4
or r9b, r10b
mov byte [rax - 1], r9b
mov rcx, qword [rcx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov rdx, r11
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x10
mov r10, rcx
movabs rax, 0xe62c26dbf5d41e54
imul rax, qword [0x1402a0d98]
movabs rcx, 0x733e256e6728bd35
imul rcx, qword [0x1402a0da0]
add rcx, rax
movabs rax, 0xb96a2c30d87dd8ee
add rax, rcx
cmp rdx, rax
jne 0x140044c40
mov rcx, qword [r10]
mov rax, qword [rcx]
mov rax, qword [rax]
mov dl, byte [0x1402a0da8]
mov r8b, byte [reloc.WS2_32.dll_shutdown]
shr r8b, 3
shl dl, 5
or dl, r8b
xor dl, 0xd2
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
mov r9, rdx
lea rdx, [r10 + 0x10]
mov rax, qword [0x1402a0db0]
mov rcx, qword [0x1402a0db8]
shrd rcx, rax, 0xb
movabs rax, 0xe055423c04060267
xor rax, rcx
cmp r9, rax
jge 0x140044e3d
mov qword [rsp + 8], r10
mov al, byte [0x1402a0dc0]
mov cl, byte [0x1402a0dc1]
shr cl, 1
shl al, 7
or al, cl
xor al, 0x49
mov qword [rsp], rdx
mov byte [rdx], al
movabs rax, 0x3d92b8122fcb1e16
imul rax, qword [0x1402a0dc8]
movabs rcx, 0x4969a1534328fd5d
imul rcx, qword [0x1402a0dd0]
add rcx, rax
sub rcx, r9
movabs r8, 0x14c4d25c77f3c76b
add r8, rcx
mov rax, qword [0x1402a0dd8]
mov rcx, qword [0x1402a0de0]
shrd rcx, rax, 0x30
movabs rdx, 0x415df0a2e46ba8d3
xor rdx, rcx
mov eax, 1
cmp r8, rdx
jb 0x140045070
movabs rax, 0x97421960e1920b37
imul rax, qword [0x1402a0de8]
movabs rcx, 0xbf7f6e33d6463220
imul rcx, qword [0x1402a0df0]
add rcx, rax
movabs r10, 0xe9366a78f1447ff5
add r10, rcx
movabs rsi, 0x85a7fe1c54503f0a
movabs rdi, 0xee4411940bb36c79
movabs rbx, 0x56c3def4de0c6ef
movabs r14, 0x9f9ca6f1179a77f0
movabs r11, 0x332449ecc88f60b5
movabs rcx, 0x5e07f4c047f53c12
movabs r15, 0x4d2fddcaa587119d
movabs r12, 0x1f5f6289bbb9c879
mov ebp, 1
mov rdx, r8
cmp rdx, r10
jb 0x140044fed
mov r9, rdx
mov rax, qword [0x1402a0e00]
imul rax, rsi
mov rdx, qword [0x1402a0e08]
imul rdx, rdi
add rdx, rax
add rdx, rbx
cmp r9, rdx
jb 0x140045005
mov rax, qword [0x1402a0e18]
mov rdx, qword [0x1402a0e20]
shrd rdx, rax, 0x2d
xor rdx, r14
cmp r9, rdx
jb 0x140045056
mov rax, qword [0x1402a0e30]
mov rdx, qword [0x1402a0e38]
shrd rdx, rax, 0x37
mov r13, rdx
xor r13, r11
mov rax, r9
xor edx, edx
div r13
mov rdx, rax
mov eax, dword [0x1402a0e40]
mov r13d, dword [0x1402a0e44]
shrd r13d, eax, 0xd
xor r13d, 0xf48aab4d
add ebp, r13d
mov rax, qword [0x1402a0e48]
imul rax, rcx
mov r13, qword [0x1402a0e50]
imul r13, r15
add r13, rax
add r13, r12
mov eax, ebp
cmp r9, r13
jae 0x140044d81
jmp 0x140045070
mov rax, qword [str.36kY]
mov rcx, qword [0x1402a0e68]
shrd rcx, rax, 0xd
movabs rax, 0xb19ea5fad5696866
xor rax, rcx
cmp r9, rax
jae 0x140044e74
lea rax, [r10 + 0x11]
mov rcx, r9
mov r8d, 1
jmp 0x14004520a
mov qword [rsp], rdx
mov qword [rsp + 8], r10
mov rax, qword [str..B_s]
mov rcx, qword [0x1402a0e78]
shrd rcx, rax, 0x3c
movabs r8, 0x65c0184732042288
xor r8, rcx
movabs rdi, 0x6969c03e5b0b1b63
movabs rbx, 0x279fd5c2fc47c20b
movabs r15, 0x2d7a88cf60b8db76
movabs r12, 0x26034dcadd076620
movabs rbp, 0x286bcc5835d46e3f
movabs r11, 0x8253378c8086983d
movabs rcx, 0xbeb5c44dad0f5cab
mov r14d, 1
mov rsi, r9
cmp rsi, r8
jb 0x140044fd5
mov r10, rsi
mov rax, qword [0x1402a0e88]
movabs rdx, 0x696ca610aec1a7eb
imul rax, rdx
mov rdx, qword [0x1402a0e90]
imul rdx, rdi
add rdx, rax
add rdx, rbx
cmp rsi, rdx
jb 0x14004501d
mov rax, qword [0x1402a0ea0]
movabs rdx, 0x472f5c98410e5ddf
imul rax, rdx
mov rdx, qword [0x1402a0ea8]
imul rdx, r15
add rdx, rax
add rdx, r12
cmp r10, rdx
jb 0x140045035
mov rax, qword [0x1402a0eb8]
movabs rdx, 0xa4db642af2d93505
imul rax, rdx
mov r13, qword [0x1402a0ec0]
imul r13, rbp
add r13, rax
add r13, r11
mov rax, r10
xor edx, edx
div r13
mov rsi, rax
imul edx, dword [0x1402a0ec8], 0xbd425e95
imul r13d, dword [0x1402a0ecc], 0xb3550d57
add r13d, edx
mov eax, r14d
mov edx, r13d
add eax, edx
add eax, 0x48cdc7e5
mov rdx, qword [0x1402a0ed0]
mov r14, qword [0x1402a0ed8]
shrd r14, rdx, 0x16
mov r13, r14
xor r13, rcx
mov r14d, eax
cmp r10, r13
jae 0x140044eec
mov ecx, eax
jmp 0x140045051
mov eax, dword [0x1402a0e80]
mov ecx, dword [0x1402a0e84]
shrd ecx, eax, 0xf
xor ecx, 0xf4236d6a
jmp 0x14004504b
mov eax, dword [0x1402a0df8]
mov ecx, dword [0x1402a0dfc]
shrd ecx, eax, 0xf
xor ecx, 0xd28f935
jmp 0x14004506c
mov eax, dword [0x1402a0e10]
mov ecx, dword [0x1402a0e14]
shrd ecx, eax, 0xc
xor ecx, 0x486e057a
jmp 0x14004506c
mov eax, dword [0x1402a0e98]
mov ecx, dword [0x1402a0e9c]
shrd ecx, eax, 3
xor ecx, 0x3bb8c24a
jmp 0x14004504b
mov eax, dword [0x1402a0eb0]
mov ecx, dword [0x1402a0eb4]
shrd ecx, eax, 0x12
xor ecx, 0x4df2203f
add r14d, ecx
mov ecx, r14d
mov rax, r9
jmp 0x140045093
mov eax, dword [0x1402a0e28]
mov ecx, dword [0x1402a0e2c]
shrd ecx, eax, 0xe
xor ecx, 0x4fd451bb
add ebp, ecx
mov eax, ebp
imul ecx, dword [0x1402a0e58], 0x58fd2bcd
imul edx, dword [0x1402a0e5c], 0xcc0a9e17
add edx, ecx
mov ecx, edx
add ecx, eax
add ecx, 0xfc04a7b4
mov rax, r8
mov ecx, ecx
mov r8d, ecx
mov rcx, qword [rsp]
lea rdx, [rcx + r8]
mov rcx, qword [0x1402a0ee0]
mov r9, qword [0x1402a0ee8]
shrd r9, rcx, 0x14
movabs rcx, 0x2525797d16352df5
xor rcx, r9
cmp rax, rcx
jbe 0x1400451a5
movabs rcx, 0x82c7a2ad47598417
movabs r11, 0x9235afcc3d65cd
movabs rsi, 0x24461bdf54cc5925
movabs rdi, 0x2ab7b4e2129f41ee
movabs rbx, 0x44d4e457a3c83bc1
movabs r14, 0x99d12fd09999f7a6
lea r15, [0x14021dd18]
movabs r12, 0x974718435027adb8
mov r13, rdx
mov r9, rax
mov rax, qword [0x1402a0ef0]
imul rax, rcx
mov rdx, qword [0x1402a0ef8]
imul rdx, r11
add rdx, rax
mov r10, rdx
add r10, rsi
mov rax, r9
xor edx, edx
div r10
mov r10, rdx
mov rax, qword [0x1402a0f00]
imul rax, rdi
mov rdx, qword [0x1402a0f08]
imul rdx, rbx
add rdx, rax
mov rbp, rdx
add rbp, r14
mov rax, r9
xor edx, edx
div rbp
movzx edx, word [r15 + r10*2]
mov word [r13 - 2], dx
mov rdx, qword [0x1402a0f10]
mov r10, qword [0x1402a0f18]
shrd r10, rdx, 0x3f
add r13, 0xfffffffffffffffe
mov rbp, r10
xor rbp, r12
mov r10, rax
mov rdx, r13
cmp r9, rbp
ja 0x140045119
jmp 0x1400451a8
mov r10, rax
mov rcx, r10
mov rax, rdx
movabs rdx, 0xf76d54ead455b441
imul rdx, qword [0x1402a0f20]
movabs r9, 0x822bd338b2887629
imul r9, qword [0x1402a0f28]
add r9, rdx
movabs rdx, 0x24da60ea6dd8b3d1
add rdx, r9
cmp r10, rdx
jbe 0x140045201
lea rdx, [0x14021dd18]
movzx ecx, word [rdx + rcx*2]
mov word [rax - 2], cx
mov r10, qword [rsp + 8]
mov rdx, qword [rsp]
jmp 0x140045230
mov r10, qword [rsp + 8]
mov rdx, qword [rsp]
movzx r11d, byte [0x1402a0f30]
movzx r9d, byte [0x1402a0f31]
imul r11d, r11d, 0xffffff95
imul r9d, r9d, 0x74
add r9b, r11b
add r9b, 0xee
or r9b, cl
mov byte [rax - 1], r9b
mov rcx, qword [r10]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
movups xmmword [rbp - 0x10], xmm6
movaps xmm6, xmm1
mov rsi, rcx
imul eax, dword [0x1402a0f34], 0xbb3de078
imul ecx, dword [0x1402a0f38], 0x76d59868
add eax, ecx
add eax, 0xf6a971f9
lea rcx, [rax*8 + 0xf]
movabs rax, 0x7ffffffd0
and rax, rcx
call fcn.1400fe1d0
sub rsp, rax
mov rcx, rsp
movsd qword [rcx], xmm1
sub rsp, 0x20
call fcn.1401adb28
add rsp, 0x20
movzx ecx, word [0x1402a0f3c]
movzx edx, word [0x1402a0f3e]
shrd dx, cx, 1
mov ecx, edx
xor ecx, 0xaa56
cmp ax, cx
jge 0x140045304
lea rdi, [rsi + 0x10]
lea rdx, [rsi + 0x50]
sub rsp, 0x20
mov rcx, rdi
movaps xmm2, xmm6
call fcn.1400465bf
add rsp, 0x20
mov rcx, qword [rsi]
mov r8, rax
sub r8, rdi
mov rax, qword [rcx]
sub rsp, 0x20
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x14004536c
mov rsi, qword [rsi]
mov rax, qword [rsi]
mov rbx, qword [rax + 8]
sub rsp, 0x20
lea rdi, [0x1402bf054]
lea rdx, [0x14021ed5a]
mov rcx, rdi
call fcn.14006efc0
add rsp, 0x20
movabs rax, 0x1041d25f87c5b1df
imul rax, qword [0x1402a0f40]
movabs rcx, 0x5fc60f477cddf3f0
imul rcx, qword [0x1402a0f48]
add rcx, rax
movabs r8, 0xfae0d774014bf090
add r8, rcx
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call rbx
add rsp, 0x20
movups xmm6, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret