Function at 0x1803e5b40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rsi, rcx
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rbx, rsp
mov rcx, qword [rdx]
mov rdi, qword [rdx + 8]
mov r15, qword [rdx + 0x10]
mov rdx, r15
shl rdx, 1
mov rax, rdi
add rax, rdx
cmp r15, 0
je 0x1803e5b8e
xor r8d, r8d
mov rdx, rdi
jmp 0x1803e5c66
mov qword [rbx], rcx
mov r15, rbx
add r15, 8
mov qword [rbx + 8], rdi
mov eax, dword [0x180795f28]
sub eax, dword [0x180795f2c]
imul eax, eax, 0xfabafdff
xor eax, 0x9fefb06d
or eax, 0x552cbe9a
cmp eax, 0xcebe5f87
ja 0x1803e6655
mov eax, dword [0x180795f30]
xor eax, dword [0x180795f34]
xor eax, 0x7bb28192
or eax, 0xcd6e607b
imul eax, eax, 0x87408b11
mov r14, rbx
add r14, 0x10
mov qword [rbx + 0x10], 0
cmp eax, 0x5b02dcf9
je 0x1803e6655
jmp 0x1803e5bfb
mov eax, dword [0x180795f38]
xor edx, edx
div dword [0x180795f3c]
imul eax, eax, 0xa9548760
xor eax, 0x15a6d71e
sub eax, 0xf7e9f8c
cmp eax, 0xffc70afa
ja 0x1803e666a
mov eax, dword [0x180795f40]
and eax, dword [0x180795f44]
imul eax, eax, 0xb4fc1f92
xor eax, 0x3aa387ef
mov r8d, 0x73907802
xor edx, edx
div r8d
cmp rcx, 0
sete dl
cmp eax, 0xc11f486c
je 0x1803e666a
test dl, 1
jne 0x1803e5e1f
jmp 0x1803e5edc
cmp word [rdx], 0
je 0x1803e6178
add rdx, 2
mov r9d, dword [0x180795f48]
and r9d, dword [0x180795f4c]
or r9d, 0xd7273e96
or r9d, 0x80e13ba4
add r9d, 0xdcdb818
cmp r9d, 0xa43210dc
jb 0x1803e6677
mov r9d, dword [0x180795f50]
sub r9d, dword [0x180795f54]
or r9d, 0x51d5133a
imul r11d, r9d, 0xababeb4b
or r11d, 0x8dec35a3
mov r9, r8
add r9, 1
cmp rdx, rax
sete r10b
cmp r11d, 0xbe7cb786
jbe 0x1803e6677
jmp 0x1803e5ce4
test r10b, 1
mov r8, r9
jne 0x1803e5cf2
jmp 0x1803e5c66
mov eax, dword [0x180795f58]
xor edx, edx
div dword [0x180795f5c]
or eax, 0x8e0bc42d
imul eax, eax, 0x6f68365e
or eax, 0xc68d618e
cmp eax, 0x93fd1089
je 0x1803e6684
mov eax, dword [0x180795f60]
or eax, dword [0x180795f64]
or eax, 0xb69e4d
xor eax, 0x1b800592
add eax, 0x3fb1654a
cmp eax, 0x585767e4
ja 0x1803e6684
jmp 0x1803e5d43
mov eax, dword [0x180795f68]
xor eax, dword [0x180795f6c]
imul eax, eax, 0xae495006
imul eax, eax, 0xba763b04
xor eax, 0x9871723d
cmp eax, 0x7f7b25b
je 0x1803e6695
mov eax, dword [0x180795f70]
imul eax, dword [0x180795f74]
add eax, 0x93086cfc
or eax, 0x82002e63
add eax, 0x5d8aa17a
mov qword [rbx], rcx
cmp eax, 0x2200d07d
jbe 0x1803e6695
jmp 0x1803e5d97
mov eax, dword [0x180795f78]
sub eax, dword [0x180795f7c]
mov r8d, 0x3fdc75c
xor edx, edx
div r8d
mov r8d, 0xa95188ee
xor edx, edx
div r8d
imul eax, eax, 0x3feed7ae
cmp eax, 0xf55207cd
jae 0x1803e66a5
jmp 0x1803e5dcc
mov edx, dword [0x180795f80]
sub edx, dword [0x180795f84]
add edx, 0xf192a92e
add edx, 0xe71b13a5
sub edx, 0x56f9832b
mov r12, rbx
add r12, 8
mov qword [rbx + 8], rdi
mov r14, rbx
add r14, 0x10
mov qword [rbx + 0x10], r15
cmp word [rdi + r15*2 - 2], 0
sete al
cmp edx, 0x1716cb59
jbe 0x1803e5dcc
test al, 1
je 0x1803e5f4a
jmp 0x1803e5f79
mov eax, dword [0x180795f88]
or eax, dword [0x180795f8c]
mov ecx, 0x589a5437
xor edx, edx
div ecx
or eax, 0xf20e6722
imul eax, eax, 0xc2e32594
cmp eax, 0x57ec166b
jbe 0x1803e66be
mov eax, dword [0x180795f90]
imul eax, dword [0x180795f94]
or eax, 0xc288de75
imul edi, eax, 0x2533c156
and edi, 0x20ce6c3f
sub rsp, 0x20
mov rcx, rbx
call fcn.18045ade0
add rsp, 0x20
cmp edi, 0x1acf76be
jb 0x1803e66be
jmp 0x1803e5e86
mov eax, dword [0x180795f98]
add eax, dword [0x180795f9c]
and eax, 0xa4f97bcf
xor eax, 0x83cf885b
mov ecx, 0xae6a5142
xor edx, edx
div ecx
cmp eax, 0x371d0d3a
ja 0x1803e66db
jmp 0x1803e5eb2
mov eax, dword [0x180795fa0]
imul eax, dword [0x180795fa4]
add eax, 0xde594be8
add eax, 0x6af24378
add eax, 0x1e1e5ee8
mov rdi, qword [r15]
cmp eax, 0x5be28b25
je 0x1803e5eb2
jmp 0x1803e5eda
jmp 0x1803e5edc
mov eax, dword [0x180795fa8]
and eax, dword [0x180795fac]
sub eax, 0x24a584cd
add eax, 0xcb9d3063
or eax, 0x216e6050
cmp eax, 0xe9c5d905
je 0x1803e66ec
jmp 0x1803e5f04
mov eax, dword [0x180795fb0]
xor edx, edx
div dword [0x180795fb4]
mov ecx, 0x7e10dfb7
xor edx, edx
div ecx
imul eax, eax, 0x68b84be9
mov ecx, 0xeed52452
xor edx, edx
div ecx
mov word [rdi], 0
cmp eax, 0x8f5ed330
je 0x1803e5f04
mov r15d, 1
jmp 0x1803e5f3e
mov qword [r14], r15
mov rcx, qword [rbx]
mov rdi, qword [rbx + 8]
jmp 0x1803e5f79
cmp r15, rcx
sete al
test al, 1
jne 0x1803e5f56
jmp 0x1803e5f6c
sub rsp, 0x20
mov rcx, rbx
call fcn.18045ade0
add rsp, 0x20
mov rdi, qword [r12]
jmp 0x1803e5f6c
mov word [rdi + r15*2], 0
add r15, 1
jmp 0x1803e5f3e
mov eax, dword [0x180795fb8]
add eax, dword [0x180795fbc]
and eax, 0x26ff4d33
add eax, 0xca33757d
or eax, 0xb2d34247
cmp eax, 0x6f6c26fd
je 0x1803e6702
jmp 0x1803e5fa1
mov eax, dword [0x180795fc0]
and eax, dword [0x180795fc4]
mov r8d, 0x3d3b14dc
xor edx, edx
div r8d
mov r8d, 0xeaca13ab
xor edx, edx
div r8d
xor eax, 0x5796c96f
cmp rcx, r15
seta dl
cmp eax, 0x3dcdfadb
je 0x1803e5fa1
test dl, 1
jne 0x1803e5fdf
jmp 0x1803e615e
cmp rdi, 0
setne al
mov rbx, rcx
shl rbx, 1
cmp r15, 0
sete al
test al, 1
jne 0x1803e5ff9
jmp 0x1803e6076
mov eax, dword [0x180795fc8]
xor edx, edx
div dword [0x180795fcc]
or eax, 0xf085010e
sub eax, 0x3d3645c0
and eax, 0xe0d83406
cmp eax, 0x9aff8858
je 0x1803e6713
mov r14d, dword [0x180795fd0]
or r14d, dword [0x180795fd4]
xor r14d, 0xaa4928e7
sub r14d, 0x4a3ce62
sub r14d, 0x493c78f3
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
mov r8d, 2
call fcn.1804cafa0
add rsp, 0x20
cmp r14d, 0x26ce2dd3
ja 0x1803e6713
jmp 0x1803e606c
mov edi, 2
jmp 0x1803e615e
mov r14, r15
shl r14, 1
cmp rcx, r15
setae al
mov eax, dword [0x180795fd8]
or eax, dword [0x180795fdc]
imul eax, eax, 0x8c8f651d
mov ecx, 0xb527ae68
xor edx, edx
div ecx
add eax, 0x292f686f
cmp eax, 0xb5f1f8f1
ja 0x1803e673d
jmp 0x1803e60af
mov eax, dword [0x180795fe0]
imul eax, dword [0x180795fe4]
and eax, 0xf0b3b35f
sub eax, 0x78f51569
xor eax, 0x14069d37
cmp eax, 0x6feee88a
jbe 0x1803e60af
jmp 0x1803e60d4
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
mov r8d, 2
mov r9, r14
call fcn.1804cafb0
add rsp, 0x20
mov rdi, rax
cmp rdi, 0
jne 0x1803e615e
sub rsp, 0x20
mov ecx, 2
mov rdx, r14
call fcn.18063bc30
add rsp, 0x20
mov eax, dword [0x180795fe8]
imul eax, dword [0x180795fec]
xor eax, 0x88ed8811
xor eax, 0xb15367f7
and eax, 0x9b1eb7db
cmp eax, 0x4dd60f35
jae 0x1803e674e
jmp 0x1803e6137
mov eax, dword [0x180795ff0]
xor edx, edx
div dword [0x180795ff4]
add eax, 0x4829ea9
and eax, 0xf44f2996
imul eax, eax, 0xfc658e4b
cmp eax, 0xbde118a0
ja 0x1803e6137
ud2
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], r15
movabs rax, 0x8000000000000001
mov qword [rsi], rax
jmp 0x1803e6239
mov eax, dword [0x180795ff8]
xor edx, edx
div dword [0x180795ffc]
xor eax, 0xe653f4c7
imul eax, eax, 0x58834430
mov r9d, 0xa3a9e5a7
xor edx, edx
div r9d
cmp eax, 0xdeaf4441
ja 0x1803e675b
jmp 0x1803e61a9
mov eax, dword [0x180796000]
xor eax, dword [0x180796004]
and eax, 0x6bcd9d9a
or eax, 0x58303061
xor eax, 0xdd11b2a5
cmp eax, 0x9861c746
jbe 0x1803e61a9
jmp 0x1803e61cd
mov eax, dword [0x180796008]
or eax, dword [0x18079600c]
or eax, 0x2eeb3cf4
and eax, 0xb274af52
mov r9d, 0x2b5295ac
xor edx, edx
div r9d
cmp eax, 0xc1a5d853
je 0x1803e6768
jmp 0x1803e61fb
mov eax, dword [0x180796010]
or eax, dword [0x180796014]
add eax, 0xdb17eea5
mov r9d, 0xececa5af
xor edx, edx
div r9d
add eax, 0x6a33fa86
mov rdx, r15
add rdx, 0xffffffffffffffff
cmp r8, rdx
sete dl
cmp eax, 0xbc7aceb8
je 0x1803e61fb
jmp 0x1803e6232
test dl, 1
jne 0x1803e62b3
jmp 0x1803e624a
mov rax, rsi
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x180796018]
add eax, dword [0x18079601c]
add eax, 0xd5be6cf9
sub eax, 0x856fd256
or eax, 0xee2f4c76
cmp eax, 0xdee94d6
jbe 0x1803e6775
mov edx, dword [0x180796020]
or edx, dword [0x180796024]
and edx, 0x43a9b584
or edx, 0x6c743b8
or edx, 0x384c06cd
mov qword [rsi], rcx
mov rax, rsi
add rax, 8
cmp edx, 0xdd72af1a
jae 0x1803e6775
jmp 0x1803e62a6
mov qword [rax], rdi
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], r8
jmp 0x1803e6239
mov eax, dword [0x180796028]
xor edx, edx
div dword [0x18079602c]
mov r9d, 0x1e07454f
xor edx, edx
div r9d
and eax, 0x24dcda97
xor eax, 0xb27b57a6
cmp eax, 0xbbdbc145
jae 0x1803e6785
jmp 0x1803e62e3
mov eax, dword [0x180796030]
xor edx, edx
div dword [0x180796034]
add eax, 0x5b535a54
imul eax, eax, 0xf47c76fb
xor eax, 0xe1d2694
cmp eax, 0x703027e0
jbe 0x1803e62e3
jmp 0x1803e630a
mov eax, dword [0x180796038]
or eax, dword [0x18079603c]
and eax, 0xf0990478
and eax, 0xd31859ae
xor eax, 0x82a25d4f
cmp eax, 0x204e3e19
je 0x1803e6792
mov eax, dword [0x180796040]
and eax, dword [0x180796044]
or eax, 0xf8846126
add eax, 0x6952e637
and eax, 0x7874c126
mov qword [rbp - 0x18], rcx
lea rbx, [rbp - 0x18]
add rbx, 8
mov qword [rbp - 0x10], rdi
cmp eax, 0x13008376
jbe 0x1803e6792
jmp 0x1803e6368
lea r14, [rbp - 0x18]
add r14, 0x10
mov qword [rbp - 8], r15
cmp word [rdi + r8*2], 0
jne 0x1803e6381
jmp 0x1803e6460
cmp r15, rcx
sete al
mov ecx, dword [0x180796048]
add ecx, dword [0x18079604c]
imul ecx, ecx, 0x12b207a2
sub ecx, 0xd32ba0ac
xor ecx, 0xa32c6c76
cmp ecx, 0x2178a133
ja 0x1803e67ab
jmp 0x1803e63b3
mov ecx, dword [str.jnT]
xor ecx, dword [0x180796054]
and ecx, 0xcf943352
imul ecx, ecx, 0x292ba4a6
or ecx, 0xfbb0ecd4
cmp ecx, 0xb36d9d8e
jbe 0x1803e63b3
test al, 1
jne 0x1803e63df
jmp 0x1803e644b
mov eax, dword [0x180796058]
xor eax, dword [0x18079605c]
mov ecx, 0xf5ceb27c
xor edx, edx
div ecx
imul eax, eax, 0x43d0499d
or eax, 0x18dee4bd
cmp eax, 0xf14f69f3
je 0x1803e67b8
mov eax, dword [0x180796060]
or eax, dword [0x180796064]
imul eax, eax, 0x6e564601
and eax, 0xcd8275f7
imul edi, eax, 0xfc6fb471
lea rcx, [rbp - 0x18]
sub rsp, 0x20
call fcn.18045ade0
add rsp, 0x20
cmp edi, 0x3dc672c3
jb 0x1803e67b8
jmp 0x1803e6446
mov rdi, qword [rbx]
jmp 0x1803e644b
mov word [rdi + r15*2], 0
add r15, 1
mov qword [r14], r15
mov rcx, qword [rbp - 0x18]
mov rdi, qword [rbx]
cmp rcx, r15
ja 0x1803e646a
jmp 0x1803e663b
mov eax, dword [0x180796068]
sub eax, dword [0x18079606c]
add eax, 0xdc2d068c
add eax, 0x5b0e249e
add eax, 0xe7aa1e37
cmp eax, 0xab916c3f
je 0x1803e67da
jmp 0x1803e6492
mov eax, dword [0x180796070]
xor edx, edx
div dword [0x180796074]
add eax, 0x855a53f5
and eax, 0x7405cad2
or eax, 0xd87d5616
mov rbx, rcx
shl rbx, 1
cmp eax, 0xfbb327d9
ja 0x1803e6492
jmp 0x1803e64be
cmp r15, 0
jne 0x1803e6543
mov eax, dword [0x180796078]
imul eax, dword [0x18079607c]
xor eax, 0x978f6f3b
and eax, 0x95244d33
and eax, 0x68c039fb
cmp eax, 0x4e70644b
je 0x1803e67eb
jmp 0x1803e64ed
mov eax, dword [0x180796080]
xor edx, edx
div dword [0x180796084]
mov ecx, 0x894f5d09
xor edx, edx
div ecx
add eax, 0x819d9e42
mov ecx, 0xffbfaedc
xor edx, edx
div ecx
mov r14d, eax
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
mov r8d, 2
call fcn.1804cafa0
add rsp, 0x20
cmp r14d, 0x95e9aeb5
jae 0x1803e64ed
jmp 0x1803e6539
mov edi, 2
jmp 0x1803e663b
mov r14, r15
shl r14, 1
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
mov r8d, 2
mov r9, r14
call fcn.1804cafb0
add rsp, 0x20
mov rdi, rax
cmp rdi, 0
sete al
test al, 1
jne 0x1803e6578
jmp 0x1803e663b
mov eax, dword [0x180796088]
xor eax, dword [0x18079608c]
and eax, 0x5b1156d1
add eax, 0xdd07d77a
mov ecx, 0x45f99bbf
xor edx, edx
div ecx
cmp eax, 0xe386d25
je 0x1803e6815
jmp 0x1803e65a4
mov eax, dword [0x180796090]
xor edx, edx
div dword [0x180796094]
mov esi, eax
or esi, 0xf69a2a6c
or esi, 0xe5e2a56c
add esi, 0x15ed39f2
sub rsp, 0x20
mov ecx, 2
mov rdx, r14
call fcn.18063bc30
add rsp, 0x20
cmp esi, 0x35544446
jae 0x1803e65a4
jmp 0x1803e65e5
mov eax, dword [0x180796098]
imul eax, dword [0x18079609c]
mov ecx, 0x8808486b
xor edx, edx
div ecx
imul eax, eax, 0x2aa2be29
and eax, 0x8424a6bb
cmp eax, 0x7a7a4c43
je 0x1803e6837
jmp 0x1803e6613
mov eax, dword [0x1807960a0]
and eax, dword [0x1807960a4]
or eax, 0xa61f1219
and eax, 0x2e8eee94
mov ecx, 0x7b823339
xor edx, edx
div ecx
cmp eax, 0x4015178c
jae 0x1803e6613
ud2
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], r15
movabs rax, 0x8000000000000001
mov qword [rsi], rax
jmp 0x1803e6239
sub dh, dh
pop rsp
adc eax, 0x4b014067
mov qword [rbx + 0x10], 0
jmp 0x1803e5bc3
mov bh, 0x77
ret 0xa8aa
sbb ebp, dword [rdi]
mov eax, 0x7566948d
jmp 0x1803e5ca4
push rcx
jbe 0x1803e66fa
imul edx, ecx, 0xffffffe7
imul esi, dword [rax], 0xfffffff2
xchg ebx, eax
invalid
rcr byte [rbx], 0x13
or byte [rax], al
mov r13b, 0x41
mov qword [rbx], rcx
jmp 0x1803e5d6b
xor r10, qword [rdx - 0x3b]
invalid
out 0x6c, al
mov bh, 0xf7
add esp, edx
invalid
invalid
invalid
xor byte [rax], ch
sal dword [rbx + 0x6f29af5a], 1
mov word [rdi], 0
jmp 0x1803e5f02
invalid
mov ebx, dword [rsi]
cmp dword [rdi - 0x1e], esp
cmpsb byte [rsi], byte [rdi]
jmp 0x1803e66f0
call 0x16eae72ef
test al, 0xd5
mov word [rsi], fs
push rdi
imul edx, dword [rcx + 0x48], 0xffffff83
in al, dx
and byte [rax - 0x77], cl
stc
mov rdx, rbx
mov r8d, 2
call fcn.1804cafa0
add rsp, 0x20
jmp 0x1803e6021
and cl, ch
in al, 0xf8
invalid
invalid
add al, 0x70
jbe 0x1803e6766
mov ebp, 0xe9846e7b
invalid
xor al, 0x3a
mov ebp, eax
popfq
invalid
invalid
je 0x1803e671a
out 0x9a, eax
je 0x1803e6737
add ecx, ebp
test dl, bh
invalid
sub eax, 0x39eabb8
ror ah, cl
cmpsd dword [rsi], dword [rdi]
mov qword [rsi], rcx
jmp 0x1803e6270
invalid
xchg edi, eax
sal byte [rdi], cl
add ch, byte [rbx + rbp*4 + 0x38f005df]
invalid
stc
mov bh, 0x23
push 0x30e4d878
jmp 0x1803e63b1
cmpsd dword [rsi], dword [rdi]
and byte [rbx + 0x438a57eb], ah
mov ebp, ss
lodsd eax, dword ds:[rsi]
sbb cl, byte [rax - 0x73]
call 0x1a12aeb14
call fcn.18045ade0
add rsp, 0x20
jmp 0x1803e640a
mov al, byte [rbx - 0x74]
invalid
push rdi
cmc
adc al, 0xa
sbb r9b, byte [r14 - 0x4cc7969d]
pop rsp
jmp 0x1803e6490
jge 0x1803e67bd
cmp eax, 0x260f92c5
invalid
cmp al, 0x29
cmpsb byte [rsi], byte [rdi]
adc ebp, dword [rcx + 0x39]
mov edi, 0xec8348b2
and byte [rcx + 2], bh
mov rdx, r14
call fcn.18063bc30
add rsp, 0x20
jmp 0x1803e65a2
in al, 0x84
insd dword [rdi], dx
mov edx, 0xb339be69
jmp 0x1803e6611