Function at 0x18049b230
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov r14, r8
mov qword [rbp - 0x10], rcx
mov eax, dword [0x1807a9810]
sub eax, dword [0x1807a9814]
xor eax, 0xbc36cf9c
imul eax, eax, 0x2a9c4436
add eax, 0x4f901396
cmp eax, 0x6d8344d1
je 0x18049b941
jmp 0x18049b275
mov eax, dword [0x1807a9818]
mov ecx, dword [0x1807a981c]
and eax, ecx
or eax, 0x2eaba7b2
imul ecx, eax, 0x31aa359c
and ecx, 0x5b6ea4a0
xor eax, eax
call fcn.180698e80
sub rsp, rax
mov r8, rsp
mov eax, 0x10a0
call fcn.180698e80
sub rsp, rax
mov r9, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r12, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r10, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rax, rsp
mov bl, dl
and bl, 1
cmp ecx, 0xe8a1afa0
je 0x18049b275
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x30], r8
jmp 0x18049b30c
mov qword [rbp - 0x20], r10
mov qword [rbp - 0x28], r9
mov eax, dword [0x1807a9820]
add eax, dword [0x1807a9824]
or eax, 0xebfa8dd9
sub eax, 0xbc2f6e88
or eax, 0x837a709f
cmp eax, 0x20cb613e
jbe 0x18049b952
jmp 0x18049b33c
mov eax, dword [0x1807a9828]
imul eax, dword [0x1807a982c]
mov ecx, 0x7d3d5b10
xor edx, edx
div ecx
mov ecx, 0x7ef7522e
xor edx, edx
div ecx
mov esi, eax
xor esi, 0xc06a8a96
sub rsp, 0x20
call fcn.180645b70
add rsp, 0x20
mov r13, rax
mov rdi, r13
add rdi, 0x50
mov al, byte [r13 + 0x50]
cmp esi, 0x656b1521
jb 0x18049b33c
jmp 0x18049b388
movzx ecx, al
test al, al
je 0x18049b39e
jmp 0x18049b391
sub rcx, 1
je 0x18049b3ba
jmp 0x18049b399
jmp 0x18049b6f0
lea rdx, [0x180477810]
sub rsp, 0x20
mov rcx, r13
call fcn.180666c30
add rsp, 0x20
mov byte [rdi], 1
jmp 0x18049b3ba
mov eax, dword [str.mcaZ]
imul eax, dword [0x1807a9834]
sub eax, 0x5bcd5fd7
and eax, 0xe2af3aae
xor eax, 0x9e214c33
cmp eax, 0x7ffc35a0
jae 0x18049b970
mov edx, dword [0x1807a9838]
or edx, dword [0x1807a983c]
and edx, 0xe3717f6c
add edx, 0x4068d09
or edx, 0xe6ec1d8f
mov rax, r13
add rax, 0x4e
cmp byte [r13 + 0x4e], 2
sete cl
cmp edx, 0x4053b8d4
je 0x18049b970
jmp 0x18049b41c
test cl, 1
jne 0x18049b428
jmp 0x18049b423
jmp 0x18049b8e6
mov byte [rax], bl
mov eax, dword [0x1807a9840]
add eax, dword [0x1807a9844]
imul eax, eax, 0x9e8709c6
or eax, 0xc4030c25
imul eax, eax, 0x9e2033b9
cmp eax, 0x785d2f15
mov rdi, qword [rbp - 0x10]
ja 0x18049b981
jmp 0x18049b458
mov esi, dword [0x1807a9848]
imul esi, dword [0x1807a984c]
add esi, 0xf3d0fef1
sub esi, 0x863d0a26
or esi, 0xa864f2a6
mov rax, qword [rdi]
lea rcx, [0x1806c9d70]
mov rcx, qword [rcx + rax*8]
add rcx, qword [rdi + 8]
sub rsp, 0x20
call fcn.18063c180
add rsp, 0x20
mov r8d, eax
mov r9d, edx
cmp esi, 0x9b583a88
jbe 0x18049b458
mov qword [rbp - 0x38], r14
jmp 0x18049b4aa
mov eax, dword [0x1807a9850]
and eax, dword [0x1807a9854]
add eax, 0x70931763
mov ecx, 0x9e955b68
xor edx, edx
div ecx
xor eax, 0x6dfa064d
cmp eax, 0x81f85b77
ja 0x18049b9b1
mov eax, dword [0x1807a9858]
add eax, dword [0x1807a985c]
mov ecx, 0xf84fbbfe
xor edx, edx
div ecx
and eax, 0x6cbddae2
xor eax, 0x922767db
mov rsi, r13
add rsi, 0x40
mov ecx, dword [r13 + 0x40]
mov r14, r13
add r14, 0x44
mov rbx, r13
add rbx, 0x48
cmp ecx, 0
sete cl
cmp eax, 0xd554f9ff
je 0x18049b9b1
test cl, 1
jne 0x18049b527
jmp 0x18049b646
mov dword [rbp], r9d
mov dword [rbp - 4], r8d
mov eax, dword [0x1807a9860]
add eax, dword [0x1807a9864]
imul eax, eax, 0xeb6b2b90
mov ecx, 0x9d9373ea
xor edx, edx
div ecx
xor eax, 0xb649fef2
cmp eax, 0xdf3aebe8
jae 0x18049b9c2
jmp 0x18049b55c
mov eax, dword [0x1807a9868]
sub eax, dword [0x1807a986c]
add eax, 0x9f7723c2
mov ecx, 0x483bb6cf
xor edx, edx
div ecx
mov edi, eax
and edi, 0x306e3b8
sub rsp, 0x20
call fcn.1806569b0
add rsp, 0x20
cmp edi, 0x7c13608c
ja 0x18049b55c
mov dword [rbp + 4], eax
mov edi, edx
jmp 0x18049b59a
mov eax, dword [0x1807a9870]
and eax, dword [0x1807a9874]
or eax, 0x16c26dfc
mov ecx, 0xae23a3a
xor edx, edx
div ecx
sub eax, 0xf3b4030b
cmp eax, 0xbb0b240e
mov r8d, dword [rbp - 4]
mov r9d, dword [rbp]
ja 0x18049b9e0
jmp 0x18049b5ce
mov eax, dword [0x1807a9878]
add eax, dword [0x1807a987c]
mov ecx, 0x44cc5449
xor edx, edx
div ecx
sub eax, 0x88ca28d5
sub eax, 0xb2b5692e
cmp eax, 0xd84b2045
je 0x18049b5ce
jmp 0x18049b5f6
mov eax, dword [0x1807a9880]
xor eax, dword [0x1807a9884]
imul eax, eax, 0xaf88d26f
add eax, 0x4636a503
add eax, 0x65d84a40
cmp eax, 0x74bccef9
ja 0x18049b9f1
mov eax, dword [0x1807a9888]
imul eax, dword [0x1807a988c]
xor eax, 0x63d4ae9d
add eax, 0x8eb86463
and eax, 0x4a94a4cb
cmp eax, 0x475dce10
je 0x18049b9f1
jmp 0x18049b69c
mov edi, dword [rbx]
mov eax, dword [r14]
mov dword [rbp + 4], eax
mov eax, dword [0x1807a9890]
xor eax, dword [0x1807a9894]
sub eax, 0x42159483
sub eax, 0xec9a4396
or eax, 0x49992afa
cmp eax, 0xd2b51c2f
jae 0x18049ba02
mov eax, dword [0x1807a9898]
or eax, dword [0x1807a989c]
xor eax, 0x2268a6
xor eax, 0x408b4216
or eax, 0x107a1d4f
cmp eax, 0xb6a64e7b
ja 0x18049ba02
jmp 0x18049b69c
mov dword [rsi], 1
mov dword [r14], r8d
mov dword [rbx], r9d
sub rsp, 0x20
mov rcx, r12
mov rdx, r13
mov r8, qword [rbp - 0x10]
call fcn.180640700
add rsp, 0x20
mov eax, dword [rbp + 4]
mov dword [r12 + 0x18], eax
mov dword [r12 + 0x1c], edi
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov qword [r15], rcx
mov rcx, qword [r12 + 0x10]
mov qword [r15 + 8], rcx
mov rcx, qword [r12 + 0x18]
mov qword [r15 + 0x10], rcx
cmp rax, 5
jne 0x18049b744
ud2
mov rcx, qword [r15]
mov r9, qword [rbp - 0x18]
mov qword [r9], rcx
mov rcx, qword [r15 + 8]
mov qword [r9 + 8], rcx
mov rcx, qword [r15 + 0x10]
mov qword [r9 + 0x10], rcx
mov rdx, qword [rbp - 0x38]
mov rsi, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x20]
mov ecx, dword [0x1807a98b0]
sub ecx, dword [0x1807a98b4]
and ecx, 0x2ed4510a
xor ecx, 0x6684859a
or ecx, 0xa6e70008
cmp ecx, 0xba1fc579
jb 0x18049ba1c
mov ecx, dword [0x1807a98b8]
xor ecx, dword [0x1807a98bc]
imul r8d, ecx, 0xab059364
and r8d, 0x5333959d
add r8d, 0x35d17d85
cmp rax, 4
sete cl
cmp r8d, 0x6ea848dc
jb 0x18049ba1c
test cl, 1
jne 0x18049b8e6
jmp 0x18049b7d4
mov qword [rdi], rax
mov eax, dword [0x1807a98c0]
and eax, dword [0x1807a98c4]
add eax, 0x6f74416e
xor eax, 0x225a2e73
imul eax, eax, 0x1acd8289
cmp eax, 0x3c6e9cbf
je 0x18049ba29
jmp 0x18049b800
mov ecx, dword [0x1807a98c8]
and ecx, dword [0x1807a98cc]
xor ecx, 0x74b6d160
add ecx, 0x6f591bb5
sub ecx, 0xb51aedeb
mov rax, rdi
add rax, 8
cmp ecx, 0xd38021c9
jae 0x18049b800
jmp 0x18049b82f
mov rcx, qword [r9]
mov qword [rax], rcx
mov rcx, qword [r9 + 8]
mov qword [rax + 8], rcx
mov rcx, qword [r9 + 0x10]
mov qword [rax + 0x10], rcx
sub rsp, 0x20
mov rcx, rsi
mov r8d, 0x1098
call fcn.1806a7400
mov rcx, qword [rbp - 0x30]
mov rdx, rsi
call fcn.18038f620
add rsp, 0x20
test al, 1
jne 0x18049b86d
jmp 0x18049b8c5
ud2
sub rsp, 0x20
mov rcx, rdi
call fcn.180496770
add rsp, 0x20
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
mov eax, dword [0x1807a98e8]
add eax, dword [0x1807a98ec]
mov ecx, 0x28d9acfa
xor edx, edx
div ecx
imul eax, eax, 0xabee034c
add ebp, esi
stosd dword [rdi], eax
mov ecx, 0xec6afb05
xor edx, edx
div ecx
cmp eax, 0x864f310b
jae 0x18049b914
ud2
pop rdi
sbb dword [rax - 0x5fd26c2c], ecx
invalid
jb 0x18049b9a4
movabs dword fs:[0xf003d1ebfa06137f], eax
sub rsp, 0x20
call fcn.180645b70
add rsp, 0x20
jmp 0x18049b33a
and dl, byte [0x10e0cf008]
push rsi
lodsd eax, dword [rsi]
js 0x18049b92c
invalid
jne 0x18049b9fd
sub byte [rdi + 0x37], 0x3c
sbb al, 0x3b
sub cl, byte [rsi + 0x14]
mov rax, qword gs:[rdi]
lea rcx, [0x1806c9d70]
mov rcx, qword [rcx + rax*8]
add rcx, qword [rdi + 8]
sub rsp, 0x20
call fcn.18063c180
fadd dword [rdi]
sbb al, byte [rax]
add rsp, 0x20
jmp 0x18049b456
sub bl, dl
invalid
mov bl, 0xcb
invalid
mov esi, dword [rdi]
cmp eax, dword [rbx]
ret 0xb55d
push 0x22
or eax, 0xf086f65d
ret 0xd18d
jmp 0x18049b61d
xchg edi, eax
pop rbp
fistp qword [rax]
xchg dword [rdi - 0x7a], edi
jmp 0x18049b674
fdiv st(2)
test eax, 0x26c49563
ret 0x6be9
pop rsi
xchg ebp, esi
cmp ch, byte [rbx + 0x51]
jmp 0x18049b7fe