Function at 0x14006f1a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov word [rbp + 0x26], r8w
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rcx
mov eax, dword [0x1401065c8]
or eax, dword [0x1401065cc]
mov ecx, 0x668c8eaf
xor edx, edx
div ecx
add eax, 0x66719130
sub eax, 0xbe921c87
cmp eax, 0xe2b97cd3
jae 0x14006fbee
mov r11w, word [rbp + 0x26]
mov rdi, qword [rbp + 0x28]
mov rbx, qword [rbp + 0x30]
mov eax, dword [0x1401065d0]
mov ecx, dword [0x1401065d4]
xor eax, ecx
and eax, 0xff930992
mov ecx, eax
imul rcx, rcx, 0x7807533
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0x269bb38a
mov dword [rbp + 0x14], eax
mov eax, 0x10
mov qword [rbp], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp]
mov rsi, rsp
mov qword [rbp - 0x18], rsi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp]
mov r10, rsp
mov qword [rbp - 0x10], r10
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp]
mov r9, rsp
mov qword [rbp - 8], r9
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp]
mov r8, rsp
mov qword [rbp + 8], r8
call fcn.1400ec140
sub rsp, rax
mov eax, dword [rbp + 0x14]
mov rdx, rsp
mov qword [rbp + 0x18], rdx
mov qword [rcx], rbx
mov qword [rsi], rdi
mov word [r10], r11w
mov qword [r9], 0
mov qword [r8], 0
mov dword [rdx], 0
cmp qword [rcx], 0
setne cl
mov byte [rbp + 0x25], cl
cmp eax, 0x9a2dff51
je 0x14006f1ea
mov al, byte [rbp + 0x25]
test al, 1
jne 0x14006f2f8
jmp 0x14006f366
mov eax, dword [0x1401065d8]
sub eax, dword [0x1401065dc]
add eax, 0x3b2b3e32
add eax, 0xc9940b59
add eax, 0x1c9823e6
cmp eax, 0x9c305fed
je 0x14006fc89
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x1401065e0]
and eax, dword [0x1401065e4]
imul eax, eax, 0xf557954f
or eax, 0xa63cca6c
imul eax, eax, 0x221b8a91
mov rcx, qword [rcx]
cmp byte [rcx], 0
setne cl
mov byte [rbp - 0x29], cl
cmp eax, 0x555ee9f5
je 0x14006f31e
mov al, byte [rbp - 0x29]
test al, 1
jne 0x14006f3c9
jmp 0x14006f366
mov eax, dword [0x1401065e8]
xor edx, edx
div dword [0x1401065ec]
add eax, 0x8d445aaa
mov ecx, 0x5fbe21c9
xor edx, edx
div ecx
imul eax, eax, 0x42a8e8d6
cmp eax, 0x341e410a
jbe 0x14006fc8e
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x1401065f0]
sub eax, dword [0x1401065f4]
imul eax, eax, 0x932db864
add eax, 0xb352ec7
or eax, 0xebb1a971
mov dword [rcx], 2
cmp eax, 0x705ea9dc
jb 0x14006f393
jmp 0x14006fb89
mov eax, dword [0x1401065f8]
and eax, dword [0x1401065fc]
and eax, 0x2e175aac
imul eax, eax, 0x94729631
xor eax, 0xf737d8
cmp eax, 0x347206b5
jb 0x14006fc9d
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x140106600]
or eax, dword [0x140106604]
imul eax, eax, 0xfae09d6d
imul eax, eax, 0x4e5d598e
or eax, 0x743a1110
mov rcx, qword [rcx]
movsx ecx, byte [rcx]
cmp ecx, 0x5b
sete cl
mov byte [rbp - 0x2a], cl
cmp eax, 0x953e7bff
je 0x14006fc9d
mov al, byte [rbp - 0x2a]
test al, 1
jne 0x14006f43b
jmp 0x14006f45e
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
mov edx, 0x5d
sub rsp, 0x20
call sub.msvcrt.dll_strchr
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 8]
mov qword [rax], rcx
mov rax, qword [rbp + 8]
cmp qword [rax], 0
je 0x14006f47c
mov rax, qword [rbp + 8]
mov rax, qword [rax]
mov qword [rbp - 0x38], rax
jmp 0x14006f487
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x40], rax
mov eax, dword [0x140106608]
and eax, dword [0x14010660c]
and eax, 0xa7aa6738
sub eax, 0x268c201b
imul eax, eax, 0x1b1ac178
cmp eax, 0x8f226809
jb 0x14006fca2
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x140106610]
xor eax, dword [0x140106614]
mov r8d, 0x293c48a8
xor edx, edx
div r8d
mov r8d, 0x6dd0ebe4
xor edx, edx
div r8d
or eax, 0x80a17ae1
mov dword [rbp - 0x48], eax
mov edx, 0x3a
sub rsp, 0x20
call sub.msvcrt.dll_strchr
mov rdx, qword [rbp - 8]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x48]
mov qword [rdx], rcx
cmp rcx, 0
setne cl
mov byte [rbp - 0x41], cl
cmp eax, 0xea746883
jae 0x14006f4b6
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14006f528
jmp 0x14006f683
mov eax, dword [0x140106618]
or eax, dword [0x14010661c]
imul eax, eax, 0x42952694
or eax, 0x45bca86
sub eax, 0x74046b2f
cmp eax, 0xb865f5c9
je 0x14006fcc7
mov eax, dword [0x140106620]
imul eax, dword [0x140106624]
mov ecx, 0x27138ff8
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 8]
sub ecx, 0xc5b7d187
add ecx, 0x4d5e2c96
mov dword [rbp - 0x50], ecx
mov rcx, qword [rax]
add rcx, 1
mov edx, 0x3a
sub rsp, 0x20
call sub.msvcrt.dll_strchr
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x50]
cmp rcx, 0
setne cl
mov byte [rbp - 0x49], cl
cmp eax, 0xec7b1582
jae 0x14006f54f
mov al, byte [rbp - 0x49]
test al, 1
jne 0x14006f5be
jmp 0x14006f624
mov eax, dword [0x140106628]
add eax, dword [0x14010662c]
imul eax, eax, 0x1bb7d84c
mov ecx, 0xbfeb6840
xor edx, edx
div ecx
mov ecx, 0x74689138
xor edx, edx
div ecx
cmp eax, 0xf4543c0d
je 0x14006fce9
mov rcx, qword [rbp - 8]
mov eax, dword [0x140106630]
imul eax, dword [0x140106634]
or eax, 0x9492d52
xor eax, 0xe1d2951a
add eax, 0x34fceb5
mov qword [rcx], 0
cmp eax, 0xb34c28e1
jb 0x14006f5ed
jmp 0x14006f62e
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov byte [rax], 0
mov eax, dword [0x140106638]
or eax, dword [0x14010663c]
add eax, 0xbc5877f2
xor eax, 0x5e0f5c4
mov ecx, 0x1b1d0d4a
xor edx, edx
div ecx
cmp eax, 0x7f992237
je 0x14006fcf9
mov eax, dword [0x140106640]
or eax, dword [0x140106644]
sub eax, 0x8751a98
sub eax, 0xb568f116
xor eax, 0x77208a6f
cmp eax, 0x4948cbb2
jae 0x14006f658
jmp 0x14006f683
mov eax, dword [0x140106648]
xor eax, dword [0x14010664c]
and eax, 0x2a625717
or eax, 0xa0df39c9
mov ecx, 0xaf598325
xor edx, edx
div ecx
cmp eax, 0x64474b9f
jae 0x14006fcfe
mov rcx, qword [rbp + 8]
mov eax, dword [0x140106650]
or eax, dword [0x140106654]
sub eax, 0xb36fc619
xor eax, 0xc773e19e
sub eax, 0xa204229b
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x51], cl
cmp eax, 0x479ee984
jbe 0x14006f6ad
mov al, byte [rbp - 0x51]
test al, 1
jne 0x14006f6f1
jmp 0x14006f6fb
mov rax, qword [rbp + 8]
mov rax, qword [rax]
mov byte [rax], 0
mov eax, dword [0x140106658]
add eax, dword [0x14010665c]
or eax, 0xb7e5b283
add eax, 0x58bee1d
mov ecx, 0x8c1c81ad
xor edx, edx
div ecx
cmp eax, 0x2fd81783
ja 0x14006fd03
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x140106660]
sub eax, dword [0x140106664]
add eax, 0xefda6826
imul eax, eax, 0x6b649732
or eax, 0xecb85e23
mov rcx, qword [rcx]
mov rdx, qword [rdx]
cmp rcx, qword [rdx + 0x118]
setne cl
mov byte [rbp - 0x52], cl
cmp eax, 0xd5408ff0
jb 0x14006fd03
mov al, byte [rbp - 0x52]
test al, 1
jne 0x14006f777
jmp 0x14006f8b7
mov eax, dword [0x140106668]
imul eax, dword [0x14010666c]
imul eax, eax, 0x84a52cd6
mov ecx, 0x15024a7f
xor edx, edx
div ecx
sub eax, 0x9d61ad8c
cmp eax, 0xc847dda9
ja 0x14006fd08
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x140106670]
xor edx, edx
div dword [0x140106674]
mov r8d, 0x1a0fdcf3
xor edx, edx
div r8d
imul eax, eax, 0x6042e691
imul eax, eax, 0xd54fad45
mov rcx, qword [rcx]
cmp qword [rcx + 0x118], 0
setne cl
mov byte [rbp - 0x53], cl
cmp eax, 0xe0117f1b
je 0x14006f7a3
mov al, byte [rbp - 0x53]
test al, 1
jne 0x14006f7f8
jmp 0x14006f87d
mov eax, dword [0x140106678]
xor edx, edx
div dword [0x14010667c]
add eax, 0x4445ac60
mov ecx, 0x81cf539d
xor edx, edx
div ecx
mov ecx, 0x988d0739
xor edx, edx
div ecx
cmp eax, 0x3c89f1f7
jae 0x14006fd0d
mov eax, dword [0x140106680]
xor edx, edx
div dword [0x140106684]
and eax, 0xa576c18d
mov ecx, 0xab23b064
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x18]
or ecx, 0x7da47ac6
mov dword [rbp - 0x58], ecx
mov rax, qword [rax]
mov rcx, qword [rax + 0x118]
sub rsp, 0x20
call sub.msvcrt.dll_free
mov eax, dword [rbp - 0x58]
add rsp, 0x20
cmp eax, 0x100a43e8
jbe 0x14006f828
jmp 0x14006f87d
mov rax, qword [rbp + 8]
mov rcx, qword [rbp - 0x20]
mov rcx, qword [rcx]
cmp qword [rax], 0
setne al
and al, 1
movzx eax, al
cdqe
add rcx, rax
sub rsp, 0x20
call sub.msvcrt.dll__strdup
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov qword [rax + 0x118], rcx
mov rax, qword [rbp - 8]
cmp qword [rax], 0
je 0x14006f8e6
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
add rcx, 1
sub rsp, 0x20
call sub.msvcrt.dll_atoi
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x10]
mov word [rax], cx
mov eax, dword [0x140106688]
or eax, dword [0x14010668c]
and eax, 0xeaa17f9e
mov ecx, 0xa5c1f0e2
xor edx, edx
div ecx
mov ecx, 0xad052a08
xor edx, edx
div ecx
cmp eax, 0x4ffeb62d
jae 0x14006fd2d
mov eax, dword [0x140106690]
xor eax, dword [0x140106694]
mov ecx, 0x172efd5e
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x18]
imul ecx, ecx, 0x5065416a
or ecx, 0xaec81b10
mov dword [rbp - 0x60], ecx
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
mov ecx, dword [rcx + 0x11c]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x118]
mov r8, qword [rax]
add r8, 0x1c0
sub rsp, 0x20
call fcn.14006f150
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 0x60]
cmp r8d, 0
setne r8b
xor r8b, 0xff
and r8b, 1
movzx r8d, r8b
mov dword [rdx], r8d
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x59], cl
cmp eax, 0x5037cfc2
jbe 0x14006f914
mov al, byte [rbp - 0x59]
test al, 1
jne 0x14006f9b6
jmp 0x14006fa14
mov eax, dword [0x140106698]
or eax, dword [0x14010669c]
imul eax, eax, 0xab35039b
sub eax, 0x3b835682
imul eax, eax, 0xfae563b0
cmp eax, 0xbec9c247
ja 0x14006fd7b
mov rcx, qword [rbp + 8]
mov eax, dword [0x1401066a0]
xor eax, dword [0x1401066a4]
imul eax, eax, 0x39f6c916
or eax, 0xc4bb3a52
or eax, 0x7a78976
mov rcx, qword [rcx]
mov byte [rcx], 0x5d
cmp eax, 0xe37efde1
jbe 0x14006fd7b
jmp 0x14006fa14
mov eax, dword [0x1401066a8]
or eax, dword [0x1401066ac]
or eax, 0x68970847
add eax, 0x8d455046
or eax, 0x676ad1c1
cmp eax, 0xaa16f72d
je 0x14006fd8a
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401066b0]
and eax, dword [0x1401066b4]
add eax, 0x81570a3f
or eax, 0x66dd9cd5
sub eax, 0x3c7e9968
cmp qword [rcx], 0
setne cl
mov byte [rbp - 0x61], cl
cmp eax, 0x7c972eb1
jbe 0x14006fd8a
mov al, byte [rbp - 0x61]
test al, 1
jne 0x14006fa7e
jmp 0x14006fad9
mov eax, dword [0x1401066b8]
and eax, dword [0x1401066bc]
xor eax, 0xc359fc71
xor eax, 0x296d3124
xor eax, 0x8051e2bb
cmp eax, 0x41ee6227
je 0x14006fd8f
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401066c0]
sub eax, dword [0x1401066c4]
and eax, 0x5fa002e
add eax, 0x70810ef0
add eax, 0xa1d78694
mov rcx, qword [rcx]
mov byte [rcx], 0x3a
cmp eax, 0x3af0b8f7
je 0x14006fd8f
jmp 0x14006fad9
mov eax, dword [0x1401066c8]
or eax, dword [0x1401066cc]
imul eax, eax, 0x5941705a
add eax, 0xed11f34
add eax, 0x70729d74
cmp eax, 0xf86bf121
ja 0x14006fd9e
mov eax, dword [0x1401066d0]
and eax, dword [0x1401066d4]
imul eax, eax, 0x660a4e9b
and eax, 0x92bbaedc
mov ecx, 0x12dc324f
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x10]
mov dword [rbp - 0x68], ecx
mov cx, word [rax]
sub rsp, 0x20
call qword [sym.imp.WS2_32.dll_htons]
add rsp, 0x20
mov dx, ax
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov word [rcx + 0x1c2], dx
mov rcx, qword [rax]
add rcx, 0x1b0
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x28]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov edx, dword [rdx]
mov dword [rcx], edx
cmp eax, 0x401650cb
je 0x14006fd9e
jmp 0x14006fb89
mov eax, dword [0x1401066d8]
or eax, dword [0x1401066dc]
mov ecx, 0x8efa6ff6
xor edx, edx
div ecx
add eax, 0x996df86c
xor eax, 0xd53ff07
cmp eax, 0xab5970d8
jae 0x14006fdf4
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x1401066e0]
xor eax, dword [0x1401066e4]
add eax, 0x51652809
and eax, 0x1f30773d
or eax, 0xfd454a6d
mov ecx, dword [rcx]
mov dword [rbp - 0x6c], ecx
cmp eax, 0x3eb0b617
jbe 0x14006fbb3
mov eax, dword [rbp - 0x6c]
lea rsp, [rbp + 0x38]
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov r9w, word [rbp + 0x26]
mov r11, qword [rbp + 0x28]
mov rdi, qword [rbp + 0x30]
mov eax, 0x10
mov qword [rbp - 0x78], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rsi, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov r10, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov r8, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rdx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x78]
mov rcx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rsi], rdi
mov qword [r10], r11
mov word [r8], r9w
mov qword [rdx], 0
mov qword [rcx], 0
mov dword [rax], 0
jmp 0x14006f1ea
jmp 0x14006f31e
mov rax, qword [rbp - 0x28]
mov dword [rax], 2
jmp 0x14006f393
jmp 0x14006f3f0
mov rcx, qword [rbp - 0x40]
mov edx, 0x3a
sub rsp, 0x20
call sub.msvcrt.dll_strchr
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 8]
mov qword [rax], rcx
jmp 0x14006f4b6
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
add rcx, 1
mov edx, 0x3a
sub rsp, 0x20
call sub.msvcrt.dll_strchr
add rsp, 0x20
jmp 0x14006f54f
mov rax, qword [rbp - 8]
mov qword [rax], 0
jmp 0x14006f5ed
jmp 0x14006f658
jmp 0x14006f6ad
jmp 0x14006f725
jmp 0x14006f7a3
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x118]
sub rsp, 0x20
call sub.msvcrt.dll_free
add rsp, 0x20
jmp 0x14006f828
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
mov ecx, dword [rcx + 0x11c]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x118]
mov r8, qword [rax]
add r8, 0x1c0
sub rsp, 0x20
call fcn.14006f150
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x18]
cmp ecx, 0
setne cl
xor cl, 0xff
and cl, 1
movzx ecx, cl
mov dword [rax], ecx
jmp 0x14006f914
mov rax, qword [rbp + 8]
mov rax, qword [rax]
mov byte [rax], 0x5d
jmp 0x14006f9de
jmp 0x14006fa3a
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov byte [rax], 0x3a
jmp 0x14006faa4
mov rax, qword [rbp - 0x10]
mov cx, word [rax]
sub rsp, 0x20
call qword [sym.imp.WS2_32.dll_htons]
add rsp, 0x20
mov dx, ax
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov word [rcx + 0x1c2], dx
mov rcx, qword [rax]
add rcx, 0x1b0
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov ecx, dword [rcx]
mov dword [rax], ecx
jmp 0x14006fb00
jmp 0x14006fbb3