Function at 0x180002fb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov r13, r8
mov r11, qword [rdx]
mov rdx, qword [r11 + 0x10]
cmp rdx, 0xfb
mov qword [rsp + 0x38], rdx
jb 0x180002fe8
cmp rdx, 0x10000
setb al
test al, 1
jne 0x180003018
jmp 0x180002ff2
mov r9, qword [r13]
add r9, 1
jmp 0x180003022
movabs rax, 0x100000000
cmp rdx, rax
setb al
mov r9, qword [r13]
test al, 1
jne 0x180003012
jmp 0x18000300c
add r9, 9
jmp 0x180003022
add r9, 5
jmp 0x180003022
mov r9, qword [r13]
add r9, 3
jmp 0x180003022
mov rbp, qword [r11 + 0x28]
mov edi, 1
cmp rbp, 0xfb
jb 0x18000306b
cmp rbp, 0x10000
setb al
mov edi, 3
test al, 1
jne 0x18000306b
jmp 0x180003049
movabs rax, 0x100000000
cmp rbp, rax
setb al
mov edi, 9
mov edx, 5
test al, 1
cmovne rdi, rdx
jmp 0x18000306b
mov rbx, qword [r11 + 0x40]
mov r14d, 1
cmp rbx, 0xfb
jb 0x180003112
cmp rbx, 0x10000
setb al
mov r14d, 3
test al, 1
jne 0x180003112
jmp 0x180003098
movabs rax, 0x100000000
cmp rbx, rax
setb r8b
mov eax, dword [0x180506220]
add eax, dword [str._K]
or eax, 0xf4d8cb9
imul eax, eax, 0x36588882
add eax, 0xd9c48630
cmp eax, 0x4c499917
jb 0x180003487
jmp 0x1800030d2
mov eax, dword [0x180506228]
or eax, dword [0x18050622c]
sub eax, 0xa79032d
imul eax, eax, 0x673b56af
mov r10d, 0xa593b35d
xor edx, edx
div r10d
mov r14d, 9
mov edx, 5
test r8b, 1
cmovne r14, rdx
cmp eax, 0x5e43dbe9
je 0x1800030d2
jmp 0x180003110
jmp 0x180003112
mov r10, qword [r11 + 0x58]
mov r15d, 2
cmp r10, 0xfb
jb 0x18000315e
cmp r10, 0x10000
setb al
mov r15d, 4
test al, 1
jne 0x18000315e
jmp 0x18000313b
movabs rax, 0x100000000
cmp r10, rax
setb al
mov r15d, 0xa
mov edx, 6
test al, 1
cmovne r15, rdx
jmp 0x18000315e
mov r12, qword [r11 + 0x70]
mov r8d, 1
cmp r12, 0xfb
jb 0x180003206
cmp r12, 0x10000
setb al
mov r8d, 3
test al, 1
jne 0x180003206
jmp 0x18000318b
mov eax, dword [0x180506230]
imul eax, dword [0x180506234]
add eax, 0xb88ec0e7
imul eax, eax, 0x9b3ef980
imul eax, eax, 0x2484f434
cmp eax, 0x36aa50cd
jae 0x180003498
jmp 0x1800031b6
mov eax, dword [0x180506238]
imul eax, dword [0x18050623c]
imul eax, eax, 0xcc81be36
xor eax, 0x5545b98d
mov r8d, 0xd912d15a
xor edx, edx
div r8d
movabs rdx, 0x100000000
cmp r12, rdx
setb dl
cmp eax, 0x937f87f6
jae 0x1800031b6
jmp 0x1800031f2
mov r8d, 9
mov eax, 5
test dl, 1
cmovne r8, rax
jmp 0x180003206
mov qword [rsp + 8], r8
mov qword [rsp + 0x20], r10
mov r8, qword [r11 + 0x88]
mov r10d, 1
cmp r8, 0xfb
jb 0x18000325f
cmp r8, 0x10000
setb al
mov r10d, 3
test al, 1
jne 0x18000325f
jmp 0x18000323c
movabs rax, 0x100000000
cmp r8, rax
setb al
mov r10d, 9
mov edx, 5
test al, 1
cmovne r10, rdx
jmp 0x18000325f
mov qword [rsp + 0x18], r15
mov qword [rsp + 0x30], rdi
mov eax, dword [0x180506240]
xor eax, dword [0x180506244]
sub eax, 0x232d5459
sub eax, 0x7108c466
or eax, 0xb1f46f2c
cmp eax, 0x8482001a
je 0x1800034a5
mov edx, dword [0x180506248]
add edx, dword [0x18050624c]
sub edx, 0x9cd5c282
or edx, 0xd7323407
add edx, 0x458ebc02
mov r15, qword [r11 + 0xa0]
cmp r15, 0xfb
setb al
cmp edx, 0x89e27b4e
je 0x1800034a5
mov qword [rsp + 0x10], r12
mov edi, 2
test al, 1
jne 0x180003311
jmp 0x1800032da
cmp r15, 0x10000
setb al
mov edi, 4
test al, 1
jne 0x180003311
jmp 0x1800032ef
movabs rax, 0x100000000
cmp r15, rax
setb al
mov edi, 0xa
mov edx, 6
test al, 1
cmovne rdi, rdx
jmp 0x180003311
mov rsi, qword [r11 + 0xb8]
mov edx, 1
cmp rsi, 0xfb
jb 0x1800033c9
cmp rsi, 0x10000
setb al
mov edx, 3
test al, 1
jne 0x1800033c9
jmp 0x180003343
mov qword [rsp + 0x28], rbx
mov qword [rsp], rcx
movabs rax, 0x100000000
cmp rsi, rax
setb bl
mov eax, dword [0x180506250]
and eax, dword [0x180506254]
sub eax, 0xe804a89a
xor eax, 0x35a5747b
sub eax, 0xc6205337
cmp eax, 0x61fec9f9
je 0x1800034b2
mov eax, dword [0x180506258]
xor edx, edx
div dword [0x18050625c]
add eax, 0x6c173ad9
sub eax, 0x8160ce4e
add eax, 0x960f4451
mov edx, 9
mov r12d, 5
test bl, 1
cmovne rdx, r12
cmp eax, 0x91e1df2e
je 0x1800034b2
jmp 0x1800033be
mov rcx, qword [rsp]
mov rbx, qword [rsp + 0x28]
jmp 0x1800033c9
mov rax, qword [r11 + 0xd0]
mov r11d, 1
cmp rax, 0xfb
jb 0x180003429
mov r12, rbx
cmp rax, 0x10000
setb bl
mov r11d, 3
test bl, 1
mov rbx, r12
jne 0x180003429
jmp 0x1800033fa
mov qword [rsp], rcx
movabs r11, 0x100000000
cmp rax, r11
setb bl
mov r11d, 9
mov ecx, 5
test bl, 1
cmovne r11, rcx
mov rcx, qword [rsp]
mov rbx, r12
jmp 0x180003429
add r9, qword [rsp + 0x38]
add r9, qword [rsp + 0x30]
add r9, rbp
add r9, r14
add r9, rbx
add r9, qword [rsp + 0x18]
add r9, qword [rsp + 0x20]
add r9, qword [rsp + 8]
add r9, qword [rsp + 0x10]
add r9, r10
add r9, r8
add r9, rdi
add r9, r15
add r9, rdx
add r9, rsi
add r9, r11
add r9, rax
mov qword [r13], r9
mov rax, rcx
mov qword [rax], 8
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
in al, dx
jg 0x1800034fc
mov ch, 0xa5
invalid
sub edi, edi
cmp byte ds:[rbp - 0x7b], bh
xlatb
in al, dx
jmp 0x1800031b4
fld xword [rcx + 6]
xor eax, 0x414d3083
jmp 0x18000328f
invalid
mov bl, byte [r15d]
jg 0x1800034ae
invalid
mov eax, 0x30
call fcn.18045a590
sub rsp, rax
mov r12, rsp
mov eax, 0x10
call fcn.18045a590
sub rsp, rax
mov qword [rbp - 8], rsp
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov r13, rsp
mov eax, 0x10
call fcn.18045a590
sub rsp, rax
mov r15, rsp
lea rax, [0x180476800]
add rax, 0xffffffffffffab58
add rax, 0xa
mov qword [rcx], rax
mov rcx, qword [rcx]
movabs rax, 0xebd081ceeb577af
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x20]
mov rdx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.1801c76a0
add rsp, 0x20
mov r14, qword [rax]
mov ebx, dword [rax + 8]
mov si, word [rax + 0xc]
mov al, byte [0x1805297c8]
sub rsp, 0x20
mov ecx, 0xe
mov edx, 1
call fcn.1802cbf10
add rsp, 0x20
cmp rax, 0
jne 0x1800035bd
sub rsp, 0x20
mov ecx, 1
mov edx, 0xe
call fcn.180407090
add rsp, 0x20
ud2
mov qword [rbp - 0x18], r15
mov cx, si
shr cx, 8
xor cl, 0x6a
xor sil, 0x50
movabs rdx, 0x805b955cd3e88fd5
xor r14, rdx
xor ebx, 0xacfde8a4
mov qword [rax], r14
mov dword [rax + 8], ebx
mov byte [rax + 0xc], sil
mov rdx, rax
add rdx, 0xd
mov byte [rdx], cl
mov qword [r13], 0xe
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 0xe
sub rsp, 0x20
mov rcx, r13
call fcn.18029d640
add rsp, 0x20
cmp rax, 0
jne 0x180003648
mov rax, qword [rbp - 0x18]
mov qword [rax], rdx
sub rsp, 0x20
mov rcx, r12
mov rdx, rax
call fcn.180429530
add rsp, 0x20
cmp word [r12 + 8], 2
je 0x1800036db
jmp 0x18000364c
ud2
mov rax, qword [r12]
mov rcx, qword [rbp - 8]
mov qword [rcx], rax
mov eax, dword [0x180506260]
xor eax, dword [0x180506264]
or eax, 0x38101157
sub eax, 0x18788b37
xor eax, 0x22116f31
cmp eax, 0x68af1310
je 0x180003942
mov eax, dword [0x180506268]
or eax, dword [0x18050626c]
mov ecx, 0x91009b1c
xor edx, edx
div ecx
imul esi, eax, 0x56d2a03b
add esi, 0xb105f925
mov al, byte [0x1805297c8]
sub rsp, 0x20
mov ecx, 1
mov edx, 1
call fcn.1802cbf10
add rsp, 0x20
mov r12, rax
cmp r12, 0
sete al
cmp esi, 0x539ef2ba
ja 0x180003942
test al, 1
jne 0x180003855
jmp 0x1800036df
ud2
mov eax, dword [0x180506270]
imul eax, dword [0x180506274]
sub eax, 0xbcbc9511
sub eax, 0xe1eb63b1
imul eax, eax, 0x48d50cb7
cmp eax, 0xeac02411
mov r13, qword [rbp - 0x10]
ja 0x180003970
mov esi, dword [0x180506278]
xor esi, dword [0x18050627c]
or esi, 0x6fc3bb26
and esi, 0x53357f5f
xor esi, 0xf7849942
mov al, byte [rbp + 7]
mov byte [r12], al
mov qword [rdi], 1
mov r15, rdi
add r15, 8
mov qword [rdi + 8], r12
mov r14, rdi
add r14, 0x10
mov qword [rdi + 0x10], 1
mov r13, qword [r13 + 0x10]
mov qword [rbp - 0x28], r13
bswap r13
sub rsp, 0x30
mov rcx, rdi
mov edx, 1
mov r8d, 8
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.180268a00
add rsp, 0x30
mov rbx, qword [rdi + 0x10]
mov r8, qword [rdi + 8]
mov qword [r8 + rbx], r13
mov r13, qword [rbp - 0x10]
add rbx, 8
mov qword [rdi + 0x10], rbx
mov rax, r13
add rax, 8
cmp esi, 0x8988259b
jb 0x180003970
mov r12, rdi
mov rdi, r15
mov r15, qword [rbp - 0x28]
mov rsi, r13
jmp 0x1800037c0
mov rdx, qword [rax]
mov r13, r14
mov rcx, r12
mov rax, qword [rcx]
sub rax, rbx
cmp rax, r15
jb 0x1800037dd
mov r14, qword [rbp - 8]
mov rdi, rcx
jmp 0x180003815
mov r14, rdx
sub rsp, 0x30
mov rdx, rbx
mov r8, r15
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.180268a00
add rsp, 0x30
mov rbx, qword [r13]
mov r8, qword [rdi]
mov rdx, r14
mov r14, qword [rbp - 8]
mov rdi, r12
jmp 0x180003815
mov rcx, r8
add rcx, rbx
sub rsp, 0x20
mov r12, r8
mov r13, rdx
mov r8, r15
call fcn.180468b10
add rsp, 0x20
add rbx, r15
sub rsp, 0x20
mov rcx, r14
mov rdx, r12
mov r8, rbx
call fcn.1802935e0
add rsp, 0x20
cmp rax, 0
je 0x18000386e
jmp 0x18000393e
sub rsp, 0x20
mov ecx, 1
mov edx, 1
call fcn.180407090
add rsp, 0x20
ud2
mov rdx, qword [rdi]
cmp rdx, 0
je 0x18000388f
sub rsp, 0x20
mov rcx, r12
mov r8d, 1
call fcn.1802cbf20
add rsp, 0x20
jmp 0x18000388f
mov rcx, qword [r14]
sub rsp, 0x20
call qword [sym.imp.ws2_32.dll_closesocket]
add rsp, 0x20
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
sub rsp, 0x20
call qword [sym.imp.ws2_32.dll_closesocket]
add rsp, 0x20
mov eax, dword [0x180506280]
or eax, dword [0x180506284]
xor eax, 0xcafb807c
and eax, 0x6f983ff6
imul eax, eax, 0x22c9eff7
cmp eax, 0xd06643ca
jae 0x1800039dc
jmp 0x1800038de
mov eax, dword [0x180506288]
xor edx, edx
div dword [0x18050628c]
or eax, 0x85f42769
or eax, 0xb53296f5
xor eax, 0x30caec88
mov rdx, qword [rsi]
cmp rdx, 0
sete r8b
cmp eax, 0x6dacb1f2
jbe 0x1800038de
test r8b, 1
jne 0x18000392d
jmp 0x180003915
sub rsp, 0x20
mov rcx, r13
mov r8d, 1
call fcn.1802cbf20
add rsp, 0x20
jmp 0x18000392d
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
movsb byte [rdi], byte [rsi]
or byte [rsi - 0x13], bl
mov ah, byte [rdi + 0x64f95c47]
loope 0x1800038f6
mov al, byte [0x1805297c8]
sub rsp, 0x20
mov ecx, 1
mov edx, 1
call fcn.1802cbf10
add rsp, 0x20
jmp 0x18000367d
and byte [rdi + 0x4462677a], dh
mov ebp, 0x7458a66
mov byte [r12], al
mov qword [rdi], 1
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], 1
mov rsi, qword [r13 + 0x10]
bswap rsi
sub rsp, 0x30
mov rcx, rdi
mov edx, 1
mov r8d, 8
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.180268a00
add rsp, 0x30
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov qword [rcx + rax], rsi
or byte [rax - 0x77], cl
xor al, 1
add rax, 8
mov qword [rdi + 0x10], rax
jmp 0x18000370b
cld
lock sub byte [rax], dh
xchg ebp, eax
jb 0x1800039ca
pop rcx
and eax, 0xe9ed02aa
out dx, eax
invalid