Function at 0x1800da790
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push r14
push r15
sub rsp, 0xc8
mov rax, qword [0x1801eab50]
xor rax, rsp
mov qword [rsp + 0x90], rax
xor edi, edi
mov qword [rsp + 0x60], r9
mov r15d, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x58], rdi
mov esi, r8d
mov qword [rdx], rdi
mov r14, rcx
mov qword [rsp + 0x50], rdx
call fcn.18014a870
test eax, eax
jne 0x1800db2fa
mov qword [rsp + 0xb0], r12
mov ecx, esi
and ecx, 7
mov qword [rsp + 0xa8], r13
mov r12d, 1
mov edx, r12d
shl edx, cl
test dl, 0x46
jne 0x1800da83a
lea rax, [0x1801afe14]
mov r13d, reloc.WS2_32.dll_setsockopt
mov ecx, r13d
mov qword [rsp + 0x20], rax
mov r9d, 0x21319
lea r8, str.misuse
lea rdx, str._s_at_line__d_of___.10s_
call fcn.18006eed0
mov eax, r13d
jmp 0x1800db2ea
cmp dword [0x1801e5924], edi
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xb8], rbp
jne 0x1800da856
mov ebp, edi
jmp 0x1800da86e
bt esi, 0xf
jae 0x1800da860
mov ebp, edi
jmp 0x1800da86e
mov ebp, dword [0x1801e5928]
bt esi, 0x10
cmovb ebp, r12d
bt esi, 0x12
jae 0x1800da87a
btr esi, 0x11
jmp 0x1800da886
cmp dword [0x1801e5a84], edi
je 0x1800da886
bts esi, 0x11
and esi, 0xfff600e7
mov ecx, 0x2b0
mov dword [rsp + 0x40], esi
call fcn.18011da50
mov rbx, rax
test rax, rax
je 0x1800db25b
xor edx, edx
mov r8d, 0x2b0
mov rcx, rax
call fcn.180162c50
test ebp, ebp
je 0x1800da8f8
cmp dword [0x1801e5924], edi
jne 0x1800da8d6
mov rcx, rbx
mov qword [rbx + 0x18], rdi
call fcn.180063ab0
mov rbp, rdi
jmp 0x1800db25e
mov ecx, r12d
call qword [0x1801e5998]
mov qword [rbx + 0x18], rax
test rax, rax
jne 0x1800da8f8
mov rcx, rbx
call fcn.180063ab0
mov rbp, rdi
jmp 0x1800db25e
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1800da907
call qword [0x1801e59a8]
mov dword [rbx + 0x48], 0xff
lea rax, [rbx + 0x228]
mov qword [rbx + 0x20], rax
lea rbp, [0x180079df0]
mov dword [rbx + 0x28], 2
lea rdx, [0x1801a459c]
mov dword [rbx + 0x60], 0xf03b7906
xor r9d, r9d
movups xmm0, xmmword [0x1801a4820]
mov qword [rsp + 0x28], rdi
movzx r8d, r12b
mov rcx, rbx
mov qword [rsp + 0x20], rbp
movups xmmword [rbx + 0x6c], xmm0
movups xmm1, xmmword [0x1801a4830]
movups xmmword [rbx + 0x7c], xmm1
movups xmm0, xmmword [0x1801a4840]
mov byte [rbx + 0x53], r12b
mov byte [rbx + 0x58], 0xff
movups xmmword [rbx + 0x8c], xmm0
mov dword [rbx + 0x98], edi
mov rax, qword [0x1801e5a50]
or dword [rbx + 0x2c], 0x900060
mov qword [rbx + 0x38], rax
mov dword [rbx + 0x5c], edi
mov dword [rbx + 0x9c], 0x7fffffff
mov qword [rbx + 0x200], rdi
mov qword [rbx + 0x1f8], rdi
mov qword [rbx + 0x208], rdi
mov qword [rbx + 0x1b8], rdi
mov qword [rbx + 0x1b0], rdi
mov qword [rbx + 0x1c0], rdi
call fcn.1800820d0
xor r9d, r9d
mov qword [rsp + 0x28], rdi
mov r8b, 3
mov qword [rsp + 0x20], rbp
lea rdx, [0x1801a459c]
mov rcx, rbx
call fcn.1800820d0
xor r9d, r9d
mov qword [rsp + 0x28], rdi
mov r8b, 2
mov qword [rsp + 0x20], rbp
lea rdx, [0x1801a459c]
mov rcx, rbx
call fcn.1800820d0
lea rax, [0x1800d9ac0]
mov qword [rsp + 0x28], rdi
xor r9d, r9d
mov qword [rsp + 0x20], rax
movzx r8d, r12b
lea rdx, str.NOCASE
mov rcx, rbx
call fcn.1800820d0
mov r9, r12
mov qword [rsp + 0x28], rdi
movzx r8d, r12b
mov qword [rsp + 0x20], rbp
lea rdx, str.RTRIM
mov rcx, rbx
call fcn.1800820d0
mov rbp, rbx
mov r13d, reloc.WS2_32.dll_setsockopt
cmp byte [rbx + 0x55], dil
jne 0x1800dac0b
lea r15, [0x180000000]
mov qword [rsp + 0x38], rbx
cmp qword [rbx + 0x208], rdi
je 0x1800daad5
lea rdx, [0x1801a459c]
mov r8d, edi
mov al, 0x42
nop dword [rax]
nop word [rax + rax]
movzx eax, al
lea rdx, [rdx + 1]
movzx ecx, byte [rax + r15 + 0x1a59b0]
lea eax, [r8*8]
xor ecx, eax
movzx eax, byte [rdx]
xor r8d, ecx
test al, al
jne 0x1800daa90
xor edx, edx
mov eax, r8d
div dword [rbx + 0x1f8]
mov ecx, edx
shl rcx, 4
add rcx, qword [rbx + 0x208]
mov r10, qword [rcx + 8]
mov r11d, dword [rcx]
jmp 0x1800daae3
mov r10, qword [rbx + 0x200]
mov r11d, dword [rbx + 0x1fc]
test r11d, r11d
je 0x1800dab43
nop dword [rax + rax]
mov r8, qword [r10 + 0x18]
dec r11d
movzx edx, byte [r8]
cmp byte [rdx + r15 + 0x1a59b0], 0x62
jne 0x1800dab3b
lea r9, [0x1801a459c]
sub r9, r8
test dl, dl
je 0x1800dac90
movzx eax, byte [r9 + r8 + 1]
inc r8
movzx ecx, byte [rax + r15 + 0x1a59b0]
movzx edx, byte [r8]
movzx eax, byte [rdx + r15 + 0x1a59b0]
cmp eax, ecx
je 0x1800dab10
mov r10, qword [r10]
test r11d, r11d
jne 0x1800daaf0
mov rax, rdi
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0x40]
mov qword [rbx + 0x10], rax
mov r9, rbx
lea rax, [rsp + 0x58]
mov dword [rbx + 0x40], esi
mov qword [rsp + 0x28], rax
mov rdx, r14
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.180120d60
test eax, eax
je 0x1800dacac
cmp eax, 7
jne 0x1800dab8b
mov rcx, rbx
call fcn.18011e250
mov rsi, qword [rsp + 0x58]
lea rcx, [0x1801c73e0]
test rsi, rsi
mov r8, rdi
mov r9, rsi
mov edx, eax
cmovne r8, rcx
mov rcx, rbx
call fcn.1800fb5c0
test rsi, rsi
je 0x1800dac06
cmp dword [0x1801e5920], edi
je 0x1800dac9e
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800dabd1
call qword [0x1801e59a8]
mov rcx, rsi
call qword [0x1801e5960]
dec qword [0x1801ee598]
mov rcx, rsi
movsxd rdx, eax
sub qword [0x1801ee550], rdx
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800dac06
call qword [0x1801e59b8]
mov r15, qword [rsp + 0x30]
lea rsi, [0x1801afe14]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1800dac21
call qword [0x1801e59b8]
mov eax, dword [rbx + 0x60]
cmp eax, 0x4b771290
je 0x1800db0da
cmp eax, 0xa029a697
je 0x1800db0da
cmp eax, 0xf03b7906
je 0x1800db0da
lea r8, str.invalid
mov ecx, r13d
lea rdx, str.API_call_with__s_database_connection_pointer
call fcn.18006eed0
mov r9d, 0x2111f
mov qword [rsp + 0x20], rsi
lea r8, str.misuse
mov ecx, r13d
lea rdx, str._s_at_line__d_of___.10s_
call fcn.18006eed0
mov rax, qword [rsp + 0x50]
mov dword [rbx + 0x60], 0x4b771290
mov qword [rax], rbx
jmp 0x1800db276
mov rax, qword [r10 + 0x10]
mov qword [rsp + 0x38], rbp
jmp 0x1800dab46
mov rcx, rsi
call qword [0x1801e5950]
jmp 0x1800dac06
mov eax, dword [rsp + 0x40]
mov r8, rbx
mov r9, qword [rbx + 0x20]
bts eax, 8
mov r15, qword [rsp + 0x30]
add r9, 8
mov rcx, qword [rbx]
mov rdx, r15
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.1800f2090
test eax, eax
je 0x1800dacfb
cmp eax, 0xc0a
jne 0x1800dace7
mov eax, 7
mov ecx, eax
mov dword [rbx + 0x44], eax
mov rcx, rbx
mov edx, eax
call fcn.1800fb360
jmp 0x1800dac0b
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x11], dil
je 0x1800dad17
inc dword [rcx + 0x14]
cmp byte [rcx + 0x12], dil
jne 0x1800dad17
call fcn.18007b390
mov rdx, qword [rbx + 0x20]
mov rcx, rbx
mov rdx, qword [rdx + 8]
call fcn.18012a7f0
mov rcx, rax
mov rax, qword [rbx + 0x20]
mov qword [rax + 0x18], rcx
mov rdx, qword [rbx + 0x20]
cmp byte [rbx + 0x55], dil
jne 0x1800dad47
mov rax, qword [rdx + 0x18]
movzx ecx, byte [rax + 0x71]
mov byte [rbx + 0x52], cl
mov rcx, qword [rdx + 8]
cmp byte [rcx + 0x11], dil
je 0x1800dad5c
sub dword [rcx + 0x14], r12d
jne 0x1800dad5c
call fcn.18014cdf0
xor edx, edx
mov rcx, rbx
call fcn.18012a7f0
mov rcx, rax
mov rax, qword [rbx + 0x20]
mov qword [rax + 0x38], rcx
lea rcx, str.main
mov rax, qword [rbx + 0x20]
mov qword [rax], rcx
lea rcx, str.temp
mov rax, qword [rbx + 0x20]
mov byte [rax + 0x10], 3
mov rax, qword [rbx + 0x20]
mov qword [rax + 0x20], rcx
mov rax, qword [rbx + 0x20]
mov byte [rax + 0x30], r12b
mov dword [rbx + 0x60], 0xa029a697
cmp byte [rbx + 0x55], dil
jne 0x1800dac0b
mov dword [rbx + 0x44], edi
cmp qword [rbx + 0x140], rdi
je 0x1800dadc5
xor edx, edx
mov rcx, rbx
call fcn.1800fb360
mov r8d, 2
lea rdx, str.MATCH
mov rcx, rbx
call fcn.18006bd00
cmp eax, 7
jne 0x1800dae04
cmp byte [rbx + 0x55], dil
jne 0x1800dae04
cmp byte [rbx + 0x56], dil
jne 0x1800dae04
mov byte [rbx + 0x55], r12b
cmp dword [rbx + 0xb4], edi
jle 0x1800dadfe
mov dword [rbx + 0x148], r12d
inc dword [rbx + 0x150]
mov edx, dword [rbx + 0x60]
cmp edx, 0x4b771290
je 0x1800dae69
cmp edx, 0xa029a697
je 0x1800dae69
cmp edx, 0xf03b7906
je 0x1800dae69
lea r8, str.invalid
mov ecx, r13d
lea rdx, str.API_call_with__s_database_connection_pointer
call fcn.18006eed0
lea rsi, [0x1801afe14]
mov r9d, 0x2111f
lea r8, str.misuse
mov qword [rsp + 0x20], rsi
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, r13d
call fcn.18006eed0
movzx ecx, byte [rbx + 0x55]
mov eax, r13d
jmp 0x1800db014
movzx ecx, byte [rbx + 0x55]
test cl, cl
jne 0x1800db064
mov eax, dword [rbx + 0x44]
and eax, dword [rbx + 0x48]
jne 0x1800db00d
cmp dword [0x1801eeb38], edi
je 0x1800daf94
mov r14d, edi
cmp dword [0x1801e5924], edi
jne 0x1800dae9d
mov rsi, rdi
jmp 0x1800daeb9
mov ecx, 2
call qword [0x1801e5998]
mov rsi, rax
test rax, rax
je 0x1800daeb9
mov rcx, rax
call qword [0x1801e59a8]
cmp r14d, dword [0x1801eeb38]
jb 0x1800daeca
mov rbp, rdi
mov r12d, edi
jmp 0x1800daed8
mov rax, qword [0x1801eeb40]
mov ecx, r14d
mov rbp, qword [rax + rcx*8]
test rsi, rsi
je 0x1800daee6
mov rcx, rsi
call qword [0x1801e59b8]
mov qword [rsp + 0x30], rdi
mov rsi, rdi
test rbp, rbp
je 0x1800daf26
lea r8, [0x1801a3090]
mov rcx, rbx
lea rdx, [rsp + 0x30]
call rbp
test eax, eax
je 0x1800daf21
mov r9, qword [rsp + 0x30]
lea r8, str.automatic_extension_loading_failed:__s
mov edx, eax
mov rcx, rbx
call fcn.1800fb5c0
mov r12d, edi
mov rsi, qword [rsp + 0x30]
test rsi, rsi
je 0x1800daf85
cmp dword [0x1801e5920], edi
je 0x1800daf7c
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800daf45
call qword [0x1801e59a8]
mov rcx, rsi
call qword [0x1801e5960]
dec qword [0x1801ee598]
mov rcx, rsi
movsxd rdx, eax
sub qword [0x1801ee550], rdx
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800daf85
call qword [0x1801e59b8]
jmp 0x1800daf85
mov rcx, rsi
call qword [0x1801e5950]
inc r14d
test r12d, r12d
jne 0x1800dae90
mov edx, dword [rbx + 0x60]
cmp edx, 0x4b771290
je 0x1800daff4
cmp edx, 0xa029a697
je 0x1800daff4
cmp edx, 0xf03b7906
je 0x1800daff4
lea r8, str.invalid
mov ecx, r13d
lea rdx, str.API_call_with__s_database_connection_pointer
call fcn.18006eed0
lea rsi, [0x1801afe14]
mov r9d, 0x2111f
lea r8, str.misuse
mov qword [rsp + 0x20], rsi
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, r13d
call fcn.18006eed0
mov rbp, qword [rsp + 0x38]
jmp 0x1800dac12
movzx ecx, byte [rbx + 0x55]
lea rsi, [0x1801afe14]
test cl, cl
jne 0x1800dafea
mov eax, dword [rbx + 0x44]
and eax, dword [rbx + 0x48]
jne 0x1800dafea
jmp 0x1800db014
lea rsi, [0x1801afe14]
test cl, cl
jne 0x1800db05e
test eax, eax
jne 0x1800db028
mov rcx, rbx
call fcn.180106070
movzx ecx, byte [rbx + 0x55]
test cl, cl
jne 0x1800db05e
test eax, eax
jne 0x1800db070
mov rcx, rbx
call fcn.1800ba960
movzx ecx, byte [rbx + 0x55]
test cl, cl
jne 0x1800db05e
test eax, eax
jne 0x1800db070
mov rcx, rbx
call fcn.180128cb0
cmp byte [rbx + 0x55], dil
jne 0x1800db05e
test eax, eax
jne 0x1800db070
mov rcx, rbx
call fcn.18011c030
test eax, eax
je 0x1800db07d
jmp 0x1800db070
mov eax, 7
lea rsi, [0x1801afe14]
mov edx, eax
mov dword [rbx + 0x44], eax
mov rcx, rbx
call fcn.1800fb360
mov r9d, dword [0x1801e5940]
xor edx, edx
mov r8d, dword [0x1801e593c]
mov rcx, rbx
call fcn.1800ea450
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1800db0a8
call qword [0x1801e59a8]
mov rcx, qword [rbx + 0x18]
mov qword [rbx + 0x120], 0x3e8
lea rax, [0x180144220]
mov qword [rbx + 0x118], rax
test rcx, rcx
je 0x1800dafea
call qword [0x1801e59b8]
mov rbp, qword [rsp + 0x38]
jmp 0x1800dac12
cmp byte [rbx + 0x55], dil
jne 0x1800db25e
mov r13d, dword [rbx + 0x44]
and r13d, dword [rbx + 0x48]
cmp r13d, 7
je 0x1800db264
test r13d, r13d
je 0x1800db10f
mov rax, qword [rsp + 0x50]
mov dword [rbx + 0x60], 0x4b771290
mov qword [rax], rbx
jmp 0x1800db276
mov rax, qword [rsp + 0x50]
mov qword [rax], rbx
test r15, r15
je 0x1800db2d6
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], dil
jne 0x1800db127
and eax, 0x3fffffff
lea rdx, [r15 + 1]
add rdx, rax
cmp byte [rdx], dil
je 0x1800db276
lea r9, str.hexkey
nop dword [rax]
mov rax, rdi
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
inc rax
cmp cl, byte [r9 + rax - 1]
jne 0x1800db178
cmp rax, 7
jne 0x1800db160
mov ecx, edi
jmp 0x1800db17d
sbb ecx, ecx
or ecx, 1
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], dil
jne 0x1800db184
and eax, 0x3fffffff
lea r8, [rax + 1]
add r8, rdx
test ecx, ecx
je 0x1800db1cf
test r8, r8
jne 0x1800db1a7
mov rax, rdi
jmp 0x1800db1be
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [r8 + rax], dil
jne 0x1800db1b0
and eax, 0x3fffffff
lea rdx, [rax + 1]
add rdx, r8
cmp byte [rdx], dil
jne 0x1800db150
jmp 0x1800db276
test r8, r8
je 0x1800db276
cmp byte [r8], dil
je 0x1800db276
xor r9b, r9b
lea r10, [0x180000000]
nop dword [rax + rax]
movzx edx, byte [r8]
test byte [rdx + r10 + 0x1a5ab0], 8
je 0x1800db240
movzx eax, dl
sar al, 6
and al, 1
movzx eax, al
imul ecx, eax, 7
movzx eax, r9b
shl al, 4
sub dl, cl
and dl, 0xf
lea r9d, [rax + rdx]
test dil, 1
je 0x1800db236
mov eax, edi
test edi, edi
jns 0x1800db22c
lea eax, [rdi + 1]
sar eax, 1
movsxd rcx, eax
mov byte [rsp + rcx + 0x68], r9b
inc edi
inc r8
cmp edi, 0x50
jb 0x1800db1f0
mov eax, edi
lea r8, [rsp + 0x68]
cdq
mov rcx, rbx
sub eax, edx
xor edx, edx
sar eax, 1
mov r9d, eax
call fcn.1800f4fa0
jmp 0x1800db276
mov rbp, rbx
mov r13d, 7
xor edx, edx
mov rcx, rbp
call fcn.1800f39f0
mov rax, qword [rsp + 0x50]
mov qword [rax], rdi
test r15, r15
je 0x1800db2d6
cmp dword [0x1801e5920], 0
je 0x1800db2cd
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800db296
call qword [0x1801e59a8]
mov rcx, r15
call qword [0x1801e5960]
dec qword [0x1801ee598]
mov rcx, r15
movsxd rdx, eax
sub qword [0x1801ee550], rdx
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800db2d6
call qword [0x1801e59b8]
jmp 0x1800db2d6
mov rcx, r15
call qword [0x1801e5950]
mov rbp, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
movzx eax, r13b
mov r12, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.18015fd80
add rsp, 0xc8
pop r15
pop r14
pop rdi
pop rsi
ret