Function at 0x18038f090
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov r12, r8
mov r13, rdx
mov rsi, rcx
mov eax, dword [0x18078e4f0]
add eax, dword [0x18078e4f4]
xor eax, 0x4d922698
or eax, 0x9f073b52
and eax, 0x46b19271
cmp eax, 0xc87d31e8
je 0x18038f563
mov eax, dword [0x18078e4f8]
mov ecx, dword [0x18078e4fc]
or eax, ecx
and eax, 0xaf81ef4b
imul ecx, eax, 0x419cfcd
add ecx, 0xe5263455
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x4bbad6d7
je 0x18038f563
jmp 0x18038f111
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rbx, rsp
mov eax, dword [0x18078e500]
xor eax, dword [0x18078e504]
or eax, 0x210f4619
sub eax, 0x90bef6ca
sub eax, 0xa0bcb9b8
cmp eax, 0x4e325e64
ja 0x18038f570
jmp 0x18038f149
mov eax, dword [0x18078e508]
mov ecx, dword [0x18078e50c]
and eax, ecx
xor eax, 0xdb484172
imul r15d, eax, 0x2d698a70
or r15d, 0x6b531338
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov r14, rsp
sub rsp, 0x20
mov rcx, rsi
call fcn.180643f20
add rsp, 0x20
cmp rax, 0
sete cl
cmp r15d, 0x4e2e00e4
jb 0x18038f149
test cl, 1
jne 0x18038f23e
jmp 0x18038f1a5
mov qword [r14], rax
mov rax, r14
add rax, 8
mov qword [rbp - 0x18], rax
mov qword [r14 + 8], rdx
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov rax, rbx
add rax, 0x10
mov qword [rax], 0
mov rax, rdi
add rax, 1
mov qword [rbp - 0x10], rax
mov eax, dword [0x18078e510]
and eax, dword [0x18078e514]
or eax, 0x1270d7f4
or eax, 0x1002f227
mov ecx, 0x724bd2d7
xor edx, edx
div ecx
cmp eax, 0x55273951
je 0x18038f58d
mov eax, dword [0x18078e518]
add eax, dword [0x18078e51c]
or eax, 0x9d06d05e
imul eax, eax, 0xa825c7df
mov ecx, 0x54f76d2c
xor edx, edx
div ecx
mov rcx, qword [r13]
mov rdx, qword [r12]
cmp eax, 0xcdce4
jae 0x18038f58d
mov qword [rbp], rdx
mov qword [rbp - 8], rcx
jmp 0x18038f29d
mov eax, dword [0x18078e520]
xor eax, dword [0x18078e524]
imul eax, eax, 0xd06ab763
mov ecx, 0xbb38cfe4
xor edx, edx
div ecx
imul eax, eax, 0x6a9e8594
cmp eax, 0xfee4c9fb
je 0x18038f59e
jmp 0x18038f26c
mov eax, dword [0x18078e528]
xor edx, edx
div dword [0x18078e52c]
mov ecx, 0xc36228e4
xor edx, edx
div ecx
or eax, 0x80dae8bb
imul eax, eax, 0x100c8a02
cmp eax, 0x2a46a997
jbe 0x18038f26c
mov r12b, 2
jmp 0x18038f54f
mov eax, dword [0x18078e530]
or eax, dword [0x18078e534]
mov ecx, 0x6a5aa3ac
xor edx, edx
div ecx
xor eax, 0x4175e794
sub eax, 0xa2a07b9b
cmp eax, 0xac4caad8
je 0x18038f5ab
jmp 0x18038f2c9
mov r15d, dword [0x18078e538]
imul r15d, dword [0x18078e53c]
xor r15d, 0x127944d
and r15d, 0x12f1d2ed
add r15d, 0x86f10a62
sub rsp, 0x20
call fcn.180645b70
add rsp, 0x20
mov r12, rax
mov r13, r12
add r13, 0x50
cmp r15d, 0xd20566cd
ja 0x18038f2c9
jmp 0x18038f30f
movzx eax, byte [r13]
mov cl, 2
test rax, rax
je 0x18038f32a
jmp 0x18038f31d
sub rax, 1
je 0x18038f394
jmp 0x18038f325
jmp 0x18038f40d
lea rdx, [0x180477810]
sub rsp, 0x20
mov rcx, r12
call fcn.180666c30
add rsp, 0x20
mov byte [r13], 1
mov eax, dword [0x18078e540]
or eax, dword [0x18078e544]
and eax, 0xae319205
sub eax, 0xaef2f6b9
xor eax, 0x279160b2
cmp eax, 0x669ad585
je 0x18038f5c5
jmp 0x18038f36e
mov eax, dword [0x18078e548]
xor edx, edx
div dword [0x18078e54c]
or eax, 0xa103bd6a
or eax, 0x3ac6e758
and eax, 0xf7dc22dc
cmp eax, 0x56a6c06
jb 0x18038f36e
jmp 0x18038f394
mov r8, r12
add r8, 0x4c
mov cl, byte [r12 + 0x4c]
add r12, 0x4d
mov eax, dword [0x18078e550]
add eax, dword [0x18078e554]
xor eax, 0xd9afda8a
mov r9d, 0x2b5bbbc0
xor edx, edx
div r9d
or eax, 0x5955437c
cmp eax, 0xeb891ad5
ja 0x18038f5d6
jmp 0x18038f3d2
mov eax, dword [0x18078e558]
imul eax, dword [0x18078e55c]
imul eax, eax, 0xbf3d4565
mov r9d, 0x253f1819
xor edx, edx
div r9d
or eax, 0xeee60bbc
mov dl, byte [r12]
mov byte [r8], 1
mov byte [r12], 0x80
cmp eax, 0x3892518f
jbe 0x18038f3d2
jmp 0x18038f40b
jmp 0x18038f40d
mov byte [rdi], cl
mov rax, qword [rbp - 0x10]
mov byte [rax], dl
sub rsp, 0x20
mov rcx, qword [rbp - 8]
mov rdx, rbx
call fcn.18064b120
add rsp, 0x20
xor r12d, r12d
test al, 1
jne 0x18038f435
jmp 0x18038f4fc
mov eax, dword [0x18078e560]
xor eax, dword [0x18078e564]
add eax, 0xdabb0f4f
sub eax, 0x362a2e67
and eax, 0xadc0497d
cmp eax, 0xe61044e6
mov r12, qword [rbp]
ja 0x18038f5ec
jmp 0x18038f461
mov r15d, dword [0x18078e568]
xor r15d, dword [0x18078e56c]
xor r15d, 0x56a6f270
and r15d, 0x28f6ace
sub r15d, 0x7cf3da2a
sub rsp, 0x20
mov rcx, r12
mov rdx, rbx
call fcn.1803acb50
add rsp, 0x20
cmp r15d, 0xad49e4b4
ja 0x18038f461
jmp 0x18038f4a2
mov r12b, 2
test al, 1
jne 0x18038f4ac
mov r12b, 1
mov eax, dword [0x18078e570]
or eax, dword [0x18078e574]
imul eax, eax, 0x22258e64
xor eax, 0x4ef36662
or eax, 0xd3006f24
cmp eax, 0x29fe7852
je 0x18038f610
mov eax, dword [0x18078e578]
xor eax, dword [0x18078e57c]
imul eax, eax, 0x3db19cf9
or eax, 0x266c5428
sub eax, 0x6f40c4f1
cmp eax, 0xcdc0cca8
je 0x18038f610
jmp 0x18038f4fc
cmp byte [rdi], 2
je 0x18038f513
sub rsp, 0x20
mov rcx, rdi
call fcn.180640670
add rsp, 0x20
jmp 0x18038f513
cmp r12b, 2
sete al
test al, 1
jne 0x18038f53a
jmp 0x18038f520
mov rax, qword [r14]
mov rcx, qword [rbp - 0x18]
mov rcx, qword [rcx]
add rax, 0x18
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
jmp 0x18038f54f
sub rsp, 0x20
mov rcx, rsi
call fcn.180643fa0
add rsp, 0x20
jmp 0x18038f29d
mov al, r12b
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop rsp
pop r13
pop r14
pop r15
pop rbp
ret
jp 0x18038f58d
mov ebx, 0xc23951be
mov dh, 0xe9
sti
invalid
pop rax
pop rsp
sub dword [rsp + rdx*8], ecx
mov ebp, 0x83481abf
in al, dx
and byte [rax - 0x77], cl
int1
call fcn.180643f20
add rsp, 0x20
jmp 0x18038f147
jb 0x18038f55a
invalid
mov al, byte [rdx - 0x95a35ea]
int1
adc ch, cl
mov edi, 0xe9fffffc
leave
xchg edi, eax
stosq qword [rdi], rax
in eax, 0x25
call 0x1a12578ff
call fcn.180645b70
add rsp, 0x20
jmp 0x18038f2c7
jmp 0x12b868d79
test al, 0x96
adc eax, 0x1246d199
jp 0x18038f5d4
in al, dx
movabs eax, dword [0xb31efffffd96e966]
invalid
invalid
invalid
rol dword [rbx], 0xd6
lodsd eax, dword [rsi]
jmp 0x1494cbca9
cmpsd dword [rsi], dword [rdi]
mov ebx, 0x3f1ec9
mov bh, 0x8d
jmp 0x18038f4d3