Function at 0x18038baf0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov rdi, rdx
mov rsi, rcx
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r13, rsp
mov rcx, rdi
add rcx, 0x68
movzx eax, byte [rdi + 0x68]
test eax, eax
je 0x18038bb56
jmp 0x18038bb42
sub eax, 1
je 0x18038c377
jmp 0x18038bb4d
mov qword [rbp - 0x10], rcx
jmp 0x18038bc85
mov qword [rbp - 8], r8
mov qword [rbp - 0x10], rcx
mov rax, qword [rdi]
mov qword [r13], rax
mov rax, qword [rdi + 8]
mov qword [r13 + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [r13 + 0x10], rax
mov rax, qword [rdi + 0x18]
mov qword [r13 + 0x18], rax
mov eax, dword [0x18078df00]
add eax, dword [0x18078df04]
sub eax, 0xa015fbbe
and eax, 0xa746c9cb
mov ecx, 0x704c7f5b
xor edx, edx
div ecx
cmp eax, 0x93f23047
je 0x18038c4a6
jmp 0x18038bba9
mov r14d, dword [0x18078df08]
or r14d, dword [0x18078df0c]
add r14d, 0xbdc490d5
add r14d, 0xaa364b30
and r14d, 0x64f5175e
sub rsp, 0x20
mov rcx, rbx
mov rdx, r13
call fcn.180659ca0
add rsp, 0x20
mov r12, qword [rbx]
mov r15, qword [rbx + 8]
cmp r12, 0xffffffffffffffff
sete al
cmp r14d, 0x7113a668
jae 0x18038bba9
jmp 0x18038bbf8
test al, 1
jne 0x18038bc25
mov r14, rdi
add r14, 0x20
mov qword [rdi + 0x20], r12
mov rax, rdi
add rax, 0x28
mov qword [rax], r15
mov rax, rdi
add rax, 0x60
mov qword [rbp + 0x30], rax
mov byte [rdi + 0x60], 0
jmp 0x18038be14
cmp r15, 0
setne al
mov eax, dword [0x18078df10]
xor eax, dword [0x18078df14]
sub eax, 0xe57806e2
and eax, 0x747cf3de
or eax, 0xc669c107
cmp eax, 0xdabe204f
jb 0x18038c4c6
jmp 0x18038bc54
mov eax, dword [0x18078df18]
imul eax, dword [0x18078df1c]
or eax, 0x3dda4718
add eax, 0x83afc405
imul eax, eax, 0x598fb2c4
cmp eax, 0xe7ac06c
jbe 0x18038bc54
jmp 0x18038bc7a
mov r12d, 3
jmp 0x18038c300
mov eax, dword [0x18078df20]
or eax, dword [0x18078df24]
or eax, 0xb3566318
xor eax, 0xfb08284d
xor eax, 0x78fd8b72
cmp eax, 0xdb5f0f86
je 0x18038c4d3
mov eax, dword [0x18078df28]
sub eax, dword [0x18078df2c]
add eax, 0x31aed634
mov ecx, 0xb2716ca1
xor edx, edx
div ecx
add eax, 0xd6d77d9c
mov r14, rdi
add r14, 0x60
cmp eax, 0x5c7a8aca
je 0x18038c4d3
jmp 0x18038bcde
mov al, byte [r14]
mov rbx, rdi
add rbx, 0x20
test al, al
je 0x18038bd52
jmp 0x18038bcee
sub al, 1
je 0x18038bf12
jmp 0x18038bcf8
mov rax, rdi
add rax, 0x58
mov rdx, qword [rax]
mov eax, dword [0x18078df30]
xor eax, dword [0x18078df34]
and eax, 0xcb835e06
or eax, 0x482e55f6
imul eax, eax, 0x3eee2c11
cmp eax, 0xe94feeca
je 0x18038c4e4
jmp 0x18038bd2b
mov eax, dword [0x18078df38]
and eax, dword [0x18078df3c]
and eax, 0xa54611f8
sub eax, 0xdd1e947b
and eax, 0xfd564e6b
cmp eax, 0x87d8e5ba
jae 0x18038bd2b
jmp 0x18038bef0
mov eax, dword [0x18078df40]
imul eax, dword [0x18078df44]
add eax, 0xa156e6cd
imul eax, eax, 0x7312be99
add eax, 0xd29cc3da
cmp eax, 0x173b5882
jbe 0x18038c4f5
jmp 0x18038bd7c
mov eax, dword [0x18078df48]
add eax, dword [0x18078df4c]
mov ecx, 0x8c24b835
xor edx, edx
div ecx
xor eax, 0x52216be5
sub eax, 0x2d00ccd0
mov r12, qword [rbx]
mov rcx, rdi
add rcx, 0x28
cmp eax, 0x541c768f
ja 0x18038bd7c
jmp 0x18038bdae
mov qword [rbp - 8], r8
mov eax, dword [0x18078df50]
xor edx, edx
div dword [0x18078df54]
xor eax, 0x36eba30f
xor eax, 0xc58dceba
and eax, 0xd83e3827
cmp eax, 0x5b42897a
jbe 0x18038c502
jmp 0x18038bddc
mov eax, dword [0x18078df58]
imul eax, dword [0x18078df5c]
add eax, 0xee1afd0
mov r8d, 0x96ba0df4
xor edx, edx
div r8d
imul eax, eax, 0x5c68ab4c
mov r15, qword [rcx]
cmp eax, 0x53d08211
jbe 0x18038bddc
mov qword [rbp + 0x30], r14
jmp 0x18038be0f
mov r14, rbx
jmp 0x18038be14
mov eax, dword [0x18078df60]
and eax, dword [0x18078df64]
xor eax, 0x529e852e
mov ecx, 0xa89580cf
xor edx, edx
div ecx
xor eax, 0xb3b88b80
cmp eax, 0x145c02f7
jb 0x18038c50f
mov eax, dword [0x18078df68]
sub eax, dword [0x18078df6c]
add eax, 0xa6d97011
imul eax, eax, 0x3fd84c17
imul ebx, eax, 0x66a41ee1
lea rcx, [rbp - 0x60]
sub rsp, 0x20
mov rdx, r12
mov r8, r15
call fcn.18063a940
add rsp, 0x20
mov rax, qword [rbp - 0x60]
cmp rax, 3
sete cl
mov r13, qword [rbp - 0x58]
cmp ebx, 0xc0f9ac37
jae 0x18038c50f
test cl, 1
jne 0x18038bee4
jmp 0x18038be94
mov rcx, qword [rbp - 0x50]
mov qword [rbp - 0x28], rcx
mov rcx, qword [rbp - 0x48]
mov qword [rbp - 0x20], rcx
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x18], rcx
mov rdx, rdi
add rdx, 0x30
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], r13
mov rax, qword [rbp - 0x28]
mov qword [rdi + 0x40], rax
mov rax, qword [rbp - 0x20]
mov qword [rdi + 0x48], rax
mov rax, qword [rbp - 0x18]
mov qword [rdi + 0x50], rax
mov qword [rdi + 0x58], rdx
mov rbx, r14
mov r8, qword [rbp - 8]
mov r14, qword [rbp + 0x30]
jmp 0x18038bef0
mov rbx, r14
mov r14, qword [rbp + 0x30]
jmp 0x18038c22e
lea rcx, [rbp - 0x38]
sub rsp, 0x20
call fcn.18063af60
add rsp, 0x20
mov cl, byte [rbp - 0x2f]
cmp cl, 3
je 0x18038c02c
jmp 0x18038bfbb
mov eax, dword [0x18078df70]
imul eax, dword [0x18078df74]
add eax, 0x8862f537
xor eax, 0xb959032f
add eax, 0x18343133
cmp eax, 0x893e4b09
ja 0x18038c533
mov eax, dword [0x18078df78]
xor edx, edx
div dword [0x18078df7c]
mov ecx, 0x40a385b4
xor edx, edx
div ecx
add eax, 0x33e583ca
sub eax, 0xdb9482a6
ud2
mov eax, dword [0x18078df90]
xor eax, dword [0x18078df94]
sub eax, 0xc4265ac
add eax, 0xd86478b6
add eax, 0xc5f0ea45
cmp eax, 0xf844dab3
je 0x18038c557
mov eax, dword [0x18078df98]
xor eax, dword [0x18078df9c]
or eax, 0x352cc710
mov r8d, 0x6fd568
xor edx, edx
div r8d
mov r8d, 0x4218dfc4
xor edx, edx
div r8d
mov r13, qword [rbp - 0x38]
cmp eax, 0xd2cd0ec4
je 0x18038c557
jmp 0x18038c019
cmp cl, 2
sete al
test al, 1
jne 0x18038c21a
jmp 0x18038c0dc
mov eax, dword [str.V_zgne]
add eax, dword [0x18078dfa4]
mov ecx, 0x6fb4a25c
xor edx, edx
div ecx
imul eax, eax, 0x7e47255
add eax, 0x37d4d3a2
cmp eax, 0xc2016e6
jb 0x18038c564
mov eax, dword [0x18078dfa8]
xor edx, edx
div dword [0x18078dfac]
or eax, 0xb769d65f
mov ecx, 0x51d8f373
xor edx, edx
div ecx
sub eax, 0xd47fbc77
cmp eax, 0x9d60ed1f
je 0x18038c564
jmp 0x18038c085
mov eax, dword [0x18078dfb0]
imul eax, dword [0x18078dfb4]
or eax, 0x2c4e5b78
or eax, 0x5008317e
and eax, 0x33166273
cmp eax, 0xbac8c7a
jb 0x18038c575
jmp 0x18038c0ae
mov eax, dword [0x18078dfb8]
xor eax, dword [0x18078dfbc]
imul eax, eax, 0xe4214e1c
sub eax, 0x2d98e105
or eax, 0x98ff3707
mov byte [r14], 3
cmp eax, 0x1b13c613
je 0x18038c0ae
jmp 0x18038c0d7
jmp 0x18038c446
mov eax, dword [0x18078dfc0]
xor eax, dword [0x18078dfc4]
mov ecx, 0xb3cab12f
xor edx, edx
div ecx
xor eax, 0x97537862
or eax, 0x7f71d91d
cmp eax, 0x62ce99cc
jbe 0x18038c586
mov eax, dword [0x18078dfc8]
add eax, dword [0x18078dfcc]
add eax, 0x5aeeeb5b
xor eax, 0x5597dc5a
add eax, 0x8a47e1a9
mov rdx, rdi
add rdx, 0x30
cmp eax, 0xbcf3e9ff
jae 0x18038c586
jmp 0x18038c135
mov rcx, rdi
add rcx, 0x48
cmp qword [rdi + 0x48], 0xffffffffffffffff
sete al
test al, 1
jne 0x18038c14a
jmp 0x18038c19e
mov eax, dword [0x18078dfd0]
and eax, dword [0x18078dfd4]
imul eax, eax, 0x56175764
imul eax, eax, 0x93f25e35
xor eax, 0xf68a62b8
cmp eax, 0xd982ace7
je 0x18038c597
mov eax, dword [0x18078dfd8]
xor eax, dword [0x18078dfdc]
or eax, 0x29decc70
or eax, 0xa0e43a70
or eax, 0xd4f394c6
ud2
mov r15, rdx
sub rsp, 0x20
call fcn.180659de0
add rsp, 0x20
mov r13, rdx
cmp rax, 0
je 0x18038c1b9
jmp 0x18038c21a
cmp r13, 0
sete al
mov ecx, dword [0x18078dfe0]
add ecx, dword [0x18078dfe4]
or ecx, 0x6ddf994f
imul ecx, ecx, 0xc4d32907
and ecx, 0x85a3a152
cmp ecx, 0x640c3e9b
jb 0x18038c5aa
mov ecx, dword [0x18078dfe8]
xor ecx, dword [0x18078dfec]
imul ecx, ecx, 0xf03d1e93
add ecx, 0xb227dfeb
imul ecx, ecx, 0x4da96712
cmp ecx, 0xd4f6f76d
jae 0x18038c5aa
test al, 1
jne 0x18038c258
jmp 0x18038c21a
add rdi, 0x30
sub rsp, 0x20
mov rcx, rdi
call fcn.1803879c0
add rsp, 0x20
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp - 0x70]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp - 0x68]
mov qword [rbp + 0x28], rax
mov byte [r14], 1
mov r12d, 3
mov r15, r13
jmp 0x18038c3cb
mov eax, dword [0x18078dff0]
imul eax, dword [0x18078dff4]
add eax, 0xa2a7dc8e
sub eax, 0x65fdee4f
sub eax, 0x79bde5a9
cmp eax, 0x656f4f9a
mov r8, r15
jbe 0x18038c5b7
mov eax, dword [0x18078dff8]
sub eax, dword [0x18078dffc]
mov ecx, 0xe4b12683
xor edx, edx
div ecx
imul ecx, eax, 0x8ff68756
xor ecx, 0x89ea437f
mov r12, qword [r8]
mov r15, qword [rdi + 0x38]
mov rax, rdi
add rax, 0x40
cmp ecx, 0xe027399e
jae 0x18038c5b7
jmp 0x18038c2bf
mov rcx, qword [rax]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x20], rcx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x28], rax
mov byte [r14], 1
cmp r12, 4
je 0x18038c446
jmp 0x18038c3cb
mov eax, dword [0x18078e010]
xor eax, dword [0x18078e014]
imul eax, eax, 0xd838a227
imul eax, eax, 0x68a9f7e7
add eax, 0xfdae2aa4
cmp eax, 0xe0c0e09d
jae 0x18038c5f8
mov eax, dword [0x18078e018]
or eax, dword [0x18078e01c]
and eax, 0xe60a87b9
or eax, 0xbbf7f5f
or eax, 0xcea1371e
ud2
mov eax, dword [0x18078e020]
sub eax, dword [0x18078e024]
and eax, 0xfdf697a
and eax, 0x1dbeb9a2
or eax, 0x9f57dfd7
cmp eax, 0x187acd3c
je 0x18038c60b
mov qword [rsi], 4
mov eax, dword [0x18078e030]
or eax, dword [0x18078e034]
imul eax, eax, 0xefde52b6
and eax, 0x396c6727
or eax, 0xda7072cb
cmp eax, 0x6ec51e97
je 0x18038c640
mov eax, dword [0x18078e038]
or eax, dword [0x18078e03c]
and eax, 0x97abd147
mov ecx, 0xf70dd45f
xor edx, edx
div ecx
imul eax, eax, 0x2ff8f251
cmp eax, 0x94bc8cdf
jae 0x18038c640
mov al, 3
jmp 0x18038c2e9
cdq
outsb dx, byte [rsi]
insd dword [rdi], dx
mov dh, 0x9a
scasd eax, dword [rdi]
sbb eax, 0x20ec8348
mov rcx, rbx
mov rdx, r13
call fcn.180659ca0
add rsp, 0x20
jmp 0x18038bba7
push rsi
pop rdi
sahf
out dx, eax
and ebp, dword [rax + 0x7fe963e2]
idiv edi
jmp rsp
in al, 0xf5
ficomp word [r9 - 0x18ba548d]
jo 0x18038c499
push rcx
jmp 0x18038bcab
and ch, byte [rdx]
xchg r8, rax
popfq
add dword ds:[rsi], esi
dec dword [rdi - 0x11]
invalid
sti
xchg esp, eax
pop rbp
outsb dx, byte [rsi]
loope 0x18038c4b5
add ax, 0x78e9
clc
invalid
adc byte [0x159f0c33e], ah
xchg edi, eax
sub ecx, 0xffffffcb
clc
invalid
jo 0x18038c4d5
scasd eax, dword [rdi]
lahf
invalid
invalid
invalid
cli
invalid
invalid
cmp al, 0x96
movabs byte [0x8577a652d618f49f], al
jmp 0x18038c106
invalid
push rbx
push 0x7d
std
in al, 0xc9
jmp 0x18038c5f3
adc ebx, dword [rdi + 0x6cec685]
mov esi, 0x7bb57b87
sti
jmp 0x18038c282
jmp 0x18038c32c
cdq
xor eax, 0x731e0abf
rcr byte [rbp + 0x1f], 1
invalid
pop rdx
in eax, 0x65
add dword [rax - 0x43], ebx
xor dword [rax + 0x48], 0x4818458b
mov dword [rbp], eax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x10], rax
sub rsp, 0x20
mov rcx, rbx
call fcn.18038b650
invalid