Function at 0x180248250
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov r8, qword [rsi]
cmp r8, 0
sete al
test al, 1
jne 0x1802482dc
jmp 0x18024826b
mov eax, dword [0x18051f3a0]
sub eax, dword [0x18051f3a4]
and eax, 0x7eac98ee
sub eax, 0xa81cfdb4
mov ecx, 0x51272b88
xor edx, edx
div ecx
cmp eax, 0xf15454e8
je 0x180248689
mov eax, dword [0x18051f3a8]
and eax, dword [0x18051f3ac]
imul eax, eax, 0xae775f23
xor eax, 0xd35a7a4c
mov ecx, 0xa25b349
xor edx, edx
div ecx
mov rcx, rsi
add rcx, 8
cmp eax, 0x6a0cfda9
jae 0x180248689
jmp 0x1802482c9
mov rcx, qword [rcx]
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
jmp 0x1802482dc
mov eax, dword [0x18051f3b0]
xor eax, dword [0x18051f3b4]
imul eax, eax, 0x149e94ac
sub eax, 0x2d1e56d6
xor eax, 0xe285126c
cmp eax, 0x9963cf0c
je 0x18024869a
jmp 0x180248305
mov eax, dword [0x18051f3b8]
sub eax, dword [0x18051f3bc]
mov ecx, 0x5d6e956a
xor edx, edx
div ecx
add eax, 0xfe145b48
mov ecx, 0x63847c35
xor edx, edx
div ecx
mov rcx, rsi
add rcx, 0x18
cmp eax, 0xa169a500
jae 0x180248305
jmp 0x180248338
mov rdx, qword [rcx]
cmp rdx, 0
sete al
test al, 1
jne 0x1802483b0
jmp 0x180248348
mov rax, rsi
add rax, 0x20
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
mov eax, dword [0x18051f3c0]
imul eax, dword [0x18051f3c4]
add eax, 0x17a96bbc
and eax, 0xd69241c9
add eax, 0x7770edbc
cmp eax, 0x5da47ff2
ja 0x1802486ab
mov eax, dword [0x18051f3c8]
or eax, dword [0x18051f3cc]
mov ecx, 0xa85db424
xor edx, edx
div ecx
add eax, 0xf01d2a49
sub eax, 0x34d23bec
cmp eax, 0x4e21d9c0
je 0x1802486ab
jmp 0x1802483b0
mov rax, rsi
add rax, 0x30
mov r8, qword [rax]
cmp r8, 0
sete al
test al, 1
jne 0x180248431
jmp 0x1802483c7
mov r9, rsi
add r9, 0x38
mov eax, dword [0x18051f3d0]
xor edx, edx
div dword [0x18051f3d4]
or eax, 0xefcc7734
and eax, 0xcba310b4
sub eax, 0xecc730c1
cmp eax, 0xe77c51c1
jae 0x1802486b8
jmp 0x1802483f8
mov eax, dword [0x18051f3d8]
xor eax, dword [0x18051f3dc]
mov ecx, 0xae7c29f8
xor edx, edx
div ecx
add eax, 0x19dd7f8e
and eax, 0xc26da593
mov rcx, qword [r9]
cmp eax, 0xa415d47e
jae 0x1802483f8
jmp 0x180248423
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
mov rax, rsi
add rax, 0x48
mov rdx, qword [rax]
cmp rdx, 0
sete al
test al, 1
jne 0x18024845d
jmp 0x180248448
mov rax, rsi
add rax, 0x50
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
mov rax, rsi
add rax, 0x60
mov rdx, qword [rax]
cmp rdx, 0
je 0x18024847e
mov rcx, qword [rsi + 0x68]
mov r8d, 1
call fcn.1802cbf20
jmp 0x18024847e
mov rdx, qword [rsi + 0x78]
cmp rdx, 0
sete al
test al, 1
jne 0x1802484fa
jmp 0x18024848f
mov rax, rsi
add rax, 0x80
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
mov eax, dword [0x18051f3e0]
sub eax, dword [0x18051f3e4]
xor eax, 0xe833567c
mov ecx, 0x54b2cf95
xor edx, edx
div ecx
xor eax, 0x43c08d92
cmp eax, 0x1aa438fd
je 0x1802486c5
mov eax, dword [0x18051f3e8]
xor edx, edx
div dword [0x18051f3ec]
add eax, 0xb483bfbb
or eax, 0x5966b57d
and eax, 0x48b7999f
cmp eax, 0x726ce54d
jae 0x1802486c5
jmp 0x1802484fa
mov r8, qword [rsi + 0x90]
cmp r8, 0
sete al
test al, 1
jne 0x180248575
jmp 0x18024850e
mov eax, dword [0x18051f3f0]
xor edx, edx
div dword [0x18051f3f4]
add eax, 0x7a2e4636
sub eax, 0x58339098
sub eax, 0x8f26eef1
cmp eax, 0x9d61b94f
ja 0x1802486d6
mov eax, dword [0x18051f3f8]
or eax, dword [0x18051f3fc]
sub eax, 0xa39acbc9
sub eax, 0x77c0935
or eax, 0x61ebec63
mov rcx, qword [rsi + 0x98]
cmp eax, 0x5ab64a7c
jbe 0x1802486d6
jmp 0x180248565
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
jmp 0x180248575
mov rax, rsi
add rax, 0xa8
mov rdi, qword [rax]
cmp rdi, 0
je 0x1802485f7
mov rax, rsi
add rax, 0xb0
mov rbx, qword [rax]
mov eax, dword [0x18051f400]
sub eax, dword [0x18051f404]
imul eax, eax, 0x84d1bd4
sub eax, 0xdd7aa3ea
imul eax, eax, 0x82a7afd3
cmp eax, 0xf3147988
ja 0x1802486e7
mov eax, dword [0x18051f408]
imul eax, dword [0x18051f40c]
add eax, 0x27f90cbc
or eax, 0x88a7a74d
imul ebp, eax, 0x2b774c
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1802cbf20
cmp ebp, 0xdc9646fd
jae 0x1802486e7
jmp 0x1802485f7
mov rax, rsi
add rax, 0xc0
mov r8, qword [rax]
cmp r8, 0
sete al
test al, 1
jne 0x18024867f
jmp 0x180248610
mov eax, dword [0x18051f410]
and eax, dword [0x18051f414]
and eax, 0xf6e563f3
mov ecx, 0x705a2258
xor edx, edx
div ecx
add eax, 0x9c5b1c09
cmp eax, 0x39731e26
je 0x180248705
mov eax, dword [0x18051f418]
sub eax, dword [0x18051f41c]
add eax, 0xf7f42b8a
imul ecx, eax, 0xcafb2f33
or ecx, 0xb1fe2849
mov rax, rsi
add rax, 0xc8
cmp ecx, 0xe13d79da
jae 0x180248705
jmp 0x18024866e
mov rcx, qword [rax]
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
add byte [rax + 0x28c48348], dl
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
add r12, r13
invalid
pop rax
shr cl, cl
sti
sti
invalid
sbb dword [rax + rsi*8 + 0x31fbc6a2], ebp
nop
jbe 0x18024867e
pop rsp
hlt
invalid
call 0x18ec64122
fdivr qword [rax - 0x61]
jmp 0x1802483f6
adc eax, dword [rsi - 0x23]
cwde
pop rsi
jb 0x180248693
sbb bl, byte [rdx]
adc dword [0x1802281be], eax
invalid
jle 0x1802486ef
sub al, 0xbc
adc esp, dword [rdx - 0x3d]
cmp eax, 0x1ea08401
jmp 0x180248536
ret 0x6534
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1802cbf20
jmp 0x1802485bb
sub dword [rbx], eax
and ch, byte [rdi]
in eax, 0x2d
clc
xchg cl, ch
sub bh, bh
invalid