Function at 0x1802488f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov eax, dword [0x18051f440]
sub eax, dword [0x18051f444]
sub eax, 0xa4b52862
add eax, 0xda41d174
imul eax, eax, 0xa7fb8a0
cmp eax, 0xa550f94b
jb 0x180248dfa
jmp 0x18024892c
mov eax, dword [0x18051f448]
or eax, dword [0x18051f44c]
add eax, 0xcc960f0e
mov ecx, 0x99378d4e
xor edx, edx
div ecx
sub eax, 0xf532517e
mov rcx, rsi
add rcx, 0xb8
cmp eax, 0x43e928f7
je 0x18024892c
jmp 0x18024895e
cmp byte [rcx], 0xa
setb al
test al, 1
jne 0x180248997
jmp 0x18024896a
mov rax, rsi
add rax, 0xc8
mov rdx, qword [rax]
cmp rdx, 0
sete al
test al, 1
jne 0x180248997
jmp 0x180248983
mov rcx, qword [rsi + 0xc0]
mov r8d, 1
call fcn.1802cbf20
jmp 0x180248997
mov rax, rsi
add rax, 0x60
cmp byte [rax], 2
setb al
test al, 1
jne 0x1802489d9
jmp 0x1802489aa
mov rdi, qword [rsi + 0x68]
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
mov rcx, rdi
add rcx, 0x18
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
call rax
mov rcx, rdi
mov edx, 0x20
mov r8d, 8
call fcn.1802cbf20
mov rax, qword [rsi + 0x70]
mov rax, qword [rax + 0x20]
mov rcx, rsi
add rcx, 0x88
mov rdx, qword [rsi + 0x78]
mov r8, qword [rsi + 0x80]
call rax
mov rax, rsi
add rax, 0x90
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, rsi
add rcx, 0xa8
mov rdx, qword [rsi + 0x98]
mov r8, rsi
add r8, 0xa0
mov r8, qword [r8]
call rax
mov rdi, qword [rsi + 0x50]
cmp rdi, 0
je 0x180248aa8
mov rax, rsi
add rax, 0x48
mov rbx, qword [rax]
shl rdi, 2
mov eax, dword [0x18051f450]
xor edx, edx
div dword [0x18051f454]
add eax, 0x367a1fdc
imul eax, eax, 0x31b6d88c
or eax, 0x96278c3
cmp eax, 0x4b691b9a
jb 0x180248e07
mov eax, dword [0x18051f458]
xor edx, edx
div dword [0x18051f45c]
imul ebp, eax, 0xe8b13c43
add ebp, 0x298742b7
xor ebp, 0xfcbe9c73
mov rcx, rbx
mov rdx, rdi
mov r8d, 2
call fcn.1802cbf20
cmp ebp, 0x45d7eeae
je 0x180248e07
jmp 0x180248aa8
mov rbx, rsi
add rbx, 0x18
mov rdi, rsi
add rdi, 0x20
mov r14, qword [rdi]
mov r15, qword [rsi + 0x28]
cmp r15, 0
je 0x180248b74
xor r12d, r12d
jmp 0x180248acc
imul rax, r12, 0x68
mov r13, r14
add r13, rax
add r12, 1
mov rax, qword [r13 + 0x40]
cmp rax, 0
je 0x180248afb
mov rax, qword [rax + 0x20]
mov rcx, r13
add rcx, 0x58
mov rdx, qword [r13 + 0x48]
mov r8, qword [r13 + 0x50]
call rax
jmp 0x180248afb
mov eax, dword [0x18051f460]
or eax, dword [0x18051f464]
xor eax, 0xf5829278
mov ecx, 0xc7f67802
xor edx, edx
div ecx
add eax, 0xe8424b6f
cmp eax, 0x6b30cdbb
je 0x180248e25
mov eax, dword [0x18051f468]
sub eax, dword [0x18051f46c]
imul eax, eax, 0xccbdbb85
sub eax, 0x10459b8b
imul ecx, eax, 0x45b956cd
mov rax, qword [r13 + 0x18]
cmp ecx, 0xd79f0201
jb 0x180248e25
jmp 0x180248b54
mov rax, qword [rax + 0x20]
mov rcx, r13
add rcx, 0x30
mov rdx, qword [r13 + 0x20]
mov r8, qword [r13 + 0x28]
call rax
cmp r12, r15
jne 0x180248acc
jmp 0x180248b74
mov rax, qword [rbx]
cmp rax, 0
je 0x180248bec
mov rdi, qword [rdi]
imul rbx, rax, 0x68
mov eax, dword [0x18051f470]
add eax, dword [0x18051f474]
mov ecx, 0xccae81f2
xor edx, edx
div ecx
or eax, 0x627302aa
xor eax, 0x2260a07d
cmp eax, 0x8bb95460
ja 0x180248e32
jmp 0x180248bb0
mov ebp, dword [0x18051f478]
imul ebp, dword [0x18051f47c]
or ebp, 0x272cd8cc
xor ebp, 0xb3d0f4d8
sub ebp, 0xd9c8c77a
mov rcx, rdi
mov rdx, rbx
mov r8d, 8
call fcn.1802cbf20
cmp ebp, 0xd9adbba5
je 0x180248bb0
jmp 0x180248bea
jmp 0x180248bec
mov rbx, rsi
add rbx, 0x30
mov rdi, rsi
add rdi, 0x38
mov r14, qword [rsi + 0x38]
mov rax, rsi
add rax, 0x40
mov r15, qword [rax]
cmp r15, 0
je 0x180248c41
xor r12d, r12d
jmp 0x180248c13
imul rax, r12, 0x48
mov r8, r14
add r8, rax
add r12, 1
mov rax, qword [r8 + 0x20]
mov rax, qword [rax + 0x20]
mov rcx, r8
add rcx, 0x38
mov rdx, qword [r8 + 0x28]
mov r8, qword [r8 + 0x30]
call rax
cmp r12, r15
jne 0x180248c13
jmp 0x180248c41
mov r14, qword [rbx]
cmp r14, 0
je 0x180248cb6
mov rdi, qword [rdi]
mov eax, dword [0x18051f480]
or eax, dword [0x18051f484]
xor eax, 0x6acbabb4
imul eax, eax, 0xfb5b0dbd
add eax, 0x5e60d6a6
cmp eax, 0xc38921a2
je 0x180248e54
jmp 0x180248c76
mov eax, dword [0x18051f488]
xor edx, edx
div dword [0x18051f48c]
mov ebx, eax
xor ebx, 0x94e6544a
add ebx, 0xecc4a2c0
add ebx, 0xf4c2454b
imul rdx, r14, 0x48
mov rcx, rdi
mov r8d, 8
call fcn.1802cbf20
cmp ebx, 0xa3cb414
jb 0x180248c76
jmp 0x180248cb4
jmp 0x180248cb6
mov eax, dword [0x18051f490]
xor edx, edx
div dword [0x18051f494]
imul eax, eax, 0x382c1e4e
or eax, 0xd92095b6
mov ecx, 0xbfefd094
xor edx, edx
div ecx
cmp eax, 0x8c8d1044
ja 0x180248e77
jmp 0x180248ce5
mov ecx, dword [0x18051f498]
or ecx, dword [0x18051f49c]
and ecx, 0x7af7aa4a
sub ecx, 0xeeb4dfa2
or ecx, 0xb1659648
mov rax, rsi
add rax, 0xd0
cmp ecx, 0xc5bf5133
je 0x180248ce5
jmp 0x180248d16
mov rsi, qword [rax]
cmp rsi, 0
sete cl
mov eax, dword [0x18051f4a0]
xor eax, dword [0x18051f4a4]
and eax, 0x35894d4b
and eax, 0x1c5171a
imul eax, eax, 0x199ebe4f
cmp eax, 0xffe7bc8b
ja 0x180248e84
mov eax, dword [0x18051f4a8]
xor edx, edx
div dword [0x18051f4ac]
or eax, 0xcc95b0b9
xor eax, 0x3e2238eb
add eax, 0xc6359c71
cmp eax, 0x7a214daf
jbe 0x180248e84
test cl, 1
jne 0x180248de9
jmp 0x180248d76
mov rcx, rsi
call fcn.1802695e0
mov eax, dword [0x18051f4b0]
xor edx, edx
div dword [0x18051f4b4]
sub eax, 0xd8e7cef7
sub eax, 0x99eb997
mov ecx, 0xd462044c
xor edx, edx
div ecx
cmp eax, 0x216fef01
je 0x180248e95
jmp 0x180248dac
mov eax, dword [0x18051f4b8]
or eax, dword [0x18051f4bc]
imul edi, eax, 0x4fa2d7cc
add edi, 0xe44117a4
xor edi, 0xe0616683
mov rcx, rsi
mov edx, 0x20
mov r8d, 8
call fcn.1802cbf20
cmp edi, 0xa493450d
jbe 0x180248dac
jmp 0x180248de7
jmp 0x180248de9
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x6781887
stosb byte [rdi], al
call 0x17b48775c
invalid
or ah, byte [rbx]
mov edi, 0xdcd74d65
mov rcx, rbx
mov rdx, rdi
mov r8d, 2
call fcn.1802cbf20
jmp 0x180248a69
sbb al, 0x2a
out dx, al
or al, 0xa3
jnp 0x180248db8
psubsw mm6, mm3
cld
invalid
invalid
adc al, 0x4b
hlt
mov ah, byte [rsi + 0x3c]
fisubr word [rdx - 0x1670fce4]
pop rdi
invalid
cmp byte [rdx - 0x1a79c909], dh
invalid
hlt