Function at 0x180001500
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x358
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x2c0], xmm6
mov qword [rbp + 0x2b8], 0xfffffffffffffffe
call fcn.180018680
mov rsi, rax
cmp dword [rax], 1
jne 0x18000154b
mov rdx, rsi
add rdx, 8
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
jmp 0x18000158b
xorps xmm0, xmm0
movaps xmmword [rbp + 0x150], xmm0
lea rcx, [rbp + 0x150]
mov edx, 0x10
call qword [sym.imp.bcryptprimitives.dll_ProcessPrng]
mov rax, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x158]
mov rdx, rsi
add rdx, 8
mov qword [rsi], 1
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rcx
lea r8, [rax + 1]
mov qword [rdx], r8
movups xmm0, xmmword [0x180057720]
movaps xmmword [rbp + 0x40], xmm0
movdqu xmm0, xmmword [0x180057710]
movdqa xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rcx
lea rax, [0x1800523ca]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0xb9b2bbb48a7399df
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov byte [rbp + 0x2b7], 1
call fcn.180005220
mov esi, dword [rax]
movzx eax, byte [0x1800da5b1]
mov ecx, 4
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x180003bc7
xor esi, 0x80416883
mov dword [rax], esi
mov qword [rbp + 0x240], 4
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], 4
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 1
mov qword [rbp + 0x160], 0
mov byte [rbp + 0x2b7], 1
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x240]
lea r9, [rbp + 0x150]
call fcn.180007e80
mov rdx, qword [rbp + 0x110]
mov rax, rdx
neg rax
jo 0x1800016a8
jae 0x1800016a8
mov rcx, qword [rbp + 0x118]
mov r8d, 1
call fcn.18000ce60
lea rax, [0x18005077c]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0x4644fa7e8a7dde98
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov byte [rbp + 0x2b7], 1
call fcn.180004d60
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx eax, byte [0x1800da5b1]
mov ecx, 6
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x180003be2
mov ecx, edi
shr ecx, 8
xor cl, 0xc3
movzx ecx, cl
shl rcx, 0x28
xor dil, 0xa4
movzx edx, dil
shl rdx, 0x20
or rdx, rcx
xor esi, 0xcdedba75
mov dword [rax], esi
shr rdx, 0x20
mov word [rax + 4], dx
mov qword [rbp + 0x240], 6
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], 6
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 1
mov qword [rbp + 0x160], 0
mov byte [rbp + 0x2b7], 1
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x240]
lea r9, [rbp + 0x150]
call fcn.180007e80
mov rdx, qword [rbp + 0x110]
mov rax, rdx
neg rax
jo 0x1800017c8
jae 0x1800017c8
mov rcx, qword [rbp + 0x118]
mov r8d, 1
call fcn.18000ce60
lea rax, [0x180055c95]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0xb74abaa19e53eac1
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov byte [rbp + 0x2b7], 1
call fcn.180005190
mov rdi, qword [rax]
movzx esi, word [rax + 8]
movzx ebx, byte [rax + 0xa]
movzx eax, byte [0x1800da5b1]
mov ecx, listen
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x180003bfd
shl ebx, 0x10
or esi, ebx
mov ecx, esi
shr ecx, 0x10
xor cl, 0x39
mov edx, esi
shr edx, 8
xor dl, 0x9f
xor sil, 0x7a
movabs r8, 0xaafb1c8f2b6551c1
xor rdi, r8
mov qword [rax], rdi
mov byte [rax + 8], sil
mov byte [rax + 9], dl
mov byte [rax + 0xa], cl
mov qword [rbp + 0x240], listen
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], listen
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 1
mov qword [rbp + 0x160], 0
mov byte [rbp + 0x2b7], 1
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x240]
lea r9, [rbp + 0x150]
call fcn.180007e80
mov rdx, qword [rbp + 0x110]
mov rax, rdx
neg rax
jo 0x1800018f2
jae 0x1800018f2
mov rcx, qword [rbp + 0x118]
mov r8d, 1
call fcn.18000ce60
lea rax, [0x180048a79]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0xf28684239e8f043a
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov byte [rbp + 0x2b7], 1
call fcn.1800050f0
mov rdi, qword [rax]
mov esi, dword [rax + 8]
movzx eax, byte [0x1800da5b1]
mov ecx, listen
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x180003c18
xor esi, 0xa550c97c
movabs rcx, 0xd5bc95757c12dc1d
xor rdi, rcx
mov qword [rax], rdi
mov dword [rax + 8], esi
mov qword [rbp + 0x240], listen
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], listen
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 1
mov qword [rbp + 0x160], 0
mov byte [rbp + 0x2b7], 1
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x240]
lea r9, [rbp + 0x150]
call fcn.180007e80
mov rdx, qword [rbp + 0x110]
mov rax, rdx
neg rax
jo 0x1800019fd
jae 0x1800019fd
mov rcx, qword [rbp + 0x118]
mov r8d, 1
call fcn.18000ce60
lea rax, [0x180055a30]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0x4978b66d9f306029
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov byte [rbp + 0x2b7], 1
call fcn.180004d80
mov rdi, qword [rax]
mov esi, dword [rax + 8]
movzx eax, byte [0x1800da5b1]
mov ecx, listen
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x180003c33
xor esi, 0x6e8c7fc
movabs rcx, 0xfc130614d5316884
xor rdi, rcx
mov qword [rax], rdi
mov dword [rax + 8], esi
mov qword [rbp + 0x240], listen
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], listen
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 1
mov qword [rbp + 0x160], 0
mov byte [rbp + 0x2b7], 1
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x240]
lea r9, [rbp + 0x150]
call fcn.180007e80
mov rdx, qword [rbp + 0x110]
mov rax, rdx
neg rax
jo 0x180001b08
jae 0x180001b08
mov rcx, qword [rbp + 0x118]
mov r8d, 1
call fcn.18000ce60
lea rax, [0x180052c64]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0xde17c301ec34b9cf
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov byte [rbp + 0x2b7], 1
call fcn.1800052d0
mov rdi, qword [rax]
mov rsi, qword [rax + 8]
movzx ebx, byte [rax + 0x10]
movzx eax, byte [0x1800da5b1]
mov ecx, 0x11
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x180003c4e
xor bl, 0x90
movabs rcx, 0x8124bbb99c33f911
xor rsi, rcx
movabs rcx, 0x7075522957532a00
xor rdi, rcx
mov qword [rax], rdi
mov qword [rax + 8], rsi
mov byte [rax + 0x10], bl
mov qword [rbp + 0x240], 0x11
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], 0x11
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 1
mov qword [rbp + 0x160], 0
mov byte [rbp + 0x2b7], 1
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x240]
lea r9, [rbp + 0x150]
call fcn.180007e80
mov rdx, qword [rbp + 0x110]
mov rax, rdx
neg rax
jo 0x180001c26
jae 0x180001c26
mov rcx, qword [rbp + 0x118]
mov r8d, 1
call fcn.18000ce60
lea rax, [0x18004b3ef]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0x4f66f0854bbc1722
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov byte [rbp + 0x2b7], 1
call fcn.180004f10
mov rdi, qword [rax]
mov esi, dword [rax + 8]
movzx eax, byte [0x1800da5b1]
mov ecx, listen
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x180003c69
xor esi, 0xda1759b6
movabs rcx, 0xb12d7866b7d7073e
xor rdi, rcx
mov qword [rax], rdi
mov dword [rax + 8], esi
mov qword [rbp + 0x240], listen
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], listen
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 1
mov qword [rbp + 0x160], 0
mov byte [rbp + 0x2b7], 1
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x240]
lea r9, [rbp + 0x150]
call fcn.180007e80
mov rdx, qword [rbp + 0x110]
mov rax, rdx
neg rax
jo 0x180001d31
jae 0x180001d31
mov rcx, qword [rbp + 0x118]
mov r8d, 1
call fcn.18000ce60
lea rax, [0x1800494d0]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0xe735bfd769386372
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov byte [rbp + 0x2b7], 1
call fcn.180005160
mov rsi, qword [rax]
movzx ebx, byte [rax + 8]
movzx eax, byte [0x1800da5b1]
mov ecx, 9
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x180003c81
xor bl, 0xdf
movabs rcx, 0xdf5bc3a8afabfe94
xor rsi, rcx
mov qword [rax], rsi
mov byte [rax + 8], bl
mov qword [rbp + 0x240], 9
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], 9
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 1
mov qword [rbp + 0x160], 0
mov byte [rbp + 0x2b7], 1
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x240]
lea r9, [rbp + 0x150]
call fcn.180007e80
mov rdx, qword [rbp + 0x110]
mov rax, rdx
neg rax
jo 0x180001e3a
jae 0x180001e3a
mov rcx, qword [rbp + 0x118]
mov r8d, 1
call fcn.18000ce60
lea rax, [0x180050a26]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0xb77df61ac04eda35
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov byte [rbp + 0x2b7], 1
call fcn.180004e70
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx esi, word [rax + 0x10]
movzx eax, byte [0x1800da5b1]
mov ecx, 0x12
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x180003c99
mov ecx, esi
shr ecx, 8
xor cl, 0xd0
xor sil, 0xa6
movabs rdx, 0x25655b62fce5febb
xor rdi, rdx
movabs rdx, 0xca2cf7d14a96809
xor rbx, rdx
mov qword [rax], rbx
mov qword [rax + 8], rdi
mov byte [rax + 0x10], sil
mov byte [rax + 0x11], cl
mov qword [rbp + 0x240], 0x12
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], 0x12
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 1
mov qword [rbp + 0x160], 0
mov byte [rbp + 0x2b7], 1
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x240]
lea r9, [rbp + 0x150]
call fcn.180007e80
mov rdx, qword [rbp + 0x110]
mov rax, rdx
neg rax
jo 0x180001f65
jae 0x180001f65
mov rcx, qword [rbp + 0x118]
mov r8d, 1
call fcn.18000ce60
mov r9, qword [rbp + 0x30]
mov r10, qword [rbp + 0x38]
mov r8, qword [rbp + 0x48]
lea rcx, [r10 + 1]
movdqa xmm0, xmmword [r9]
test r10, r10
je 0x180001f9f
mov edx, 0x30
mov rax, rcx
mul rdx
lea rdx, [r10 + rax]
add rdx, 0x11
mov r10, r9
sub r10, rax
mov eax, 0x10
jmp 0x180001fa1
xor eax, eax
lea r11, [r9 + 0x10]
pmovmskb esi, xmm0
not esi
add rcx, r9
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x118], rdx
mov qword [rbp + 0x120], r10
mov qword [rbp + 0x128], r9
mov qword [rbp + 0x130], r11
mov qword [rbp + 0x138], rcx
mov word [rbp + 0x140], si
mov qword [rbp + 0x148], r8
lea r14, [rbp + 0x158]
movabs rbx, 0x8000000000000001
lea r13, [rbp + 0x150]
xorps xmm6, xmm6
lea r15, [rbp + 0x240]
jmp 0x18000201c
call fcn.18000ce60
mov r8, qword [rbp + 0x148]
test r8, r8
je 0x180003787
movzx ecx, word [rbp + 0x140]
mov rax, qword [rbp + 0x128]
test cx, cx
je 0x180002060
lea edx, [rcx - 1]
and edx, ecx
mov word [rbp + 0x140], dx
dec r8
mov qword [rbp + 0x148], r8
test rax, rax
jne 0x1800020b9
jmp 0x180003787
mov rdx, qword [rbp + 0x130]
nop word [rax + rax]
movdqa xmm0, xmmword [rdx]
pmovmskb ecx, xmm0
add rax, 0xfffffffffffffd00
add rdx, 0x10
cmp ecx, 0xffff
je 0x180002070
mov qword [rbp + 0x130], rdx
mov qword [rbp + 0x128], rax
mov edx, 0xfffffffe
sub edx, ecx
not ecx
mov r9d, ecx
and r9d, edx
mov word [rbp + 0x140], r9w
dec r8
mov qword [rbp + 0x148], r8
tzcnt ecx, ecx
neg rcx
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov r8, qword [rax + rcx - 0x30]
mov rdx, r8
neg rdx
jo 0x180003787
mov qword [rbp + 0x2a8], r8
lea r9, [rax + rcx]
mov rdx, qword [rax + rcx - 0x28]
mov r8, qword [rax + rcx - 0x18]
mov qword [rbp + 0x228], r8
mov r8, qword [rax + rcx - 0x10]
mov qword [rbp + 0x230], r8
mov rsi, qword [rax + rcx - 8]
mov r8, qword [r9 - 0x20]
lea rcx, [rbp - 0x28]
mov qword [rbp + 0x2a0], rdx
call fcn.18001f670
mov rdx, qword [rbp + 0x2a8]
test rdx, rdx
je 0x180002138
mov r8d, 1
mov rcx, qword [rbp + 0x2a0]
call fcn.18000ce60
mov rdx, qword [rbp - 0x28]
mov rax, rdx
neg rax
mov rdi, qword [rbp + 0x228]
jo 0x180002254
cmp rdx, rbx
jne 0x180002240
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x2a8], rax
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
mov qword [rsp + 0x20], rsi
lea rcx, [rbp + 0x90]
mov qword [rbp + 0x2a0], rdx
mov r9, qword [rbp + 0x230]
call fcn.180025630
mov rdx, qword [rbp + 0x228]
test rdx, rdx
je 0x1800021a8
mov r8d, 1
mov rcx, qword [rbp + 0x230]
call fcn.18000ce60
mov rdx, qword [rbp + 0x2a8]
test rdx, rdx
je 0x1800021c6
mov r8d, 1
mov rcx, qword [rbp + 0x2a0]
call fcn.18000ce60
lea rcx, [rbp + 0x90]
call fcn.180033b80
mov r8, rdx
mov rcx, r13
mov rdx, rax
call fcn.18002a5d0
cmp dword [rbp + 0x150], 2
jne 0x180002272
mov rax, qword [rbp + 0x158]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x1800023a2
lea rcx, [rax - 1]
mov qword [rbp + 0x2a8], rcx
mov rcx, qword [rax - 1]
mov qword [rbp + 0x2a0], rcx
mov rax, qword [rax + 7]
mov qword [rbp + 0x290], rax
mov rax, qword [rax]
test rax, rax
je 0x18000236b
mov rcx, qword [rbp + 0x2a0]
call rax
jmp 0x18000236b
test rdx, rdx
je 0x180002254
mov rcx, qword [rbp - 0x20]
mov r8d, 1
call fcn.18000ce60
test rdi, rdi
je 0x180002015
mov r8d, 1
mov rcx, qword [rbp + 0x230]
mov rdx, rdi
jmp 0x180002010
mov rsi, qword [rbp + 0xa0]
test rsi, rsi
js 0x180003a89
mov r12, qword [rbp + 0x98]
je 0x1800022b2
movzx eax, byte [0x1800da5b1]
mov edi, 1
mov edx, 1
mov rcx, rsi
call fcn.18000ce50
test rax, rax
je 0x180003a8b
mov r13, rax
jmp 0x1800022b8
mov r13d, 1
mov rcx, r13
mov rdx, r12
mov r8, rsi
call fcn.180052ce0
movzx eax, byte [rbp + 0xa8]
mov qword [rbp + 0x150], rsi
mov qword [rbp + 0x158], r13
mov qword [rbp + 0x160], rsi
mov byte [rbp + 0x168], al
mov byte [rbp + 0x240], 0
lea r13, [rbp + 0x150]
mov rcx, r13
call fcn.180033b80
mov r8, rdx
mov rcx, r15
mov rdx, rax
call fcn.180020000
mov rsi, rax
mov rdx, qword [rbp + 0x150]
test rdx, rdx
je 0x18000232d
mov rcx, qword [rbp + 0x158]
mov r8d, 1
call fcn.18000ce60
mov eax, esi
and eax, 3
cmp eax, 1
jne 0x1800023a2
mov rax, rsi
dec rax
mov qword [rbp + 0x2a8], rax
mov rax, qword [rsi - 1]
mov qword [rbp + 0x2a0], rax
mov rax, qword [rsi + 7]
mov qword [rbp + 0x290], rax
mov rax, qword [rax]
test rax, rax
je 0x18000236b
mov rcx, qword [rbp + 0x2a0]
call rax
mov rcx, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x290]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x18000238b
mov r8, qword [rax + 0x10]
call fcn.18000ce60
mov rcx, qword [rbp + 0x2a8]
mov edx, 0x18
mov r8d, 8
call fcn.18000ce60
lea rcx, [rbp + 0x90]
call fcn.180033b80
mov r8, rdx
mov rcx, r13
mov rdx, rax
call fcn.18002a5d0
cmp dword [rbp + 0x150], 2
jne 0x180002443
mov rax, qword [rbp + 0x158]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x1800036ee
lea rcx, [rax - 1]
mov qword [rbp + 0x290], rcx
mov rcx, qword [rax - 1]
mov qword [rbp + 0x2a8], rcx
mov rax, qword [rax + 7]
mov qword [rbp + 0x2a0], rax
mov rax, qword [rax]
test rax, rax
je 0x18000240c
mov rcx, qword [rbp + 0x2a8]
call rax
mov rcx, qword [rbp + 0x2a8]
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x18000242c
mov r8, qword [rax + 0x10]
call fcn.18000ce60
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0x290]
jmp 0x1800036e9
movzx eax, byte [0x1800da5b1]
mov ecx, 0x18
mov edx, 8
call fcn.18000ce50
mov qword [rbp + 0x2a0], rax
test rax, rax
je 0x180003a75
lea rax, [0x1800559fa]
mov qword [rbp + 0x150], rax
mov rcx, qword [rbp + 0x150]
movabs rax, 0x580554755aef9a76
mov qword [rbp + 0x150], rax
mov rdx, qword [rbp + 0x150]
call fcn.180005020
mov rdi, qword [rax]
movzx esi, word [rax + 8]
movzx ebx, byte [rax + 0xa]
movzx eax, byte [0x1800da5b1]
mov ecx, listen
mov edx, 1
call fcn.18000ce50
test rax, rax
je 0x180003a61
shl ebx, 0x10
or esi, ebx
mov ecx, esi
shr ecx, 0x10
xor cl, 0xdd
mov edx, esi
shr edx, 8
xor dl, 0x79
add sil, 0x80
movabs r8, 0xc5c17caa855aed9e
xor rdi, r8
mov qword [rax], rdi
mov byte [rax + 8], sil
mov byte [rax + 9], dl
mov byte [rax + 0xa], cl
mov r12, qword [rbp + 0x2a0]
mov qword [r12], listen
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], listen
lea rax, [r12 + 0x18]
mov qword [rbp + 0xe8], r12
mov qword [rbp + 0xf8], 1
mov qword [rbp + 0x100], rax
lea rdi, [r12 + 0x20]
xor esi, esi
xor ebx, ebx
jmp 0x180002553
add rbx, 0x18
add rdi, 0x18
add rsi, 0xffffffffffffffe8
mov r12, qword [rbp + 0x2a0]
cmp rbx, 0x18
je 0x1800027b2
lea rax, [r12 + rbx]
add rax, 0x18
mov qword [rbp + 0xf0], rax
mov rax, qword [r12 + rbx]
mov rcx, rax
neg rcx
jo 0x18000276e
lea rcx, [r12 + rbx]
mov qword [rbp + 0xc8], rax
movdqu xmm0, xmmword [rcx + 8]
lea rax, [rbp + 0xd0]
movdqu xmmword [rax], xmm0
mov rcx, r15
lea rdx, [rbp + 0xc8]
call fcn.18003cf90
mov dword [rbp + 0x150], 0
movups xmmword [r14], xmm6
mov dword [rbp + 0x168], 7
mov word [r14 + 0x1c], 0
mov qword [r14 + 0x14], 0
mov byte [rbp + 0x170], 1
mov rdx, qword [rbp + 0x248]
mov r8, qword [rbp + 0x250]
mov rcx, r13
mov qword [rbp + 0x2a8], rdx
call fcn.18001ffe0
mov r13, rax
mov r12, rdx
mov rdx, qword [rbp + 0x240]
test rdx, rdx
je 0x180002615
mov r8d, 1
mov rcx, qword [rbp + 0x2a8]
call fcn.18000ce60
test r13b, 1
jne 0x1800039f3
mov qword [rbp + 0x70], r12
lea rcx, [rbp + 0x90]
call fcn.180033b80
mov r12, rax
mov r13, rdx
lea rcx, [rbp + 0x150]
lea rdx, [rbp + 0xc8]
call fcn.18003cf90
mov r9, qword [rbp + 0x158]
mov rax, qword [rbp + 0x160]
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, r12
mov r8, r13
mov qword [rbp + 0x2a8], r9
call fcn.180025630
mov rdx, qword [rbp + 0x150]
test rdx, rdx
je 0x18000268e
mov r8d, 1
mov rcx, qword [rbp + 0x2a8]
call fcn.18000ce60
mov dword [rbp + 0x150], 0
movups xmmword [r14], xmm6
mov dword [rbp + 0x168], 7
mov word [r14 + 0x1c], 0
mov qword [r14 + 0x14], 0
mov byte [rbp + 0x171], 1
mov word [rbp + 0x173], 0x101
mov rcx, r15
call fcn.180033b80
mov r8, rdx
lea rcx, [rbp + 0x150]
mov rdx, rax
call fcn.18001ffe0
mov r13, rax
mov r12, rdx
mov rdx, qword [rbp + 0x240]
test rdx, rdx
je 0x180002703
mov rcx, qword [rbp + 0x248]
mov r8d, 1
call fcn.18000ce60
test r13b, 1
jne 0x1800039bc
mov qword [rbp + 0x240], r12
lea rcx, [rbp + 0x70]
mov rdx, r15
call fcn.18000a600
lea r13, [rbp + 0x150]
test al, 1
jne 0x180003a2a
mov rcx, qword [rbp + 0x240]
mov r12, qword [sym.imp.KERNEL32.dll_CloseHandle]
call r12
mov rcx, qword [rbp + 0x70]
call r12
mov rdx, qword [rbp + 0xc8]
test rdx, rdx
je 0x180002540
mov rcx, qword [rbp + 0xd0]
mov r8d, 1
call fcn.18000ce60
jmp 0x180002540
test rbx, rbx
je 0x1800027b2
mov rax, rsi
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
mov rsi, rdx
shr rsi, 4
jmp 0x180002799
add rdi, 0x18
dec rsi
je 0x1800027b2
mov rdx, qword [rdi - 8]
test rdx, rdx
je 0x180002790
mov rcx, qword [rdi]
mov r8d, 1
call fcn.18000ce60
jmp 0x180002790
mov edx, 0x18
mov r8d, 8
mov rcx, r12
call fcn.18000ce60
lea rcx, [rbp + 0x90]
call fcn.180033b80
movabs rbx, 0x8000000000000001
mov rsi, rax
mov r12, rdx
lea rax, [0x1800552cf]
mov qword [rbp + 0x150], rax
mov rcx, qword [rbp + 0x150]
movabs rax, 0x2d684e0ff6327355
mov qword [rbp + 0x150], rax
mov rdx, qword [rbp + 0x150]
call fcn.180004ee0
mov rcx, qword [rax]
movabs rdx, 0x6985b11c8901bdc0
xor rcx, rdx
mov eax, dword [rax + 8]
mov edx, 0x2b6d872f
xor eax, edx
mov qword [rbp + 0x150], rcx
mov dword [rbp + 0x158], eax
mov qword [rsp + 0x20], listen
mov rcx, rbp
mov rdx, rsi
mov r8, r12
mov r9, r13
call fcn.180025630
mov rcx, r13
call fcn.18001fd10
xor eax, eax
cmp rax, qword [rbp + 0x150]
jo 0x180003b89
movdqu xmm0, xmmword [rbp + 0x150]
movups xmm1, xmmword [rbp + 0x160]
movaps xmmword [rbp + 0x250], xmm1
movdqa xmmword [rbp + 0x240], xmm0
mov rsi, qword [rbp + 0x10]
test rsi, rsi
js 0x180003b70
mov r12, qword [rbp + 8]
je 0x1800028c3
movzx eax, byte [0x1800da5b1]
mov edi, 1
mov edx, 1
mov rcx, rsi
call fcn.18000ce50
test rax, rax
je 0x180003b72
mov r13, rax
jmp 0x1800028c9
mov r13d, 1
mov rcx, r13
mov rdx, r12
mov r8, rsi
call fcn.180052ce0
movzx eax, byte [rbp + 0x18]
mov qword [rbp + 0x150], rsi
mov qword [rbp + 0x158], r13
mov qword [rbp + 0x160], rsi
mov byte [rbp + 0x168], al
mov byte [rbp + 0x28f], 0
mov rcx, r15
lea r13, [rbp + 0x150]
mov rdx, r13
call fcn.18000a510
test rax, rax
je 0x180002989
mov eax, edx
and eax, 3
cmp eax, 1
jne 0x180002989
mov rax, rdx
dec rax
mov qword [rbp + 0x290], rax
mov rax, qword [rdx - 1]
mov qword [rbp + 0x2a8], rax
mov rax, qword [rdx + 7]
mov qword [rbp + 0x2a0], rax
mov rax, qword [rax]
test rax, rax
je 0x180002952
mov rcx, qword [rbp + 0x2a8]
call rax
mov rcx, qword [rbp + 0x2a8]
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x180002972
mov r8, qword [rax + 0x10]
call fcn.18000ce60
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0x290]
call fcn.18000ce60
lea rax, [0x18005636d]
mov qword [rbp + 0x150], rax
mov rcx, qword [rbp + 0x150]
movabs rax, 0x4f4f61e4bb125b9c
mov qword [rbp + 0x150], rax
mov rdx, qword [rbp + 0x150]
call fcn.180004e00
mov rcx, qword [rax]
movabs rdx, 0xfa1d9dfe07ad2b5d
xor rcx, rdx
mov eax, dword [rax + 8]
mov edx, 0x7ded5ccf
xor eax, edx
mov qword [rbp + 0xe8], rcx
mov dword [rbp + 0xf0], eax
mov r8d, listen
mov rcx, r15
lea rdx, [rbp + 0xe8]
call fcn.18001f670
cmp qword [rbp + 0x240], rbx
jne 0x180003a9b
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x2a0], rax
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0x2a8], rax
mov rsi, qword [rbp + 0x258]
lea rax, [0x18004ba12]
mov qword [rbp + 0x150], rax
mov rcx, qword [rbp + 0x150]
movabs rax, 0x7170c082777a7cca
mov qword [rbp + 0x150], rax
mov rdx, qword [rbp + 0x150]
call fcn.180004cd0
mov rcx, qword [rax]
movabs rdx, 0x733683e9a7fc2b8f
xor rcx, rdx
movzx eax, byte [rax + 8]
xor al, 0xcc
mov qword [rbp + 0x240], rcx
mov byte [rbp + 0x248], al
mov qword [rsp + 0x20], 9
mov rcx, r13
mov rdx, qword [rbp + 0x2a8]
mov r8, rsi
mov r9, r15
call fcn.180025630
mov rcx, r13
call fcn.180033b80
mov rsi, rax
mov r12, rdx
lea rax, [0x180050ab5]
mov qword [rbp + 0xe8], rax
lea rax, [rbp + 0xe8]
mov rcx, qword [rbp + 0xe8]
movabs rdx, 0x4d95d4636879976
mov qword [rbp + 0xe8], rdx
mov rdx, qword [rbp + 0xe8]
call fcn.180004e20
mov rax, qword [rax]
movabs rcx, 0x3f1bde58af853182
xor rax, rcx
mov qword [rbp + 0xe8], rax
mov qword [rsp + 0x20], 8
lea rcx, [rbp + 0x70]
mov rdx, rsi
mov r8, r12
lea r9, [rbp + 0xe8]
call fcn.180025630
mov rdx, qword [rbp + 0x150]
test rdx, rdx
je 0x180002b35
mov rcx, qword [rbp + 0x158]
mov r8d, 1
call fcn.18000ce60
lea rax, [0x180055b51]
mov qword [rbp + 0x150], rax
mov rcx, qword [rbp + 0x150]
movabs rax, 0xec87c39f5955dbfa
mov qword [rbp + 0x150], rax
mov rdx, qword [rbp + 0x150]
call fcn.180005110
mov rcx, qword [rax]
movabs rdx, 0x91bfd3d73f0ee4ff
xor rcx, rdx
movzx edx, byte [rax + 0xa]
movzx eax, word [rax + 8]
mov r8d, eax
shr r8d, 8
xor al, 0x95
xor r8b, 0xc0
xor dl, 0x65
mov qword [rbp + 0xe8], rcx
mov byte [rbp + 0xf0], al
mov byte [rbp + 0xf1], r8b
mov byte [rbp + 0xf2], dl
lea rcx, [rbp + 0x70]
call fcn.180033b80
mov rsi, rax
mov r12, rdx
lea rax, [0x1800530dd]
mov qword [rbp + 0x150], rax
mov rcx, qword [rbp + 0x150]
movabs rax, 0x809221c151996514
mov qword [rbp + 0x150], rax
mov rdx, qword [rbp + 0x150]
call fcn.180004d40
mov rcx, qword [rax]
movabs rdx, 0x205b9db335261c88
xor rcx, rdx
movzx edx, byte [rax + 0xa]
movzx eax, word [rax + 8]
mov r8d, eax
shr r8d, 8
xor al, 0xe5
xor r8b, 0x5c
xor dl, 0x57
mov qword [rbp + 0x240], rcx
mov byte [rbp + 0x248], al
mov byte [rbp + 0x249], r8b
mov byte [rbp + 0x24a], dl
mov qword [rsp + 0x20], listen
mov rcx, r13
mov rdx, rsi
mov r8, r12
mov r9, r15
call fcn.180025630
mov rcx, r13
call fcn.180033b80
mov r9, rdx
mov edx, listen
lea rcx, [rbp + 0xe8]
mov r8, rax
call case.0x180023ab7.176
mov r12, rax
mov rsi, rdx
mov rdx, qword [rbp + 0x150]
test rdx, rdx
je 0x180002c89
mov rcx, qword [rbp + 0x158]
mov r8d, 1
call fcn.18000ce60
test r12b, 1
jne 0x180003b39
lea rax, [0x180049d9e]
mov qword [rbp + 0x150], rax
mov rcx, qword [rbp + 0x150]
movabs rax, 0xf8a92f012f9d0604
mov qword [rbp + 0x150], rax
mov rdx, qword [rbp + 0x150]
call fcn.180005140
mov ecx, dword [rax]
mov edx, 0xa56310a4
xor ecx, edx
movzx r8d, byte [rax + 6]
movzx eax, word [rax + 4]
mov edx, eax
shr edx, 8
not al
xor dl, 0x90
xor r8b, 0x89
movzx r8d, r8b
mov byte [rbp + 0x246], r8b
shl r8, 0x30
movzx edx, dl
shl rdx, 0x28
or rdx, r8
movzx eax, al
shl rax, 0x20
or rax, rdx
mov dword [rbp + 0x240], ecx
shr rax, 0x20
mov word [rbp + 0x244], ax
mov r8d, 7
mov rcx, r13
mov rdx, r15
call fcn.18002c640
mov dword [rbp + 0x214], 0x8000000
lea rax, [0x1800561cb]
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x240]
movabs rax, 0xbef7fdeea67a5507
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x240]
call fcn.180004e90
movzx eax, word [rax]
xor eax, 0x853c
mov word [rbp + 0x240], ax
mov r8d, 2
mov rcx, r13
mov rdx, r15
call fcn.18002c760
lea rax, [0x18004de01]
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x240]
movabs rax, 0xd06cd4d2d58d2657
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x240]
call fcn.180004d00
mov rax, qword [rax]
movabs rcx, 0xbb50c69ff9acfa09
xor rax, rcx
mov qword [rbp + 0x240], rax
mov r8d, 8
mov rcx, r13
mov rdx, r15
call fcn.18002c760
lea rax, [0x18004946e]
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x240]
movabs rax, 0xcebcc3cf70d4e64c
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x240]
call fcn.1800051c0
mov ecx, dword [rax]
mov edx, 0xec87aa05
xor ecx, edx
movzx r8d, byte [rax + 6]
movzx eax, word [rax + 4]
mov edx, eax
shr edx, 8
xor al, 0x26
xor dl, 0xda
xor r8b, 0x27
movzx r8d, r8b
mov byte [rbp + 0x246], r8b
shl r8, 0x30
movzx edx, dl
shl rdx, 0x28
or rdx, r8
movzx eax, al
shl rax, 0x20
or rax, rdx
mov dword [rbp + 0x240], ecx
shr rax, 0x20
mov word [rbp + 0x244], ax
mov r8d, 7
mov rcx, r13
mov rdx, r15
call fcn.18002c760
lea rax, [0x180048810]
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x240]
movabs rax, 0xf2933166795c953a
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x240]
call fcn.180004dd0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
xor al, 0x20
xor dl, 0xc7
xor cl, 0x11
movzx ecx, cl
mov byte [rbp + 0x242], cl
shl ecx, 0x10
movzx edx, dl
shl edx, 8
or edx, ecx
movzx eax, al
or eax, edx
mov word [rbp + 0x240], ax
mov r8d, 3
mov rcx, r13
mov rdx, r15
call fcn.18002c760
lea rax, [0x1800508a8]
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x240]
movabs rax, 0x19fa6ca3a18e2af6
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x240]
call fcn.180005300
mov ecx, dword [rax]
mov edx, 0xdf6823ae
xor ecx, edx
movzx eax, word [rax + 4]
mov edx, eax
xor dl, 0x20
shr eax, 8
xor al, 0x4a
movzx eax, al
shl rax, 0x28
movzx edx, dl
shl rdx, 0x20
or rdx, rax
mov dword [rbp + 0x240], ecx
shr rdx, 0x20
mov word [rbp + 0x244], dx
mov r8d, 6
mov rcx, r13
mov rdx, r15
call fcn.18002c760
lea rax, [0x180051e11]
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x240]
movabs rax, 0x68bb181b4c0918c3
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x240]
call fcn.180004fe0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
xor al, 0x6b
xor dl, 0xd5
xor cl, 0xc7
movzx ecx, cl
mov byte [rbp + 0x242], cl
shl ecx, 0x10
movzx edx, dl
shl edx, 8
or edx, ecx
movzx eax, al
or eax, edx
mov word [rbp + 0x240], ax
mov r8d, 3
mov rcx, r13
mov rdx, r15
call fcn.18002c760
lea rax, [0x1800562b4]
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x240]
movabs rax, 0x2ba27cb2573ec1a1
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x240]
call fcn.180005080
movzx eax, byte [rax]
xor al, 0xae
mov byte [rbp + 0x240], al
mov r8d, 1
mov rcx, r13
mov rdx, r15
call fcn.18002c760
lea rax, [0x180055bf6]
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x240]
movabs rax, 0x2537c0978ca565c8
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x240]
call fcn.1800051f0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
xor al, 0xe3
xor dl, 0x79
xor cl, 0xb
movzx ecx, cl
mov byte [rbp + 0x242], cl
shl ecx, 0x10
movzx edx, dl
shl edx, 8
or edx, ecx
movzx eax, al
or eax, edx
mov word [rbp + 0x240], ax
mov r8d, 3
mov rcx, r13
mov rdx, r15
call fcn.18002c760
lea rax, [0x18004802d]
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x240]
movabs rax, 0xa23e6dec3a679455
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x240]
call fcn.180005050
mov rcx, qword [rax]
movabs rdx, 0xd35dc788fe25d4d7
xor rcx, rdx
mov rdx, qword [rax + 8]
movabs r8, 0x692afede1e32b99e
xor rdx, r8
movzx eax, word [rax + 0x10]
mov r8d, eax
xor r8b, 0x66
shr eax, 8
xor al, 0x91
mov qword [rbp + 0xb0], rcx
mov qword [rbp + 0xb8], rdx
mov byte [rbp + 0xc0], r8b
mov byte [rbp + 0xc1], al
lea rax, [rbp + 0xb0]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 0x12
call fcn.1800158f0
mov rsi, rax
mov qword [rbp - 8], rax
lea r8, [rax + 0x10]
mov rcx, qword [rax + 0x110]
cmp rcx, 0x3f
jae 0x1800031c2
lea rax, [rcx + 2]
mov qword [rsi + 0x110], rax
mov rdi, qword [rsi + rcx*4 + 0x10]
cmp rcx, 0x3d
jb 0x18000327c
cmp rax, 0x3f
jne 0x180003710
mov ebx, dword [rsi + 0x10c]
mov rcx, rsi
add rcx, 0x120
mov rax, qword [rsi + 0x158]
test rax, rax
jle 0x180003749
cmp qword [rsi + 0x160], 0
js 0x180003749
add rax, 0xffffffffffffff00
mov qword [rsi + 0x158], rax
mov edx, 6
call fcn.180015970
jmp 0x180003751
jne 0x180003203
mov ebx, dword [rsi + 0x10c]
mov rcx, rsi
add rcx, 0x120
mov rax, qword [rsi + 0x158]
test rax, rax
jle 0x18000323c
cmp qword [rsi + 0x160], 0
js 0x18000323c
add rax, 0xffffffffffffff00
mov qword [rsi + 0x158], rax
mov edx, 6
call fcn.180015970
jmp 0x180003244
mov rcx, rsi
add rcx, 0x120
mov rax, qword [rsi + 0x158]
test rax, rax
jle 0x180003260
cmp qword [rsi + 0x160], 0
js 0x180003260
add rax, 0xffffffffffffff00
mov qword [rsi + 0x158], rax
mov edx, 6
call fcn.180015970
jmp 0x180003268
mov rdx, r8
call fcn.18000aee0
mov qword [rsi + 0x110], 1
mov edi, dword [rsi + 0x10]
shl rdi, 0x20
or rdi, rbx
mov eax, 1
jmp 0x18000327c
mov rdx, r8
call fcn.18000aee0
mov qword [rsi + 0x110], 2
mov rdi, qword [rsi + 0x10]
mov eax, 2
lea rcx, [rax + 2]
mov qword [rsi + 0x110], rcx
mov rax, qword [rsi + rax*4 + 0x10]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x20], rdi
lea rax, [rbp - 0x38]
mov qword [rbp + 0xe8], rax
lea rax, [0x180007ad0]
mov qword [rbp + 0xf0], rax
lea rax, [rbp + 0x20]
mov qword [rbp + 0xf8], rax
lea rax, [0x18003f0e0]
mov qword [rbp + 0x100], rax
lea rax, reloc.WS2_32.dll_accept
mov qword [rbp + 0x240], rax
mov qword [rbp + 0x248], 2
mov qword [rbp + 0x260], 0
lea rax, [rbp + 0xe8]
mov qword [rbp + 0x250], rax
mov qword [rbp + 0x258], 2
lea rcx, [rbp + 0xc8]
mov rdx, r15
call fcn.18003cb40
dec qword [rsi]
movabs rbx, 0x8000000000000001
jne 0x18000333a
dec qword [rsi + 8]
jne 0x18000333a
mov edx, 0x170
mov r8d, 0x10
mov rcx, rsi
call fcn.18000ce60
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x290], rax
mov rdx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xd8]
mov rcx, r13
mov qword [rbp + 0x238], rdx
call fcn.18002c760
mov rdx, qword [rbp + 0x290]
test rdx, rdx
je 0x180003383
mov r8d, 1
mov rcx, qword [rbp + 0x238]
call fcn.18000ce60
lea rax, [0x18004e187]
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x240]
movabs rax, 0x9b4e1b21578ac11e
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x240]
call fcn.180004eb0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
xor al, 0x35
xor dl, 0xf
xor cl, 0x90
movzx ecx, cl
mov byte [rbp + 0x242], cl
shl ecx, 0x10
movzx edx, dl
shl edx, 8
or edx, ecx
movzx eax, al
or eax, edx
mov word [rbp + 0x240], ax
mov r8d, 3
mov rcx, r13
mov rdx, r15
call fcn.18002c760
mov rsi, qword [rbp + 0x80]
test rsi, rsi
js 0x180003b27
mov r12, qword [rbp + 0x78]
je 0x180003437
movzx eax, byte [0x1800da5b1]
mov edi, 1
mov edx, 1
mov rcx, rsi
call fcn.18000ce50
test rax, rax
je 0x180003b29
mov r13, rax
jmp 0x18000343d
mov r13d, 1
mov rcx, r13
mov rdx, r12
mov r8, rsi
call fcn.180052ce0
movzx eax, byte [rbp + 0x88]
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], rsi
mov byte [rbp + 0xe0], al
lea rcx, [rbp + 0xc8]
call fcn.180033b80
lea r13, [rbp + 0x150]
mov r8, rdx
mov rcx, r15
mov rdx, rax
call fcn.18001fd30
cmp dword [rbp + 0x240], 1
je 0x180003b16
mov rax, qword [rbp + 0x248]
mov rcx, qword [rbp + 0x250]
add rcx, rax
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xf0], rcx
mov byte [rbp + 0xf8], 0x80
mov byte [rbp + 0x104], 0x80
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 1
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0x270], 0x20
mov byte [rbp + 0x278], 3
mov qword [rbp + 0x240], 0
mov qword [rbp + 0x250], 0
lea rax, [rbp + 0xb0]
mov qword [rbp + 0x260], rax
lea rax, [0x180057560]
mov qword [rbp + 0x268], rax
lea rcx, [rbp + 0xe8]
mov rdx, r15
call fcn.180042ff0
test al, al
jne 0x180003ae9
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x290], rax
mov rdx, qword [rbp + 0xb8]
mov r8, qword [rbp + 0xc0]
mov rcx, r13
mov qword [rbp + 0x238], rdx
call fcn.18002c760
mov rdx, qword [rbp + 0x290]
test rdx, rdx
je 0x18000358d
mov r8d, 1
mov rcx, qword [rbp + 0x238]
call fcn.18000ce60
mov rdx, qword [rbp + 0xc8]
test rdx, rdx
je 0x1800035ab
mov rcx, qword [rbp + 0xd0]
mov r8d, 1
call fcn.18000ce60
mov rcx, r15
mov rdx, r13
call fcn.180025850
mov rdi, qword [rbp + 0x240]
cmp rdi, 2
jne 0x18000363d
mov rax, qword [rbp + 0x248]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x180003698
lea rcx, [rax - 1]
mov qword [rbp + 0x68], rcx
mov rcx, qword [rax - 1]
mov qword [rbp + 0x290], rcx
mov rax, qword [rax + 7]
mov qword [rbp + 0x238], rax
mov rax, qword [rax]
test rax, rax
je 0x180003607
mov rcx, qword [rbp + 0x290]
call rax
mov rcx, qword [rbp + 0x290]
mov rax, qword [rbp + 0x238]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x180003627
mov r8, qword [rax + 0x10]
call fcn.18000ce60
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0x68]
call fcn.18000ce60
jmp 0x180003698
mov rcx, qword [rbp + 0x270]
mov rsi, qword [rbp + 0x278]
mov r12, qword [sym.imp.KERNEL32.dll_CloseHandle]
call r12
mov rcx, rsi
call r12
test rdi, rdi
je 0x18000366a
mov rcx, qword [rbp + 0x248]
call r12
cmp qword [rbp + 0x250], 0
je 0x180003681
mov rcx, qword [rbp + 0x258]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x260], 0
je 0x180003698
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r13
call fcn.180001110
mov rdx, qword [rbp + 0x70]
test rdx, rdx
je 0x1800036b8
mov rcx, qword [rbp + 0x78]
mov r8d, 1
call fcn.18000ce60
mov rdx, qword [rbp + 0x2a0]
test rdx, rdx
mov rcx, qword [rbp + 0x2a8]
je 0x1800036d6
mov r8d, 1
call fcn.18000ce60
mov rdx, qword [rbp]
test rdx, rdx
je 0x1800036ee
mov rcx, qword [rbp + 8]
mov r8d, 1
call fcn.18000ce60
mov rdx, qword [rbp + 0x90]
test rdx, rdx
je 0x180002015
mov rcx, qword [rbp + 0x98]
mov r8d, 1
jmp 0x180002010
mov rcx, rsi
add rcx, 0x120
mov rax, qword [rsi + 0x158]
test rax, rax
jle 0x18000376b
cmp qword [rsi + 0x160], 0
js 0x18000376b
add rax, 0xffffffffffffff00
mov qword [rsi + 0x158], rax
mov edx, 6
call fcn.180015970
jmp 0x180003773
mov rdx, r8
call fcn.18000aee0
mov qword [rsi + 0x110], 1
mov eax, dword [rsi + 0x10]
shl rax, 0x20
or rax, rbx
jmp 0x18000328c
mov rdx, r8
call fcn.18000aee0
mov qword [rsi + 0x110], 2
mov rax, qword [rsi + 0x10]
jmp 0x18000328c
mov byte [rbp + 0x2b7], 0
lea rcx, [rbp + 0x110]
call fcn.180007950
lea rax, [0x1800539cf]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0x91bebed2ca1ab70a
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov byte [rbp + 0x2b7], 0
call fcn.180004f70
mov ecx, 0x399d1449
xor ecx, dword [rax]
mov dword [rbp + 0x110], ecx
mov byte [rbp + 0x2b7], 0
lea rcx, [rbp + 0x240]
lea rdx, [rbp + 0x110]
mov r8d, 4
call fcn.18001f670
cmp qword [rbp + 0x240], rbx
jne 0x180003cb1
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x2a0], rax
mov rdi, qword [rbp + 0x250]
mov rsi, qword [rbp + 0x258]
lea rax, [0x180047cfa]
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rcx, qword [rbp + 0x150]
movabs rax, 0xc108d7d8cc9e6b46
mov qword [rbp + 0x150], rax
lea rax, [rbp + 0x150]
mov rdx, qword [rbp + 0x150]
mov qword [rbp + 0x2a8], rdi
call fcn.180004f40
movabs rcx, 0x5856097f82d12961
xor rcx, qword [rax]
movabs rdx, 0xaad79cbfb64d1da3
xor rdx, qword [rax + 8]
movzx eax, byte [rax + 0x10]
not al
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rdx
mov byte [rbp + 0x160], al
mov qword [rsp + 0x20], 0x11
lea rcx, [rbp - 0x58]
lea r9, [rbp + 0x150]
mov rdx, rdi
mov r8, rsi
call fcn.180025630
lea rcx, [rbp - 0x58]
call fcn.180033b80
mov r8d, 1
mov rcx, rax
xor r9d, r9d
call fcn.18001fd70
mov rsi, rax
mov rdx, qword [rbp - 0x58]
test rdx, rdx
je 0x180003907
mov rcx, qword [rbp - 0x50]
mov r8d, 1
call fcn.18000ce60
mov eax, esi
and eax, 3
cmp eax, 1
mov rcx, qword [rbp + 0x2a8]
jne 0x18000398a
mov rax, rsi
dec rax
mov qword [rbp + 0x290], rax
mov rax, qword [rsi - 1]
mov qword [rbp + 0x228], rax
mov rax, qword [rsi + 7]
mov qword [rbp + 0x230], rax
mov rax, qword [rax]
test rax, rax
je 0x18000394c
mov rcx, qword [rbp + 0x228]
call rax
mov rcx, qword [rbp + 0x228]
mov rax, qword [rbp + 0x230]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x18000396c
mov r8, qword [rax + 0x10]
call fcn.18000ce60
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0x290]
call fcn.18000ce60
mov rcx, qword [rbp + 0x2a8]
mov rdx, qword [rbp + 0x2a0]
test rdx, rdx
je 0x1800039a1
mov r8d, 1
call fcn.18000ce60
movaps xmm6, xmmword [rbp + 0x2c0]
add rsp, 0x358
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0x150], r12
lea rax, str.srcpersistence.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180057670]
lea r9, fcn.180001040
lea r8, [rbp + 0x150]
mov edx, 0x2b
call fcn.180055cc0
jmp 0x180003cfa
mov qword [rbp + 0x150], r12
lea rax, str.srcpersistence.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180057670]
lea r9, fcn.180001040
lea r8, [rbp + 0x150]
mov edx, 0x2b
call fcn.180055cc0
jmp 0x180003cfa
mov qword [rbp + 0x150], rdx
lea rax, str.srcpersistence.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180057670]
lea r9, fcn.180001040
lea r8, [rbp + 0x150]
mov edx, 0x2b
call fcn.180055cc0
jmp 0x180003cfa
mov ecx, 1
mov edx, listen
call fcn.180055840
jmp 0x180003cfa
mov ecx, 8
mov edx, 0x18
call fcn.180055860
jmp 0x180003cfa
xor edi, edi
mov rcx, rdi
mov rdx, rsi
call fcn.180055840
jmp 0x180003cfa
movdqu xmm0, xmmword [rbp + 0x240]
movups xmm1, xmmword [rbp + 0x250]
movaps xmmword [rbp + 0x160], xmm1
movdqa xmmword [rbp + 0x150], xmm0
lea rax, str.srcpersistence.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180057670]
lea r9, [0x1800576a0]
lea r8, [rbp + 0x150]
mov edx, 0x2b
call fcn.180055cc0
jmp 0x180003cfa
lea rax, [0x180057618]
mov qword [rsp + 0x20], rax
lea rcx, [0x180057590]
lea r9, [0x180057630]
lea r8, [rbp + 0x20]
mov edx, 0x37
call fcn.180055cc0
jmp 0x180003cfa
lea rcx, str.srcpersistence.rs
call fcn.1800558f0
jmp 0x180003cfa
xor edi, edi
mov rcx, rdi
mov rdx, rsi
call fcn.180055840
jmp 0x180003cfa
mov qword [rbp + 0x150], rsi
lea rax, str.srcpersistence.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180057670]
lea r9, fcn.180001040
lea r8, [rbp + 0x150]
mov edx, 0x2b
call fcn.180055cc0
jmp 0x180003cfa
xor edi, edi
mov byte [rbp + 0x28f], 1
mov rcx, rdi
mov rdx, rsi
call fcn.180055840
jmp 0x180003cfa
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x240], rax
lea rax, str.srcpersistence.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180057670]
lea r9, fcn.180001040
lea r8, [rbp + 0x240]
mov edx, 0x2b
call fcn.180055cc0
jmp 0x180003cfa
mov byte [rbp + 0x2b7], 1
mov ecx, 1
mov edx, 4
call fcn.180055840
jmp 0x180003cfa
mov byte [rbp + 0x2b7], 1
mov ecx, 1
mov edx, 6
call fcn.180055840
jmp 0x180003cfa
mov byte [rbp + 0x2b7], 1
mov ecx, 1
mov edx, listen
call fcn.180055840
jmp 0x180003cfa
mov byte [rbp + 0x2b7], 1
mov ecx, 1
mov edx, listen
call fcn.180055840
jmp 0x180003cfa
mov byte [rbp + 0x2b7], 1
mov ecx, 1
mov edx, listen
call fcn.180055840
jmp 0x180003cfa
mov byte [rbp + 0x2b7], 1
mov ecx, 1
mov edx, 0x11
call fcn.180055840
jmp 0x180003cfa
mov byte [rbp + 0x2b7], 1
mov ecx, 1
mov edx, listen
call fcn.180055840
jmp 0x180003cfa
mov byte [rbp + 0x2b7], 1
mov ecx, 1
mov edx, 9
call fcn.180055840
jmp 0x180003cfa
mov byte [rbp + 0x2b7], 1
mov ecx, 1
mov edx, 0x12
call fcn.180055840
jmp 0x180003cfa
movdqu xmm0, xmmword [rbp + 0x240]
movups xmm1, xmmword [rbp + 0x250]
movaps xmmword [rbp + 0x160], xmm1
movdqa xmmword [rbp + 0x150], xmm0
lea rax, str.srcpersistence.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x180057670]
lea r9, [0x1800576a0]
lea r8, [rbp + 0x150]
mov edx, 0x2b
call fcn.180055cc0
ud2