Function at 0x180382c40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov rsi, rcx
mov r12, rsi
add r12, 0x388
mov cl, byte [rsi + 0x388]
mov eax, dword [0x18078cdf0]
add eax, dword [0x18078cdf4]
xor eax, 0x4e65e01a
and eax, 0xdc70990b
mov r8d, 0xd7e3c9c2
xor edx, edx
div r8d
cmp eax, 0xd6672f40
ja 0x18038330b
jmp 0x180382c8f
mov eax, dword [0x18078cdf8]
or eax, dword [0x18078cdfc]
mov r8d, 0xd3c3c73c
xor edx, edx
div r8d
or eax, 0x6daef38
mov r8d, 0xd4eae805
xor edx, edx
div r8d
movzx edx, cl
cmp eax, 0x2115e604
je 0x180382c8f
jmp 0x180382cc2
test edx, edx
je 0x180382cd8
jmp 0x180382cc8
sub edx, 1
je 0x18038321b
jmp 0x180382cd3
jmp 0x180383162
mov eax, dword [0x18078ce00]
imul eax, dword [0x18078ce04]
imul eax, eax, 0xa3b936c4
or eax, 0x80f93aea
and eax, 0xd4dc2cff
cmp eax, 0xc7137867
je 0x180383318
jmp 0x180382d02
mov eax, dword [0x18078ce08]
xor eax, dword [0x18078ce0c]
imul edi, eax, 0x174dd4cf
sub edi, 0xc76e8454
or edi, 0xd8ab0068
lea rcx, [rsp + 0x28]
mov rdx, rsi
mov r8d, 0x28
call fcn.1806a7400
mov rcx, rsi
add rcx, 0x30
lea rdx, [rsp + 0x28]
call fcn.180621090
mov rax, rsi
add rax, 0x40
cmp edi, 0x23a54326
je 0x180382d02
jmp 0x180382d55
mov rax, qword [rax]
cmp rax, 0
jne 0x180382e19
mov eax, dword [0x18078ce10]
xor edx, edx
div dword [0x18078ce14]
mov ecx, 0x8e7e035f
xor edx, edx
div ecx
mov ecx, 0xbea05a9a
xor edx, edx
div ecx
imul eax, eax, 0x1228c403
cmp eax, 0x18454b3f
jae 0x180383349
jmp 0x180382d95
mov eax, dword [0x18078ce18]
xor eax, dword [0x18078ce1c]
add eax, 0x67451bf7
or eax, 0x1ae984f5
and eax, 0x4bd8a8b
ud2
mov ecx, dword [0x18078ce30]
add ecx, dword [0x18078ce34]
and ecx, 0xeb92a7d
xor ecx, 0xbcb03d62
xor ecx, 0xdd618f75
cmp ecx, 0xf82a1d9f
jae 0x180383365
jmp 0x180382e45
mov ecx, dword [0x18078ce38]
add ecx, dword [0x18078ce3c]
or ecx, 0xa2a5e1a0
imul edx, ecx, 0x9e57d0f5
add edx, 0x81041fc0
mov rcx, rsi
add rcx, 0x38
cmp edx, 0x756220e9
je 0x180382e45
jmp 0x180382e74
mov edx, dword [0x18078ce40]
and edx, dword [0x18078ce44]
xor edx, 0x5fc7d79f
add edx, 0xda82ba2c
imul edx, edx, 0x3c559998
cmp edx, 0x5d82fc36
jbe 0x180383376
mov edx, dword [0x18078ce48]
add edx, dword [0x18078ce4c]
imul r8d, edx, 0x5c2d06cd
add r8d, 0x1331d197
xor r8d, 0xeeefbd90
mov rbx, qword [rcx]
mov bpl, byte [rbx]
mov rdi, rax
add rdi, 0xffffffffffffffff
cmp rdi, 0
setl dl
cmp r8d, 0xf69d7a71
je 0x180383376
jmp 0x180382ee2
mov eax, dword [0x18078ce50]
and eax, dword [0x18078ce54]
xor eax, 0xd22b4915
xor eax, 0x84668cf7
imul eax, eax, 0x78df14bc
cmp eax, 0x6091322c
je 0x180383383
mov eax, dword [0x18078ce58]
imul eax, dword [0x18078ce5c]
sub eax, 0xf1e0fd2f
sub eax, 0x45a4ffba
xor eax, 0xcd638ebe
cmp eax, 0x7f2ceaf6
je 0x180383383
xor r15d, r15d
test dl, 1
jne 0x1803830d2
jmp 0x180382f3e
mov eax, dword [0x18078ce60]
or eax, dword [str.A_:]
mov ecx, 0x60304720
xor edx, edx
div ecx
sub eax, 0x8010d55
add eax, 0x2eef44cc
cmp eax, 0x9b320e14
jae 0x180383390
mov ecx, dword [0x18078ce68]
sub ecx, dword [0x18078ce6c]
add ecx, 0x3b8c1047
add ecx, 0x8bc1a2b
add ecx, 0xc24b97e6
cmp rdi, 0
sete al
cmp ecx, 0xf084a53c
je 0x180383390
jmp 0x180382f9b
mov r14d, 1
test al, 1
jne 0x18038312e
jmp 0x180382fab
mov eax, dword [0x18078ce70]
imul eax, dword [0x18078ce74]
imul eax, eax, 0x8edfbbe5
mov ecx, 0xa04946c8
xor edx, edx
div ecx
xor eax, 0xb38df87b
cmp eax, 0xc898d6ea
je 0x18038339d
mov eax, dword [0x18078ce78]
sub eax, dword [0x18078ce7c]
or eax, 0xc0954505
xor eax, 0x37ad1e1f
mov ecx, 0xd50cd8ce
xor edx, edx
div ecx
mov cl, byte [0x1807afe04]
cmp eax, 0x2859ccd3
jae 0x18038339d
jmp 0x180383009
mov eax, dword [0x18078ce80]
or eax, dword [0x18078ce84]
xor eax, 0x1a798f41
or eax, 0x37fbed7a
and eax, 0x65e3e35
cmp eax, 0x4a39346f
je 0x1803833b4
mov eax, dword [0x18078ce88]
xor edx, edx
div dword [0x18078ce8c]
mov ecx, 0xb99203cd
xor edx, edx
div ecx
add eax, 0x2426e070
imul r15d, eax, 0x1f61ffaa
mov rcx, rdi
mov edx, 1
call fcn.1804caf90
mov r14, rax
cmp r15d, 0x1773a3d6
jbe 0x1803833b4
jmp 0x180383071
mov r15d, 1
cmp r14, 0
je 0x1803830d2
mov eax, dword [0x18078ce90]
imul eax, dword [0x18078ce94]
imul eax, eax, 0x270d20c1
xor eax, 0xcd236909
imul eax, eax, 0x53f6dad3
cmp eax, 0x64c7e0ac
je 0x1803833ce
mov eax, dword [0x18078ce98]
xor edx, edx
div dword [0x18078ce9c]
and eax, 0xe3b89a36
add eax, 0x2b43164
or eax, 0x5c3ab27b
cmp eax, 0x25d2b030
jb 0x1803833ce
jmp 0x1803830d0
jmp 0x18038312e
mov eax, dword [0x18078cea0]
add eax, dword [0x18078cea4]
imul eax, eax, 0x8bcc683
or eax, 0x50f20290
and eax, 0xb529e9de
cmp eax, 0x18c0d33e
jb 0x1803833db
jmp 0x1803830fb
mov esi, dword [0x18078cea8]
and esi, dword [0x18078ceac]
xor esi, 0x7e95fbd6
xor esi, 0xec0f1527
and esi, 0x21ce6de8
mov rcx, r15
mov rdx, rdi
call fcn.18063bc30
cmp esi, 0x843794ce
ja 0x1803830fb
ud2
add rbx, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.1806a7400
mov rax, qword [rsi + 0x28]
mov qword [rsi + 0x48], rdi
mov qword [rsi + 0x50], r14
mov qword [rsi + 0x58], rdi
mov qword [rsi + 0x60], rax
mov byte [rsi + 0x88], 0
mov byte [rsi + 0x89], bpl
mov eax, dword [0x18078ceb0]
add eax, dword [0x18078ceb4]
sub eax, 0x54141ead
mov ecx, 0x5f671f91
xor edx, edx
div ecx
and eax, 0xc917d454
cmp eax, 0x558233a9
ja 0x1803833f7
mov eax, dword [0x18078ceb8]
sub eax, dword [0x18078cebc]
or eax, 0x42be0616
imul eax, eax, 0x8873f6ee
xor eax, 0x854534a4
mov rdi, rsi
add rdi, 0x48
cmp eax, 0x9bdfa8a8
jb 0x1803833f7
jmp 0x1803831bc
mov rcx, rdi
call fcn.18035be50
mov bl, al
mov eax, dword [0x18078cec0]
and eax, dword [0x18078cec4]
add eax, 0xc44a6630
and eax, 0xcd28ca1f
add eax, 0xfd5b92ed
cmp eax, 0x1a5859c8
jb 0x180383408
mov eax, dword [0x18078cec8]
sub eax, dword [0x18078cecc]
sub eax, 0x86924be0
sub eax, 0x819f0cc2
xor eax, 0xa484ce88
cmp eax, 0xbee9de18
ja 0x180383408
mov al, 3
test bl, 1
jne 0x18038321f
jmp 0x18038328b
ud2
mov ecx, dword [0x18078ced0]
imul ecx, dword [0x18078ced4]
or ecx, 0xf88bba11
xor ecx, 0x302f78ce
or ecx, 0x8fd43e96
cmp ecx, 0xa950fd5a
je 0x180383419
jmp 0x18038324c
mov ecx, dword [0x18078ced8]
sub ecx, dword [0x18078cedc]
xor ecx, 0xb9324cad
add ecx, 0x1ce3c7e5
imul ecx, ecx, 0x4fa59ff8
mov byte [r12], al
cmp ecx, 0xc1c431f1
jae 0x18038324c
and bl, 1
movzx eax, bl
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rcx, rdi
call fcn.180355b10
mov rdx, qword [rsi + 0x30]
cmp rdx, 0
sete cl
mov eax, dword [0x18078cee0]
and eax, dword [0x18078cee4]
xor eax, 0x34afad9
or eax, 0x7192a4d3
xor eax, 0x2bd0e385
cmp eax, 0xf7e75b8e
jae 0x18038342e
jmp 0x1803832c6
mov eax, dword [0x18078cee8]
and eax, dword [0x18078ceec]
sub eax, 0x9619e783
add eax, 0x919a58ea
and eax, 0x1ad77252
cmp eax, 0x1f89ea7b
ja 0x1803832c6
mov al, 1
test cl, 1
jne 0x18038321f
jmp 0x1803832f5
mov rcx, qword [rsi + 0x38]
mov r8d, 1
add dword [rax], eax
add byte [rax], al
call fcn.1804cafa0
mov al, 1
jmp 0x18038321f
mov cl, 0xd1
fst dword [rbp - 0x47]
fdiv dword [rax]
mov ch, 0xe9
mov ecx, 0xe9b530d8
jne 0x18038330f
invalid
vfmsub213sd xmm5, xmm13, qword [r9 + 0x48fb2998]
lea ecx, [rsp + 0x28]
mov rdx, rsi
mov r8d, 0x28
call fcn.1806a7400
mov rcx, rsi
add rcx, 0x30
lea rdx, [rsp + 0x28]
call fcn.180621090
jmp 0x180382d00
in eax, dx
setp byte [rdi]
and eax, dword [rbp + 0xb0fc101]
jmp 0x180382d93
jbe 0x1803833b5
jae 0x1803832fb
invalid
or eax, 0x453a82b6
wait
invalid
xchg esi, eax
and dword [0x12b3f2593], eax
xchg ecx, eax
jmp 0x180382f09
or edx, esi
invalid
pop rbp
cmp ecx, eax
adc rdi, 0xffffffffcbe9d5cc
sti
invalid
rcl byte [rsi + 0x71], cl
invalid
invalid
push 0x5a8ddcee
invalid
adc ah, byte [rcx]
jns 0x180383386
stosb byte [rdi], al
xchg esp, eax
xor dword [rbx], eax
jmp 0x1803830a6
sub al, 0xe7
xor al, 0x69
in eax, 0xd1
call 0x1fd8cf337
movabs eax, dword [0x3ee8fa8948f9894c]
mov byte [rbx], ch
add cl, ch
add bh, ch
invalid
xchg edi, esi
fst qword [rbx + riz*4 + 0x3e]
enter 0x7645, 0x34
invalid
sti
hlt
or al, 0x74
invalid
enter 0x714b, 0xfffffffffffffff6
cwde
mov ebp, 0x89e9dd48
invalid