Function at 0x18043bba0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rsi, rcx
lea rcx, [rsp + 0x58]
mov rdx, rsi
call fcn.180679a10
mov rbx, qword [rsp + 0x58]
cmp rbx, 0
sete cl
lea r9, [rsp + 0x58]
add r9, 8
mov eax, dword [0x18079f080]
imul eax, dword [0x18079f084]
and eax, 0x8f4f05d8
or eax, 0x2040c6bb
imul eax, eax, 0xa1685e30
cmp eax, 0xbd576dd7
jae 0x18043c90c
jmp 0x18043bc02
mov eax, dword [0x18079f088]
add eax, dword [0x18079f08c]
xor eax, 0x52a8e77d
mov r8d, 0xf5fe1ebd
xor edx, edx
div r8d
xor eax, 0xf39cd8cc
mov r8, qword [r9]
cmp eax, 0x6210ea6e
jb 0x18043bc02
test cl, 1
jne 0x18043bd1d
jmp 0x18043bc38
mov r10, qword [rsp + 0x68]
lea rcx, [rsp + 0x58]
add rcx, 0x18
mov eax, dword [0x18079f090]
xor eax, dword [0x18079f094]
mov r9d, 0xce765a9f
xor edx, edx
div r9d
or eax, 0xa3f4a024
mov r9d, 0xf6e74b59
xor edx, edx
div r9d
cmp eax, 0xd57e650a
ja 0x18043c919
jmp 0x18043bc7a
mov eax, dword [0x18079f098]
and eax, dword [0x18079f09c]
and eax, 0xaba2a120
add eax, 0xb5f7d82e
sub eax, 0xadedce21
mov r12, qword [rcx]
cmp eax, 0x59eb2fc8
jb 0x18043bc7a
jmp 0x18043bca1
mov eax, dword [0x18079f0a0]
sub eax, dword [0x18079f0a4]
xor eax, 0x131c2bfa
mov ecx, 0xf16d7c1d
xor edx, edx
div ecx
add eax, 0xc91f5ce
cmp eax, 0xd4490c52
je 0x18043c92a
jmp 0x18043bccd
mov eax, dword [0x18079f0a8]
and eax, dword [0x18079f0ac]
add eax, 0xba1bbe40
mov ecx, 0x7a0f9108
xor edx, edx
div ecx
mov ecx, 0x2ecd07a7
xor edx, edx
div ecx
cmp r8, r12
sete cl
cmp eax, 0x7dfce672
je 0x18043bccd
xor edi, edi
test cl, 1
jne 0x18043bdda
jmp 0x18043bd0a
mov qword [rsp + 0x48], r10
lea r15, [rsp + 0x78]
add r15, 2
xor r9d, r9d
jmp 0x18043bd35
mov ecx, 1
mov rdx, r8
call fcn.18067a780
mov rbx, rax
mov rdi, rdx
jmp 0x18043c82f
mov eax, dword [str.n_vq_]
sub eax, dword [0x18079f0b4]
imul eax, eax, 0x5260a8ba
sub eax, 0xc54988df
mov ecx, 0xdf89f940
xor edx, edx
div ecx
cmp eax, 0xc25d407b
je 0x18043c93b
mov ecx, dword [0x18079f0b8]
xor ecx, dword [0x18079f0bc]
and ecx, 0x94708bda
sub ecx, 0x90281006
xor ecx, 0x34c8eb28
mov r13, r8
add r13, 0x20
mov r14w, word [r8]
mov rax, qword [r8 + 2]
mov qword [rsp + 0x22], rax
mov rax, qword [r8 + 0xa]
mov qword [rsp + 0x2a], rax
mov rax, qword [r8 + 0x12]
mov qword [rsp + 0x32], rax
mov eax, dword [r8 + 0x1a]
mov dword [rsp + 0x3a], eax
mov ax, word [r8 + 0x1e]
mov word [rsp + 0x3e], ax
cmp r14w, 2
sete al
cmp ecx, 0x703ded2e
jb 0x18043c93b
test al, 1
je 0x18043bf0d
mov rdi, r9
mov r10, qword [rsp + 0x48]
cmp r10, 0
je 0x18043bea4
mov eax, dword [0x18079f0c0]
xor eax, dword [str.__Vw]
imul eax, eax, 0xd1329afc
sub eax, 0xab04342c
add eax, 0xb20fefaf
cmp eax, 0xbcd54465
ja 0x18043c979
mov eax, dword [0x18079f0c8]
add eax, dword [0x18079f0cc]
or eax, 0x2a9ac295
sub eax, 0x2a6c55d8
and eax, 0x2ad1851b
mov r15, r10
shl r15, 5
cmp eax, 0xbf37bd61
jae 0x18043c979
jmp 0x18043be3a
mov eax, dword [0x18079f0d0]
and eax, dword [0x18079f0d4]
and eax, 0x9ac21de0
imul eax, eax, 0xc0d22796
or eax, 0x8231ab40
cmp eax, 0xa07f01bf
jbe 0x18043c98a
mov eax, dword [0x18079f0d8]
imul eax, dword [0x18079f0dc]
sub eax, 0x7669c55e
xor eax, 0xa793abb3
mov ecx, 0x17f0d4ce
xor edx, edx
div ecx
mov ebp, eax
mov rcx, rbx
mov rdx, r15
mov r8d, 4
call fcn.1804cafa0
cmp ebp, 0xdb275159
jae 0x18043c98a
jmp 0x18043bea2
jmp 0x18043bea4
cmp rdi, 0
sete al
lea rcx, [0x1806c87a8]
test al, 1
cmovne rdi, rcx
mov eax, dword [0x18079f0e0]
sub eax, dword [0x18079f0e4]
imul eax, eax, 0x9d119a79
add eax, 0xadbae762
xor eax, 0x723de563
cmp eax, 0xd66fb901
ja 0x18043c9ac
jmp 0x18043bee1
mov eax, dword [0x18079f0e8]
add eax, dword [0x18079f0ec]
add eax, 0xc4c50749
or eax, 0x90352a0f
xor eax, 0xa7105091
cmp eax, 0x813c5e9c
je 0x18043bee1
mov ebx, 1
jmp 0x18043c82f
mov qword [rsp + 0x40], r9
mov eax, dword [0x18079f0f0]
or eax, dword [0x18079f0f4]
and eax, 0xf70e0d90
xor eax, 0x2f59db5a
imul eax, eax, 0x66c39e55
cmp eax, 0xcec144e9
je 0x18043c9bd
jmp 0x18043bf3b
mov eax, dword [0x18079f0f8]
xor edx, edx
div dword [str.ya]
mov ecx, 0x4188904b
xor edx, edx
div ecx
mov ebp, eax
and ebp, 0x69d011a4
or ebp, 0x7b814f92
mov word [rsp + 0x78], r14w
mov rax, qword [rsp + 0x22]
mov qword [r15], rax
mov rax, qword [rsp + 0x2a]
mov qword [r15 + 8], rax
mov rax, qword [rsp + 0x32]
mov qword [r15 + 0x10], rax
mov eax, dword [rsp + 0x3a]
mov dword [r15 + 0x18], eax
mov ax, word [rsp + 0x3e]
mov word [r15 + 0x1c], ax
lea rdx, [rsp + 0x78]
xor ecx, ecx
call fcn.18067a780
mov rdi, rdx
cmp ebp, 0x30121c35
je 0x18043bf3b
jmp 0x18043bfab
mov ecx, dword [0x18079f100]
add ecx, dword [0x18079f104]
sub ecx, 0x1f901f7d
or ecx, 0x5ed5c7f8
or ecx, 0x8c70a0b9
cmp ecx, 0xade168a3
mov r8, qword [rsp + 0x40]
jb 0x18043ca08
mov edx, dword [0x18079f108]
or edx, dword [0x18079f10c]
add edx, 0x89c6148b
sub edx, 0xe7031e97
add edx, 0x783fe982
cmp rax, 0
sete cl
cmp edx, 0x36623321
jbe 0x18043ca08
test cl, 1
jne 0x18043c015
jmp 0x18043c4e7
mov eax, dword [0x18079f110]
sub eax, dword [0x18079f114]
sub eax, 0x79bb7323
sub eax, 0x46e1c200
mov ecx, 0x55d42338
xor edx, edx
div ecx
cmp eax, 0xba8f95fc
mov r14, qword [rsp + 0x48]
je 0x18043ca15
mov eax, dword [0x18079f118]
and eax, dword [0x18079f11c]
mov ecx, 0x3ac437e7
xor edx, edx
div ecx
or eax, 0x447ebdbb
or eax, 0x2d8e0ff1
cmp r14, 0
sete cl
cmp eax, 0x6ba6da32
je 0x18043ca15
jmp 0x18043c077
test cl, 1
jne 0x18043c14c
jmp 0x18043c082
shl r14, 5
mov eax, dword [0x18079f120]
add byte ss:[rbx], ah
add eax, 0x363092
xor eax, 0x9577c03a
mov ecx, 0xa182ba72
xor edx, edx
div ecx
mov ecx, 0x452185dd
xor edx, edx
div ecx
cmp eax, 0xedcd42cb
int 0xed
jae 0x18043ca22
mov eax, dword [0x18079f128]
or eax, dword [0x18079f12c]
mov ecx, 0xf134f698
xor edx, edx
div ecx
mov ebp, eax
xor ebp, 0x2ee086c2
and ebp, 0xa946da2e
mov rcx, rbx
mov rdx, r14
mov r8d, 4
call fcn.1804cafa0
cmp ebp, 0x9a391fab
ja 0x18043ca22
jmp 0x18043c0f6
mov eax, dword [0x18079f130]
imul eax, dword [0x18079f134]
sub eax, 0x41ad688b
add eax, 0x355314fa
imul eax, eax, 0x423f3733
cmp eax, 0x73cecc49
mov r8, qword [rsp + 0x40]
jae 0x18043ca40
mov eax, dword [0x18079f138]
and eax, dword [0x18079f13c]
add eax, 0xc92816d5
or eax, 0xaef6d58e
imul eax, eax, 0x396ee70f
cmp eax, 0x75e0b756
je 0x18043ca40
jmp 0x18043c14c
cmp r8, 0
sete al
xor ebx, ebx
test al, 1
je 0x18043c15e
jmp 0x18043c82f
mov eax, dword [0x18079f140]
xor edx, edx
div dword [0x18079f144]
and eax, 0x87535bf
or eax, 0xb0f24698
sub eax, 0x3b97b6e4
cmp eax, 0x9c2d330d
ja 0x18043ca51
jmp 0x18043c188
mov eax, dword [0x18079f148]
xor edx, edx
div dword [0x18079f14c]
mov ecx, 0x4ac9aafc
xor edx, edx
div ecx
xor eax, 0x33c90a55
xor eax, 0xb98f9b0e
cmp eax, 0x8a09f502
je 0x18043c188
jmp 0x18043c1b2
mov rax, r8
and rax, 3
mov ecx, dword [0x18079f150]
add ecx, dword [0x18079f154]
sub ecx, 0x50e0e66b
xor ecx, 0xefbad0b3
imul ecx, ecx, 0x590eb32b
cmp ecx, 0x64b8ba50
jbe 0x18043ca62
jmp 0x18043c1e5
mov ecx, dword [0x18079f158]
sub ecx, dword [0x18079f15c]
xor ecx, 0x70526ab6
and ecx, 0xfe259891
or ecx, 0x6fab3f97
cmp ecx, 0xa457d730
je 0x18043c1e5
xor ebx, ebx
lea rcx, [0x1806c8be0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x18079f1d0]
xor eax, dword [0x18079f1d4]
imul eax, eax, 0xbeb540
add eax, 0xd873a1d0
or eax, 0x9806a50a
cmp eax, 0xac93ec89
je 0x18043cae8
jmp 0x18043c510
mov eax, dword [0x18079f1d8]
xor eax, dword [0x18079f1dc]
imul ecx, eax, 0x179dd02d
add ecx, 0x99c87d6
add ecx, 0x2291bcce
cmp r8, 0
sete al
cmp ecx, 0x3c5db21b
jbe 0x18043c510
jmp 0x18043c53f
mov ecx, dword [0x18079f1e0]
add ecx, dword [0x18079f1e4]
and ecx, 0x9319f04e
imul ecx, ecx, 0xafae68e
xor ecx, 0x3bbb2694
cmp ecx, 0x75e9ba79
je 0x18043caf5
jmp 0x18043c56b
mov ecx, dword [0x18079f1e8]
and ecx, dword [0x18079f1ec]
and ecx, 0xc29b8c5e
imul ecx, ecx, 0xcfe5f8f3
or ecx, 0x7b8c889
invalid
cmp ecx, 0xa3aa52ea
jb 0x18043c56b
test al, 1
jne 0x18043c76f
invalid
jmp 0x18043c59b
mov eax, dword [0x18079f1f0]
xor edx, edx
div dword [0x18079f1f4]
invalid
xor eax, 0x477a3541
mov ecx, 0x13d947d8
xor edx, edx
div ecx
imul eax, eax, 0xf0c1561b
cmp eax, 0x7f5c13fe
jb 0x18043cb02
mov eax, dword [0x18079f1f8]
xor edx, edx
div dword [0x18079f1fc]
add eax, 0xad1a6c61
sub eax, 0x8e70d2de
add eax, 0x4ef02312
cmp eax, 0x8449c7f4
invalid
test byte [r15], cl
adc dword [rdx], 5
add byte [rax], al
jmp 0x18043c5f2
mov eax, dword [0x18079f200]
and eax, dword [0x18079f204]
add eax, 0x3f1f4696
and eax, 0x30e3b44d
sub eax, 0x97ef4c66
cmp eax, 0x7657fd53
je 0x18043cb13
mov eax, dword [0x18079f208]
imul eax, dword [0x18079f20c]
imul ecx, eax, 0xa96ccf7b
sub ecx, 0x6c8cf53b
xor ecx, 0x2cb4c7ab
mov rax, r8
and rax, 3
cmp ecx, 0xa49b7b4c
je 0x18043cb13
jmp 0x18043c64c
lea rcx, [0x1806c8bd0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x18079f230]
sub eax, dword [0x18079f234]
mov ecx, 0x80671264
xor edx, edx
div ecx
and eax, 0x3928a769
imul eax, eax, 0xb177a4c3
cmp eax, 0x9739645c
jae 0x18043cb46
jmp 0x18043c79c
mov eax, dword [0x18079f238]
sub eax, dword [0x18079f23c]
add eax, 0xc6cca2b9
and eax, 0x9e2de9aa
imul eax, eax, 0x7eae69a
cmp eax, 0x92e3cd4
je 0x18043c79c
jmp 0x18043c7c1
cmp r13, r12
sete cl
mov eax, dword [0x18079f240]
or eax, dword [0x18079f244]
imul eax, eax, 0x5383f306
imul eax, eax, 0xa933ab1
add eax, 0x2794dd03
cmp eax, 0x27dc2533
jae 0x18043cb57
mov eax, dword [0x18079f248]
sub eax, dword [0x18079f24c]
and eax, 0x37bd885a
mov r8d, 0x8e17bcaa
xor edx, edx
div r8d
or eax, 0xe7f64b98
cmp eax, 0x8a78c173
je 0x18043cb57
test cl, 1
mov r9, rdi
mov r8, r13
jne 0x18043bdd5
jmp 0x18043bd35
mov eax, dword [0x18079f250]
and eax, dword [0x18079f254]
imul eax, eax, 0x43ce2bb3
or eax, 0x25e09ea4
mov ecx, 0xbb4bddd1
xor edx, edx
div ecx
cmp eax, 0xeb7fb2f5
ja 0x18043cb64
jmp 0x18043c85c
mov ecx, dword [0x18079f258]
imul ecx, dword [0x18079f25c]
or ecx, 0x91e1edcc
add ecx, 0xe9be34eb
or ecx, 0xb9fc3fe9
mov rdx, qword [rsi]
cmp rdx, 0
sete al
cmp ecx, 0x6f26a991
jb 0x18043c85c
test al, 1
jne 0x18043c8f2
jmp 0x18043c893
add rsi, 8
mov rcx, qword [rsi]
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x18079f260]
add eax, dword [0x18079f264]
add eax, 0x7f263cc4
sub eax, 0x25d406fd
add eax, 0xce3156
cmp eax, 0xa9dda480
jae 0x18043cb75
jmp 0x18043c8cd
mov eax, dword [0x18079f268]
add eax, dword [0x18079f26c]
imul eax, eax, 0x2137e031
sub eax, 0xd8fb68e2
xor eax, 0xa86c22eb
cmp eax, 0x5b60a3b3
jbe 0x18043c8cd
jmp 0x18043c8f2
mov rax, rbx
mov rdx, rdi
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
nop
invalid
movabs eax, dword [0x395919c2e8e0a1f3]
mov dl, 0xb0
jmp 0x18043bc78
invalid
invalid
xor eax, 0x95c35a4a
fldln2
invalid
lahf
pop rcx
cmpsb byte ds:[rsi], byte [rdi]
pop rax
invalid
or byte [rax], al
jmp 0x18043be61
xchg esi, eax
invalid
mov word [rsi], ds
pop rcx
movsd dword [rdi], dword [rsi]
shl esi, 0xb4
invalid
outsb dx, byte [rsi]
mov fs, word [rdi - 0x36]
lodsb al, byte [rsi]
add dword [rax + rbp*8 - 0x17], ecx
invalid
jp 0x18043c9a5
xchg byte [rbx + 0x1f], r14b
mov dl, byte [rcx + rbp*8 + 0x22]
idiv bh
jmp [rdi + 0x41]
outsd dx, dword [rsi]
scasd eax, dword [rdi]
mov byte cs:[rdx - 0x76b7edfa], cl
invalid
movsd dword [rdi], dword [rsi]
invalid
clc
sub eax, 0x49ebecb3
mov esi, 0x111c849d
jmp 0x18043c186
cmp eax, 0x1bdc46d
pop rsp
int1
fldl2t
je 0x18043ca64
invalid
invalid
invalid
in eax, 0x60
out dx, al
loopne 0x18043cb67
pop rax
test dword [rsi], edi
jmp 0x18043c569
mov dword [rbp + 0x14], 0x753078ba
invalid
invalid
outsb dx, byte [rsi]
jle 0x18043cb8b
movabs dword [0x59b0ec03221c469f], eax
jmp 0x18043c79a
pop rbx
pop rsi
fistp qword [rax - 0x23]
invalid
push rsp
lahf
adc ebx, ebx
invalid
fist dword [rsi]
pop rsi
add byte [rax - 0x29], dh
invalid
invalid
int3