Function at 0x18035b480
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov eax, dword [0x180789370]
imul eax, dword [0x180789374]
add eax, 0xc6aabb96
imul eax, eax, 0xeb321c96
and eax, 0x8980139d
cmp eax, 0x6ffaa29c
je 0x18035bcc1
mov eax, dword [0x180789378]
mov edx, dword [0x18078937c]
add eax, edx
imul edx, eax, 0x6ed6eb5d
add edx, 0x671b43dd
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov r13, rsp
mov r12, rcx
add r12, 0x20
cmp edx, 0xbb664084
ja 0x18035bcc1
jmp 0x18035b4fc
mov eax, dword [0x180789380]
xor eax, dword [0x180789384]
or eax, 0x6af8502a
xor eax, 0x1229189e
or eax, 0x4a5b13c8
cmp eax, 0x37b4c9f2
jbe 0x18035bcd2
jmp 0x18035b524
mov edx, dword [0x180789388]
sub edx, dword [0x18078938c]
xor edx, 0x4d52d525
and edx, 0x49fd9da7
add edx, 0x6afda826
mov al, byte [r12]
cmp edx, 0xfe5b7666
je 0x18035b524
jmp 0x18035b550
mov edx, dword [0x180789390]
imul edx, dword [0x180789394]
and edx, 0x3d787495
add edx, 0x1e3c902
and edx, 0xc4a9779e
cmp edx, 0x83008c28
jae 0x18035bcdf
mov edx, dword [0x180789398]
imul edx, dword [0x18078939c]
or edx, 0xc2c7fa2d
imul r8d, edx, 0xeef020e9
and r8d, 0x3b223073
cmp al, 0
sete dl
cmp r8d, 0xa4192cac
jae 0x18035bcdf
test dl, 1
jne 0x18035b5b8
jmp 0x18035bc6d
mov rdi, qword [rcx + 0x18]
mov sil, byte [rcx + 0x21]
mov rbx, qword [rcx]
mov r14, qword [rcx + 8]
add rcx, 0x10
mov r15, qword [rcx]
mov al, byte [0x1807afe04]
sub rsp, 0x20
mov ecx, 1
mov edx, 1
call fcn.1804caf90
add rsp, 0x20
mov r8, rax
cmp r8, 0
jne 0x18035b6c1
mov eax, dword [0x1807893a0]
add eax, dword [0x1807893a4]
add eax, 0x1925a6c2
or eax, 0xf308850c
mov ecx, 0xf974a34e
xor edx, edx
div ecx
cmp eax, 0xba258dd9
jae 0x18035bcf0
jmp 0x18035b624
mov eax, dword [0x1807893a8]
sub eax, dword [0x1807893ac]
imul eax, eax, 0x41937395
mov ecx, 0x2a916309
xor edx, edx
div ecx
mov ecx, 0x7971dad0
xor edx, edx
div ecx
mov esi, eax
sub rsp, 0x20
mov ecx, 1
mov edx, 1
call fcn.18063bc30
add rsp, 0x20
cmp esi, 0xfe768520
jae 0x18035b624
jmp 0x18035b66b
mov eax, dword [0x1807893b0]
imul eax, dword [0x1807893b4]
or eax, 0x53f4db9b
imul eax, eax, 0x98bf7292
xor eax, 0x827219f9
cmp eax, 0x82c2ca0d
je 0x18035bd14
jmp 0x18035b695
mov eax, dword [0x1807893b8]
add eax, dword [0x1807893bc]
or eax, 0x29271c34
mov ecx, 0x161e323
xor edx, edx
div ecx
mov ecx, 0xa13c469d
xor edx, edx
div ecx
cmp eax, 0x1d4e0b61
jae 0x18035b695
ud2
mov qword [rbp - 8], rdi
mov byte [r8], sil
mov qword [r13], 1
mov rsi, r13
add rsi, 8
mov qword [r13 + 8], r8
mov eax, dword [0x1807893c0]
xor edx, edx
div dword [0x1807893c4]
imul eax, eax, 0x3301e3b7
add eax, 0x759f3b06
imul eax, eax, 0x256a4fb2
cmp eax, 0x1f78ae27
je 0x18035bd21
mov eax, dword [0x1807893c8]
sub eax, dword [0x1807893cc]
and eax, 0xb955658d
and eax, 0x36b9b9d8
xor eax, 0x5c373bd8
mov rdi, r13
add rdi, 0x10
mov qword [r13 + 0x10], 1
cmp r14, 0
setne cl
cmp eax, 0x63bc50c7
jbe 0x18035bd21
jmp 0x18035b743
mov r9d, 1
cmp r15, 0
je 0x18035b7c8
sub rsp, 0x30
mov rcx, r13
mov edx, 1
mov r8, r15
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.18045c010
add rsp, 0x30
mov r9, qword [rdi]
mov r8, qword [rsi]
mov eax, dword [0x1807893d0]
add eax, dword [str._uC]
sub eax, 0x1f77b512
and eax, 0x1447e84d
sub eax, 0xb0af3008
cmp eax, 0x9077615f
je 0x18035bd36
jmp 0x18035b7a4
mov eax, dword [0x1807893d8]
add eax, dword [0x1807893dc]
xor eax, 0x293e7553
add eax, 0x12d2035b
or eax, 0xdb40b66d
cmp eax, 0x2dea5ba3
jbe 0x18035b7a4
jmp 0x18035b7c8
mov qword [rbp], r8
add r8, r9
sub rsp, 0x20
mov rcx, r8
mov rdx, r14
mov r8, r15
mov rsi, r9
call fcn.1806a7400
mov r11, rsi
add rsp, 0x20
add r11, r15
mov qword [rdi], r11
cmp rbx, 0
je 0x18035b862
mov rdi, r11
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
mov eax, dword [0x1807893e0]
xor eax, dword [0x1807893e4]
sub eax, 0x46fb3849
and eax, 0xd495abae
or eax, 0x799c5ec0
cmp eax, 0xf12dadd6
je 0x18035bd43
mov r11, rdi
jmp 0x18035b83e
mov eax, dword [0x1807893e8]
and eax, dword [0x1807893ec]
and eax, 0x74657bbe
add eax, 0xd2970f0b
add eax, 0x8bcf189c
cmp eax, 0xe9ab84fa
ja 0x18035b83e
jmp 0x18035b862
mov eax, dword [0x1807893f0]
or eax, dword [0x1807893f4]
sub eax, 0xb4e48e22
sub eax, 0xd4b0c8b9
imul eax, eax, 0x5389a50b
cmp eax, 0x93ff072c
mov rcx, qword [rbp - 8]
je 0x18035bd54
mov eax, dword [0x1807893f8]
and eax, dword [0x1807893fc]
imul eax, eax, 0x315997c1
add eax, 0x86e89540
xor eax, 0x84fe854e
mov rbx, qword [r13]
cmp eax, 0xbf070b28
jae 0x18035bd54
jmp 0x18035b8ba
mov r14, qword [rcx]
mov r8, r14
add r8, 0x1c0
mov rcx, qword [r14 + 0x1c0]
jmp 0x18035b8d0
mov eax, dword [0x180789400]
imul eax, dword [0x180789404]
xor eax, 0x3350b0d0
add eax, 0x902bc2ff
and eax, 0x5e3444e8
cmp eax, 0xbcc8969
je 0x18035bd65
jmp 0x18035b8f9
mov eax, dword [0x180789408]
xor edx, edx
div dword [0x18078940c]
and eax, 0x96752762
sub eax, 0xcce15527
or eax, 0xc44cbe81
mov rdx, rcx
and rdx, 1
cmp rdx, 0
sete dl
cmp eax, 0xf7901db
je 0x18035b8f9
test dl, 1
jne 0x18035b935
jmp 0x18035bbd7
mov eax, dword [0x180789410]
and eax, dword [0x180789414]
imul eax, eax, 0xb26be450
mov r9d, 0x703f072d
xor edx, edx
div r9d
and eax, 0x37129e61
cmp eax, 0xec656666
ja 0x18035bd72
jmp 0x18035b964
mov eax, dword [0x180789418]
sub eax, dword [0x18078941c]
add eax, 0x93eb34df
mov r9d, 0x395fd544
xor edx, edx
div r9d
and eax, 0xca7c79a6
cmp rcx, 0xfffffffffffffffe
sete dl
cmp eax, 0xd2613934
jae 0x18035b964
jmp 0x18035b995
test dl, 1
jne 0x18035b99f
jmp 0x18035ba48
mov eax, dword [0x180789420]
and eax, dword [0x180789424]
sub eax, 0x267f376e
and eax, 0x3ac543a6
and eax, 0xccdb43db
cmp eax, 0xf2f75fae
ja 0x18035bd83
jmp 0x18035b9c7
mov eax, dword [0x180789428]
add eax, dword [0x18078942c]
sub eax, 0x149777f0
mov ecx, 0x1820dd1
xor edx, edx
div ecx
xor eax, 0xa1cd7787
mov ecx, 7
int 0x29
cmp eax, 0xcd35f217
ja 0x18035b9c7
jmp 0x18035b9f6
mov eax, dword [0x180789430]
sub eax, dword [0x180789434]
or eax, 0xf19f4842
and eax, 0x1301a7d2
add eax, 0x96ab3bfc
cmp eax, 0x5946ca15
je 0x18035bd9b
jmp 0x18035ba1e
mov eax, dword [0x180789438]
xor edx, edx
div dword [0x18078943c]
mov ecx, 0xcb2a200
xor edx, edx
div ecx
and eax, 0xe37e11ef
add eax, 0x4b5afd76
cmp eax, 0x44b566e3
je 0x18035ba1e
ud2
mov rdx, rcx
add rdx, 2
mov rax, rcx
lock cmpxchg qword [r8], rdx
mov rcx, rax
sete r9b
mov eax, dword [0x180789440]
xor eax, dword [0x180789444]
or eax, 0x157a62f2
sub eax, 0xdf0e337e
or eax, 0x9bd99f38
cmp eax, 0x47b120c3
jb 0x18035bda8
jmp 0x18035ba86
mov eax, dword [0x180789448]
xor eax, dword [0x18078944c]
and eax, 0x1b466947
xor eax, 0xad4d194b
mov r10d, 0xeec04d1a
xor edx, edx
div r10d
cmp eax, 0x1bcbf0f2
je 0x18035ba86
test r9b, 1
jne 0x18035bab9
jmp 0x18035b8d0
mov eax, dword [0x180789450]
imul eax, dword [0x180789454]
or eax, 0x3de5d1a0
xor eax, 0x98bf8e19
imul eax, eax, 0x1106c414
cmp eax, 0x1b7dc020
je 0x18035bdb9
mov r15, qword [rbp]
jmp 0x18035bae7
mov esi, 0x74677d33
mov rcx, r14
sub rcx, 0xffffffffffffff80
mov edi, 1
lock xadd qword [r14 + 0x88], rdi
sub rsp, 0x20
mov rdx, rdi
mov r13, r11
call fcn.180403270
mov r11, r13
add rsp, 0x20
mov r8, rax
and rdi, 0x1f
imul rax, rdi, 0x28
mov rcx, r8
add rcx, rax
movabs rax, 0x8000000000000001
mov qword [rcx], rax
mov qword [rcx + 8], rbx
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], r11
mov r9d, 1
mov rcx, rdi
shl r9, cl
add r8, 0x510
cmp esi, 0x494e9fef
jbe 0x18035bae7
jmp 0x18035bb5e
mov eax, dword [0x180789458]
add eax, dword [0x18078945c]
xor eax, 0x7634561
mov ecx, 0x77606b86
xor edx, edx
div ecx
sub eax, 0xb2521b28
cmp eax, 0xe383de60
ja 0x18035be19
mov eax, dword [0x180789460]
mov ecx, dword [0x180789464]
imul eax, ecx
imul rax, rax, 0x2bb691dd
shr rax, 0x3c
imul eax, eax, 0x33a87aec
add eax, 0xd39a7c4
lock or qword [r8], r9
mov rcx, r14
add rcx, 0x100
cmp eax, 0x726f7082
je 0x18035be19
jmp 0x18035bbc8
sub rsp, 0x20
call fcn.18063cf70
add rsp, 0x20
jmp 0x18035bc05
cmp rbx, 0
sete al
test al, 1
mov rcx, qword [rbp]
jne 0x18035bc05
jmp 0x18035bbe8
cmp rcx, 0
setne al
sub rsp, 0x20
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
mov eax, dword [0x180789468]
add eax, dword [0x18078946c]
xor eax, 0x751b66e2
and eax, 0xc44aad31
sub eax, 0x5625a60e
cmp eax, 0x90b2e406
jb 0x18035be2a
mov eax, dword [0x180789470]
and eax, dword [0x180789474]
xor eax, 0x3d16181d
mov ecx, 0xdd3efbc6
xor edx, edx
div ecx
sub eax, 0x77ba9ec2
cmp eax, 0x2bc59668
jb 0x18035be2a
jmp 0x18035bc57
mov byte [r12], 1
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
xor byte [rbx + rdx*4], bh
push rsi
retf 0x808b
neg byte [rcx]
out 0xc7, al
movabs rsp, 0x75fffff843e936bc
cmc
jne 0x18035bcd6
add byte [rdx + 0x46], dl
add esi, esp
out 0x85, eax
test byte [rsi], ch
push rcx
jmp 0x18035b57b
adc al, 0xa0
invalid
add dword [rax], eax
add byte [rax], al
call fcn.18063bc30
add rsp, 0x20
jmp 0x18035b622
add byte [rax - 0x7d], cl
invalid
invalid
mov byte [0x176000c4c], bl
jnp 0x18035bd2b
mov qword [r13 + 0x10], 1
jmp 0x18035b705
adc byte [r9], r8b
add byte [rax], al
add cl, ch
iretd
retf
invalid
and byte [rbx + rax*8 + 0x43], cl
jmp 0x18035b839
loopne 0x18035bd0a
invalid
invalid
cmc
jbe 0x18035bd02
mov edi, 0xa197fa71
push rdi
call 0x1601ec5f6
sti
invalid
xchg byte [rdi + 0x49], ch
jle 0x18035bde4
nop
loopne 0x18035bd4b
mov r14b, 0x50
ret 0x7b9
ret
pop rsi
invalid
push rbx
int1
push r14
movabs eax, dword [0x8348f1894ce9b652]
jmp 0x180377d4b
add byte [rcx - 0x77], cl
add rsp, 0x20
and rdi, 0x1f
imul rcx, rdi, 0x28
add rax, rcx
movabs rcx, 0x8000000000000001
mov qword [rax], rcx
mov qword [rax + 8], rbx
mov rcx, qword [rbp]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], r11
jmp 0x18035bae1
sahf
invalid
xchg ebx, eax
frstor dword [rsp + rdx*4 - 0x78]
push rcx
jge 0x18035be3e
jmp 0x18035bc2b
add esp, dword [0x1699b47eb]
push rdx
invalid
invalid