Function at 0x180003090
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rbx, qword [0x18016d008]
mov rcx, rbx
movaps xmmword [rax - 0x28], xmm6
call fcn.180001c90
xor r15d, r15d
lea rsi, [0x180000000]
cmp byte [0x18016d005], r15b
mov r8, rax
movabs r14, 0x7fffffff0000
je 0x180003335
lea rdx, [rax + 0x20]
lea rcx, [rax + 0x28]
cmp rdx, 0x400000
jbe 0x180003335
cmp rcx, r14
jae 0x180003123
mov rax, qword [rdx]
lea r9, [rax + 0x18]
cmp r9, 0x400000
jbe 0x180003139
add rax, 0x1c
cmp rax, r14
jae 0x180003139
cmp dword [r9], 0x40547fde
je 0x180003166
cmp rdx, 0x400000
jbe 0x180003335
cmp rcx, r14
jae 0x180003335
mov rax, qword [rdx]
lea rcx, [rax + 0x18]
cmp rcx, 0x400000
jbe 0x180003335
add rax, 0x1c
cmp rax, r14
jae 0x180003335
cmp dword [rcx], 0x847b9bf0
jne 0x180003335
lea rcx, [rbx + 0x20c]
cmp rcx, 0x400000
jbe 0x180003193
lea rax, [rbx + 0x210]
cmp rax, r14
jae 0x180003193
movss xmm0, dword [0x18004b64c]
comiss xmm0, dword [rcx]
jbe 0x180003335
lea rcx, [r8 + 0x98]
cmp rcx, 0x400000
jbe 0x1800031e0
lea rax, [r8 + 0xa0]
cmp rax, r14
jae 0x1800031e0
mov rcx, qword [rcx]
mov r8, rcx
lea rdx, [rcx + 0x98]
cmp rdx, 0x400000
jbe 0x1800031e3
lea rax, [rcx + 0x9c]
cmp rax, r14
jae 0x1800031e3
mov dword [rdx], 0x3f800000
mov rbx, qword [0x18016d008]
jmp 0x1800031e3
mov r8, r15
lea rcx, [rbx + 0x5cc]
cmp rcx, 0x400000
jbe 0x180003205
lea rax, [rbx + 0x5d0]
cmp rax, r14
jae 0x180003205
movss xmm6, dword [rcx]
jmp 0x180003208
xorps xmm6, xmm6
lea rcx, [r8 + 0x188]
cmp rcx, 0x400000
jbe 0x180003335
lea rax, [r8 + 0x189]
cmp rax, r14
jae 0x180003335
cmp byte [rcx], r15b
je 0x180003335
movss xmm0, dword [0x18016d220]
addss xmm0, dword [0x18004b54c]
comiss xmm6, xmm0
jbe 0x18000333c
cmp byte [0x18016d08d], r15b
je 0x18000331c
mov r9, qword [0x18016d3c0]
mov edx, r15d
add r9, 0x3b5c90
mov dword [rsp + 0x30], 7
mov rcx, r15
nop word [rax + rax]
movzx eax, word [rcx + rsi + 0x45c00]
inc edx
mov word [rsp + rcx + 0x34], ax
lea rcx, [rcx + 2]
movsxd rax, dword [rsp + 0x30]
cmp edx, eax
jl 0x180003280
mov word [rsp + rax*2 + 0x34], r15w
lea rdx, [rbp - 0x40]
movups xmm0, xmmword [rsp + 0x20]
mov rcx, r8
movups xmm1, xmmword [rsp + 0x30]
movaps xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rbp - 0x30], xmm1
movups xmm1, xmmword [rsp + 0x50]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rbp - 0x10], xmm1
movups xmm1, xmmword [rsp + 0x70]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rbp + 0x10], xmm1
movups xmm1, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x30], xmm1
movsd xmm1, qword [rbp - 0x50]
movaps xmmword [rbp + 0x40], xmm0
movsd qword [rbp + 0x50], xmm1
call r9
mov rbx, qword [0x18016d008]
movss dword [0x18016d220], xmm6
mov byte [0x18016d08d], 1
jmp 0x18000333c
addss xmm6, dword [0x18004b508]
mov byte [0x18016d08d], 1
movss dword [0x18016d220], xmm6
jmp 0x18000333c
mov byte [0x18016d08d], r15b
mov rcx, rbx
movzx edi, r15w
call fcn.180001c90
movaps xmm6, xmmword [rsp + 0x160]
mov rbx, rax
test rax, rax
je 0x1800033e4
add rax, 0x20
cmp rax, 0x400000
jbe 0x1800033e4
lea rcx, [rbx + 0x28]
cmp rcx, r14
jae 0x1800033e4
mov rax, qword [rax]
lea r8, [rax + 0x20]
cmp r8, 0x400000
jbe 0x1800033e4
add rax, 0x28
cmp rax, r14
jae 0x1800033e4
mov r8, qword [r8]
lea rax, [r8 + 0x10]
cmp rax, 0x400000
jbe 0x1800033e4
add r8, 0x14
cmp r8, r14
jae 0x1800033e4
mov edx, dword [rax]
test edx, edx
je 0x1800033e4
test r8, r8
je 0x1800033e4
mov r9d, 0xffff
mov edi, r9d
add dx, dx
je 0x1800033e4
nop
movzx eax, byte [r8]
lea r8, [r8 + 1]
movzx ecx, di
shr rcx, 8
xor rcx, rax
shl di, 8
xor di, word [rsi + rcx*2 + 0x46660]
add dx, r9w
jne 0x1800033c0
movzx ecx, di
mov esi, 0x435e
cmp ecx, 0x74f5
ja 0x1800037cd
je 0x180003860
cmp ecx, 0x4b0a
ja 0x1800034e5
je 0x18000344a
cmp ecx, 0x2658
ja 0x1800034b4
je 0x18000344a
test ecx, ecx
je 0x18000377e
cmp ecx, 0xcd
je 0x18000344a
cmp ecx, 0x6b1
je 0x180003860
cmp ecx, 0x1f2d
je 0x18000344a
cmp ecx, 0x2333
jne 0x18000377e
cmp byte [0x18016cfe5], r15b
je 0x18000377e
lea rdi, [rbx + 0x98]
lea rsi, [rbx + 0xa0]
cmp rdi, 0x400000
jbe 0x180003934
cmp rsi, r14
jae 0x180003934
mov rax, qword [rdi]
lea rcx, [rax + 0x27c]
cmp rcx, 0x400000
jbe 0x180003934
add rax, 0x280
cmp rax, r14
jae 0x180003934
mov dword [rcx], 0x41700000
mov rcx, rbx
call fcn.1800016b0
jmp 0x180003952
cmp ecx, 0x282a
je 0x18000344a
cmp ecx, 0x2f12
je 0x18000344a
cmp ecx, 0x3146
je 0x180003860
cmp ecx, 0x3511
je 0x18000352f
cmp ecx, esi
je 0x1800036fc
jmp 0x18000377e
cmp ecx, 0x65b4
ja 0x18000379b
je 0x18000344a
cmp ecx, 0x52f7
je 0x18000352f
cmp ecx, 0x573c
je 0x180003860
cmp ecx, 0x5a9f
je 0x180003776
cmp ecx, 0x6104
je 0x18000344a
cmp ecx, 0x62e5
jne 0x18000377e
cmp byte [0x18016d019], r15b
je 0x180003601
lea rdx, [rbx + 0x98]
cmp rdx, 0x400000
jbe 0x180003601
lea rax, [rbx + 0xa0]
cmp rax, r14
jae 0x180003601
mov rdx, qword [rdx]
mov rcx, rdx
lea r8, [rdx + 0x304]
cmp r8, 0x400000
jbe 0x180003585
lea rax, [rdx + 0x308]
cmp rax, r14
jae 0x180003585
mov dword [r8], r15d
lea rdx, [rcx + 0x308]
cmp rdx, 0x400000
jbe 0x1800035a4
lea rax, [rcx + 0x30c]
cmp rax, r14
jae 0x1800035a4
mov dword [rdx], r15d
lea rdx, [rcx + 0x6b0]
cmp rdx, 0x400000
jbe 0x1800035c3
lea rax, [rcx + 0x6b4]
cmp rax, r14
jae 0x1800035c3
mov dword [rdx], r15d
lea rdx, [rcx + 0x2d4]
cmp rdx, 0x400000
jbe 0x1800035e2
lea rax, [rcx + 0x2d8]
cmp rax, r14
jae 0x1800035e2
mov dword [rdx], r15d
lea rdx, [rcx + 0x2d8]
cmp rdx, 0x400000
jbe 0x180003601
lea rax, [rcx + 0x2dc]
cmp rax, r14
jae 0x180003601
mov dword [rdx], r15d
cmp byte [0x18016d018], r15b
je 0x1800036f4
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x1800036f4
lea rax, [rbx + 0xa0]
cmp rax, r14
jae 0x1800036f4
mov rax, qword [rcx]
lea rdx, [rax + 0x2c0]
cmp rdx, 0x400000
jbe 0x1800036f4
add rax, 0x2c8
cmp rax, r14
jae 0x1800036f4
mov rdx, qword [rdx]
mov rcx, rdx
lea r8, [rdx + 0x18]
cmp r8, 0x400000
jbe 0x180003677
lea rax, [rdx + 0x1c]
cmp rax, r14
jae 0x180003677
mov dword [r8], r15d
lea rdx, [rcx + 0x1c]
cmp rdx, 0x400000
jbe 0x180003690
lea rax, [rcx + 0x20]
cmp rax, r14
jae 0x180003690
mov dword [rdx], r15d
lea rdx, [rcx + 0x20]
cmp rdx, 0x400000
jbe 0x1800036a9
lea rax, [rcx + 0x24]
cmp rax, r14
jae 0x1800036a9
mov dword [rdx], r15d
lea rdx, [rcx + 0x24]
cmp rdx, 0x400000
jbe 0x1800036c2
lea rax, [rcx + 0x28]
cmp rax, r14
jae 0x1800036c2
mov dword [rdx], r15d
lea rdx, [rcx + 0x30]
cmp rdx, 0x400000
jbe 0x1800036db
lea rax, [rcx + 0x34]
cmp rax, r14
jae 0x1800036db
mov dword [rdx], r15d
lea rdx, [rcx + 0x34]
cmp rdx, 0x400000
jbe 0x1800036f4
lea rax, [rcx + 0x38]
cmp rax, r14
jae 0x1800036f4
mov dword [rdx], r15d
mov rcx, rbx
call fcn.1800016b0
cmp di, si
jne 0x18000377e
mov rcx, rbx
call fcn.180001990
cmp byte [0x18016d01b], r15b
je 0x180003776
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x180003776
lea rax, [rbx + 0xa0]
cmp rax, r14
jae 0x180003776
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0x340]
cmp r8, 0x400000
jbe 0x180003757
lea rax, [rcx + 0x344]
cmp rax, r14
jae 0x180003757
mov dword [r8], 0x3f800000
lea rcx, [rdx + 0x350]
cmp rcx, 0x400000
jbe 0x180003776
lea rax, [rdx + 0x351]
cmp rax, r14
jae 0x180003776
mov byte [rcx], 1
mov rcx, rbx
call fcn.1800016b0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
cmp ecx, 0x67da
je 0x180003860
cmp ecx, 0x6a09
je 0x18000352f
cmp ecx, 0x7296
je 0x18000344a
cmp ecx, 0x7340
je 0x18000344a
jmp 0x18000377e
cmp ecx, 0xc68b
ja 0x1800038b3
je 0x18000344a
cmp ecx, 0xab85
ja 0x180003827
je 0x18000344a
sub ecx, 0x77e9
je 0x18000352f
sub ecx, 0x19a
je 0x18000352f
sub ecx, 0x41
je 0x180003860
sub ecx, 0x78d
je 0x18000344a
cmp ecx, 0x1582
je 0x18000344a
jmp 0x18000377e
cmp ecx, 0xac02
je 0x18000344a
cmp ecx, 0xb0a0
je 0x1800036fc
cmp ecx, 0xb32a
je 0x180003860
cmp ecx, 0xc196
je 0x180003860
cmp ecx, 0xc2dd
je 0x18000352f
jmp 0x18000377e
cmp byte [0x18016d01d], r15b
je 0x1800038a6
lea rcx, [rbx + 0x98]
cmp rcx, 0x400000
jbe 0x1800038a6
lea rax, [rbx + 0xa0]
cmp rax, r14
jae 0x1800038a6
mov rax, qword [rcx]
lea rcx, [rax + 0x270]
cmp rcx, 0x400000
jbe 0x1800038a6
add rax, 0x271
cmp rax, r14
jae 0x1800038a6
mov byte [rcx], 1
mov rcx, rbx
call fcn.1800016b0
jmp 0x18000352f
cmp ecx, 0xf3b9
ja 0x180003902
je 0x180003776
cmp ecx, 0xc859
je 0x18000344a
cmp ecx, 0xcbd8
je 0x18000344a
cmp ecx, 0xcfa1
je 0x18000352f
cmp ecx, 0xe5ea
je 0x18000352f
cmp ecx, 0xe97d
je 0x18000352f
jmp 0x18000377e
sub ecx, 0xf87e
je 0x18000352f
sub ecx, 0x250
je 0x18000344a
sub ecx, 0x5d
je 0x18000344a
cmp ecx, 0x298
je 0x18000352f
jmp 0x18000377e
mov rcx, rbx
call fcn.1800016b0
cmp rdi, 0x400000
jbe 0x18000377e
cmp rsi, r14
jae 0x18000377e
mov rax, qword [rdi]
lea rcx, [rax + 0x278]
cmp rcx, 0x400000
jbe 0x180003976
add rax, 0x27c
cmp rax, r14
jae 0x180003976
mov dword [rcx], 0x40900000
mov rax, qword [rdi]
lea rcx, [rax + 0x281]
cmp rcx, 0x400000
jbe 0x18000377e
add rax, 0x285
cmp rax, r14
jae 0x18000377e
mov dword [rcx], r15d
jmp 0x18000377e