Function at 0x180385120
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rax, rsi
add rax, 0x279
movzx ecx, byte [rax]
mov eax, dword [0x18078d210]
add eax, dword [0x18078d214]
or eax, 0x2f3b3f34
mov r8d, 0xd036623a
xor edx, edx
div r8d
mov r8d, 0x34702afd
xor edx, edx
div r8d
cmp eax, 0x66cec9e5
ja 0x18038557c
jmp 0x18038516a
mov eax, dword [0x18078d218]
add eax, dword [0x18078d21c]
xor eax, 0x2b5bfd59
or eax, 0x9be8c0d1
or eax, 0x7d0e7270
invalid
jge 0x1803851c3
lodsb al, byte [rsi]
bnd je 0x18038516a
mov eax, ecx
sub ecx, 5
ja case.0x1803851a1.1
lea rcx, [0x1806c4f10]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x18078d220]
sub eax, dword [0x18078d224]
add eax, 0x8a494884
mov ecx, 0x29279436
xor edx, edx
div ecx
or eax, 0x7df6ea7c
cmp eax, 0xb567d033
je 0x18038558d
jmp 0x1803851cf
mov eax, dword [0x18078d228]
xor eax, dword [0x18078d22c]
add byte [0x15671bca3], al
imul eax, eax, 0x3bb8779
add eax, 0xc24015a7
cmp eax, 0x3ca4c45f
je 0x1803851cf
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov eax, dword [0x18078d230]
sub eax, dword [0x18078d234]
sub eax, 0xc584e9db
and eax, 0xb8425635
or eax, 0xc62e05b4
cmp eax, 0xf41f7ae7
ja 0x18038559e
jmp 0x180385222
mov ebx, dword [0x18078d238]
imul ebx, dword [0x18078d23c]
or ebx, 0xc5d8cc8a
or ebx, 0x68ce3a7f
sub ebx, 0x386863e8
mov rcx, rsi
call fcn.1803881e0
mov rdi, rsi
add rdi, 0xe0
cmp ebx, 0xeaa73534
ja 0x180385222
jmp 0x18038525d
mov eax, dword [0x18078d240]
or eax, dword [0x18078d244]
imul eax, eax, 0x99100a24
add eax, 0x2f4254a
imul eax, eax, 0x479c90e5
cmp eax, 0x85d2ca26
jb 0x1803855b7
jmp 0x180385287
mov esi, dword [0x18078d248]
and esi, dword [0x18078d24c]
xor esi, 0x4e760e39
add esi, 0xd47df624
idiv byte [rbp - 0x2c]
xor esi, 0xef7dae56
mov rcx, rdi
call fcn.1803879c0
cmp esi, 0xe33fcd3d
je 0x180385287
jmp 0x1803852b7
jmp case.0x1803851a1.1
mov rax, rsi
add rax, 0x2a9
mov cl, byte [rax]
mov eax, dword [0x18078d250]
or eax, dword [0x18078d254]
and eax, 0xe95cc357
mov r8d, 0x25008a56
xor edx, edx
div r8d
imul eax, eax, 0x30927b3a
cmp eax, 0xf6690fb8
je 0x1803855d0
jmp 0x1803852f6
mov edx, dword [0x18078d258]
sub edx, dword [0x18078d25c]
and edx, 0x4e85f356
and edx, 0x7b8ded88
xor edx, 0x6b2103e4
in al, 3
and dword [rbx - 0x80], ebp
stc
add byte [rdi], cl
xchg esp, eax
rol byte [rcx + 0x776fcdfa], 0x6a
ja 0x1803852f6
test al, 1
jne 0x18038549f
jmp 0x1803854b0
mov cl, byte [rsi + 0x2a9]
mov eax, dword [0x18078d260]
and eax, dword [0x18078d264]
and eax, 0x6b797e4b
mov r8d, 0x6ddd1f93
xor edx, edx
div r8d
imul eax, eax, 0x243ddc49
cmp eax, 0x308e2a2e
ja 0x1803855e1
mov edx, dword [0x18078d268]
sub edx, dword [str.On3__a]
and edx, 0xc4185b2c
and edx, 0x7a234086
and edx, 0xbc5aa19
cmp cl, 0
stc
add byte [rdi], cl
xchg esp, eax
rol byte [rcx - 0x6e882006], 0xc3
jae 0x1803855e1
jmp 0x180385394
test al, 1
jne 0x18038549f
jmp 0x1803854b0
mov al, byte [rsi + 0xae8]
mov ecx, dword [0x18078d270]
add ecx, dword [0x18078d274]
and ecx, 0x117ba5f6
and ecx, 0x21e8d63e
imul ecx, ecx, 0xc1c91925
cmp ecx, 0x7f3ca702
jb 0x1803855ee
mov edx, dword [0x18078d278]
sub edx, dword [0x18078d27c]
xor edx, 0xb5fd6bd6
and edx, 0xc8196483
xor edx, 0xbed24c68
movzx ecx, al
cmp edx, 0xd9621c9e
je 0x1803855ee
jmp 0x180385400
test ecx, ecx
je 0x180385410
jmp 0x180385406
sub ecx, 3
je 0x180385433
jmp 0x180385520
mov rcx, rsi
add rcx, 0x280
call fcn.1803881e0
mov rcx, rsi
add rcx, 0x360
call fcn.1803879c0
jmp 0x180385520
mov rdi, rsi
add rdi, 0x3d0
mov eax, dword [0x18078d280]
or eax, dword [0x18078d284]
or eax, 0x1580dfef
sub eax, 0xdcece2d4
sub eax, 0x85971a40
cmp eax, 0xd9e3a603
ja 0x1803855fb
jmp 0x180385465
mov eax, dword [0x18078d288]
and eax, dword [0x18078d28c]
mov ecx, 0x5f834cd3
xor edx, edx
div ecx
mov ebx, eax
xor ebx, 0xc75eee16
and ebx, 0xdff13dd
mov rcx, rdi
call fcn.180385f80
cmp ebx, 0xb6e2232c
jae 0x180385465
jmp 0x18038549a
jmp 0x180385520
mov rcx, rsi
add rcx, 0x280
call fcn.1803879c0
jmp 0x1803854b0
mov rdi, rsi
add rdi, 0x198
mov eax, dword [0x18078d290]
add eax, dword [0x18078d294]
mov ecx, 0xe6cbd11a
xor edx, edx
div ecx
mov ecx, 0xeb7e1ab1
xor edx, edx
div ecx
imul eax, eax, 0x5d384a44
cmp eax, 0x5e7dad79
je 0x180385614
mov ebx, dword [0x18078d298]
imul ebx, dword [0x18078d29c]
or ebx, 0x160c393e
sub ebx, 0xac62baae
or ebx, 0xdf7b4136
mov rcx, rdi
call fcn.1803881e0
cmp ebx, 0xf43b6362
jb 0x180385614
jmp 0x18038551e
jmp 0x180385520
add rsi, 0x27a
mov eax, dword [0x18078d2a0]
sub eax, dword [0x18078d2a4]
and eax, 0xc31f2a45
xor eax, 0x517dbd71
add eax, 0x7146c665
cmp eax, 0x3232ef8d
jae 0x18038562d
jmp 0x18038554f
mov eax, dword [0x18078d2a8]
sub eax, dword [0x18078d2ac]
imul eax, eax, 0x46fd76a7
sub eax, 0xf326e6b3
add byte [rcx - 0x40], bpl
cmpsd dword [rsi], dword [rdi]
jbe 0x18038555d
sub eax, 0xf326e6b3
add eax, 0x13e31bef
mov byte [rsi], 0
cmp eax, 0x55a5e405
je 0x18038554f
jmp 0x180385577
jmp case.0x1803851a1.1
jp 0x180385559
iretd
sub byte [rdx + 0xe], al
in al, dx
add ebp, dword [rdx]
ror dword [rbx + 0x43], 1
sbb eax, 0x2fe94680
cld
invalid
test al, 0xde
cmp dword [rsi], 0x8193370d
xor byte [rax + rcx*2 + 0x2ee8f189], ch
sub al, 0
add cl, ch
imul edi, esp, 0xe065ffff
invalid
loopne 0x180385601
invalid
jmp 0x180385285
mov esp, 0xd9ccf2b4
mov dl, 0x88
push rsi
and edi, 0xfffffff5
shr ecx, cl
adc edi, ebp
invalid
invalid
imul ebp, dword [rsi], 0x17
sar bh, 1
pop rax
popfq
imul ebp, ecx, 0xfffffdd6
sar byte [rax - 0x33], 0x3c
or r14b, cl
js 0x1803855cb
cmp al, 0x4b
or dh, cl
invalid
invalid
pop rdi
out dx, al
jnp 0x1803855fc
sbb ch, byte [rsi - 0x5b]
invalid
rep outsb dx, byte [rsi]
cmpsb byte [rsi], byte [rdi]
mov esi, 0xc6b6cf33
invalid