Function at 0x180003320
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rdi
push r14
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov qword [rax + 8], rsi
mov rsi, qword [0x180080ac0]
mov qword [rax + 0x10], r15
mov rcx, rsi
movaps xmmword [rax - 0x28], xmm6
call fcn.180001cc0
xor ebx, ebx
lea r15, [0x180000000]
cmp byte [0x18008083d], bl
mov rcx, rax
movabs r14, 0x7fffffff0000
je 0x1800035c6
lea rdx, [rax + 0x18]
cmp rdx, 0x400000
jbe 0x1800033ae
lea r8, [rax + 0x20]
cmp r8, r14
jae 0x1800033ae
mov rax, qword [rdx]
lea r9, [rax + 0x18]
cmp r9, 0x400000
jbe 0x1800033c8
add rax, 0x1c
cmp rax, r14
jae 0x1800033c8
cmp dword [r9], 0x40547fde
je 0x1800033f5
jmp 0x1800033b2
lea r8, [rax + 0x20]
cmp rdx, 0x400000
jbe 0x1800035c6
cmp r8, r14
jae 0x1800035c6
mov rax, qword [rdx]
lea rdx, [rax + 0x18]
cmp rdx, 0x400000
jbe 0x1800035c6
add rax, 0x1c
cmp rax, r14
jae 0x1800035c6
cmp dword [rdx], 0x847b9bf0
jne 0x1800035c6
lea rdx, [rsi + 0x274]
cmp rdx, 0x400000
jbe 0x180003422
lea rax, [rsi + 0x278]
cmp rax, r14
jae 0x180003422
movss xmm0, dword [0x1800784e0]
comiss xmm0, dword [rdx]
jbe 0x1800035c6
lea rdx, [rcx + 0xb0]
cmp rdx, 0x400000
jbe 0x18000346f
lea rax, [rcx + 0xb8]
cmp rax, r14
jae 0x18000346f
mov rcx, qword [rdx]
mov rdi, rcx
lea rdx, [rcx + 0xb0]
cmp rdx, 0x400000
jbe 0x180003472
lea rax, [rcx + 0xb4]
cmp rax, r14
jae 0x180003472
mov dword [rdx], 0x3f800000
mov rsi, qword [0x180080ac0]
jmp 0x180003472
mov rdi, rbx
lea rcx, [rsi + 0x8b4]
cmp rcx, 0x400000
jbe 0x180003494
lea rax, [rsi + 0x8b8]
cmp rax, r14
jae 0x180003494
movss xmm6, dword [rcx]
jmp 0x180003497
xorps xmm6, xmm6
lea rcx, [rdi + 0x188]
cmp rcx, 0x400000
jbe 0x1800035c6
lea rax, [rdi + 0x189]
cmp rax, r14
jae 0x1800035c6
cmp byte [rcx], bl
je 0x1800035c6
movss xmm0, dword [0x180080938]
addss xmm0, dword [0x1800783c4]
comiss xmm6, xmm0
jbe 0x1800035cc
cmp byte [0x18008088c], bl
je 0x1800035ad
lea rcx, str.GameAssembly.dll
call fcn.180001510
mov dword [rsp + 0x40], 7
mov r8d, ebx
mov rdx, rbx
lea r9, [rax + 0x62c320]
nop dword [rax]
movzx ecx, word [rdx + r15 + 0x50b00]
inc r8d
mov word [rsp + rdx + 0x44], cx
lea rdx, [rdx + 2]
movsxd rax, dword [rsp + 0x40]
cmp r8d, eax
jl 0x180003510
mov word [rsp + rax*2 + 0x44], bx
lea rdx, [rbp - 0x30]
movups xmm0, xmmword [rsp + 0x30]
mov rcx, rdi
movups xmm1, xmmword [rsp + 0x40]
movaps xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rsp + 0x50]
movaps xmmword [rbp - 0x20], xmm1
movups xmm1, xmmword [rsp + 0x60]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rbp], xmm1
movups xmm1, xmmword [rbp - 0x80]
movaps xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x20], xmm1
movups xmm1, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x30], xmm0
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp + 0x40], xmm1
movsd xmm1, qword [rbp - 0x40]
movaps xmmword [rbp + 0x50], xmm0
movsd qword [rbp + 0x60], xmm1
call r9
mov rsi, qword [0x180080ac0]
movss dword [0x180080938], xmm6
mov byte [0x18008088c], 1
jmp 0x1800035cc
addss xmm6, dword [0x180078380]
mov byte [0x18008088c], 1
movss dword [0x180080938], xmm6
jmp 0x1800035cc
mov byte [0x18008088c], bl
mov rcx, rsi
movzx edi, bx
call fcn.180001cc0
movaps xmm6, xmmword [rsp + 0x170]
mov r9, rax
mov rsi, qword [rsp + 0x1a0]
test rax, rax
je 0x180003685
add rax, 0x18
cmp rax, 0x400000
jbe 0x180003685
lea rcx, [r9 + 0x20]
cmp rcx, r14
jae 0x180003685
mov rax, qword [rax]
lea r8, [rax + 0x20]
cmp r8, 0x400000
jbe 0x180003685
add rax, 0x28
cmp rax, r14
jae 0x180003685
mov r8, qword [r8]
lea rdx, [r8 + 0x10]
cmp rdx, 0x400000
jbe 0x180003685
add r8, 0x14
cmp r8, r14
jae 0x180003685
mov edx, dword [rdx]
test edx, edx
je 0x180003685
test r8, r8
je 0x180003685
mov r10d, 0xffff
mov edi, r10d
add dx, dx
je 0x180003685
nop word [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
movzx ecx, di
shr rcx, 8
xor rcx, rax
shl di, 8
xor di, word [r15 + rcx*2 + 0x51bf0]
add dx, r10w
jne 0x180003660
mov r15, qword [rsp + 0x1a8]
mov r10d, 0x435e
movzx ecx, di
cmp ecx, 0x74f5
ja 0x180003ae9
je 0x180003b7c
cmp ecx, 0x4b0a
ja 0x1800037db
je 0x1800036f4
cmp ecx, 0x2658
ja 0x1800037a1
je 0x1800036f4
test ecx, ecx
je 0x180003a3a
cmp ecx, 0xcd
je 0x1800036f4
cmp ecx, 0x6b1
je 0x180003b7c
cmp ecx, 0x1f2d
je 0x1800036f4
cmp ecx, 0x2333
jne 0x180003a3a
cmp byte [0x18008080e], bl
je 0x180003a3a
lea rcx, [r9 + 0xb0]
cmp rcx, 0x400000
jbe 0x180003a3a
lea rax, [r9 + 0xb8]
cmp rax, r14
jae 0x180003a3a
mov rax, qword [rcx]
lea rcx, [rax + 0x2a4]
cmp rcx, 0x400000
jbe 0x180003748
add rax, 0x2a8
cmp rax, r14
jae 0x180003748
mov dword [rcx], 0x41700000
mov rax, qword [r9 + 0xb0]
lea rcx, [rax + 0x278]
cmp rcx, 0x400000
jbe 0x180003770
add rax, 0x27c
cmp rax, r14
jae 0x180003770
mov dword [rcx], 0x40900000
mov rax, qword [r9 + 0xb0]
lea rcx, [rax + 0x2a9]
cmp rcx, 0x400000
jbe 0x180003a3a
add rax, 0x2ad
cmp rax, r14
jae 0x180003a3a
mov dword [rcx], ebx
jmp 0x180003a3a
cmp ecx, 0x282a
je 0x1800036f4
cmp ecx, 0x2f12
je 0x1800036f4
cmp ecx, 0x3146
je 0x180003b7c
cmp ecx, 0x3511
je 0x180003825
cmp ecx, r10d
je 0x1800039e4
jmp 0x180003a3a
cmp ecx, 0x65b4
ja 0x180003ab4
je 0x1800036f4
cmp ecx, 0x52f7
je 0x180003825
cmp ecx, 0x573c
je 0x180003b7c
cmp ecx, 0x5a9f
je 0x180003a4e
cmp ecx, 0x6104
je 0x1800036f4
cmp ecx, 0x62e5
jne 0x180003a3a
cmp byte [0x18008081e], bl
je 0x1800038f2
lea rdx, [r9 + 0xb0]
cmp rdx, 0x400000
jbe 0x1800038f2
lea rax, [r9 + 0xb8]
cmp rax, r14
jae 0x1800038f2
mov rdx, qword [rdx]
mov rcx, rdx
lea r8, [rdx + 0x344]
cmp r8, 0x400000
jbe 0x18000387a
lea rax, [rdx + 0x348]
cmp rax, r14
jae 0x18000387a
mov dword [r8], ebx
lea rdx, [rcx + 0x348]
cmp rdx, 0x400000
jbe 0x180003898
lea rax, [rcx + 0x34c]
cmp rax, r14
jae 0x180003898
mov dword [rdx], ebx
lea rdx, [rcx + 0x300]
cmp rdx, 0x400000
jbe 0x1800038b6
lea rax, [rcx + 0x304]
cmp rax, r14
jae 0x1800038b6
mov dword [rdx], ebx
lea rdx, [rcx + 0x304]
cmp rdx, 0x400000
jbe 0x1800038d4
lea rax, [rcx + 0x308]
cmp rax, r14
jae 0x1800038d4
mov dword [rdx], ebx
lea rdx, [rcx + 0x308]
cmp rdx, 0x400000
jbe 0x1800038f2
lea rax, [rcx + 0x30c]
cmp rax, r14
jae 0x1800038f2
mov dword [rdx], ebx
cmp byte [0x18008081c], bl
je 0x1800039e4
lea rcx, [r9 + 0xb0]
cmp rcx, 0x400000
jbe 0x1800039e4
lea rax, [r9 + 0xb8]
cmp rax, r14
jae 0x1800039e4
mov rax, qword [rcx]
lea rdx, [rax + 0x2f0]
cmp rdx, 0x400000
jbe 0x1800039e4
add rax, 0x2f8
cmp rax, r14
jae 0x1800039e4
mov rdx, qword [rdx]
mov rcx, rdx
lea r8, [rdx + 0x18]
cmp r8, 0x400000
jbe 0x180003967
lea rax, [rdx + 0x20]
cmp rax, r14
jae 0x180003967
mov qword [r8], rbx
lea rdx, [rcx + 0x1c]
cmp rdx, 0x400000
jbe 0x180003980
lea rax, [rcx + 0x24]
cmp rax, r14
jae 0x180003980
mov qword [rdx], rbx
lea rdx, [rcx + 0x20]
cmp rdx, 0x400000
jbe 0x180003999
lea rax, [rcx + 0x28]
cmp rax, r14
jae 0x180003999
mov qword [rdx], rbx
lea rdx, [rcx + 0x24]
cmp rdx, 0x400000
jbe 0x1800039b2
lea rax, [rcx + 0x2c]
cmp rax, r14
jae 0x1800039b2
mov qword [rdx], rbx
lea rdx, [rcx + 0x30]
cmp rdx, 0x400000
jbe 0x1800039cb
lea rax, [rcx + 0x38]
cmp rax, r14
jae 0x1800039cb
mov qword [rdx], rbx
lea rdx, [rcx + 0x34]
cmp rdx, 0x400000
jbe 0x1800039e4
lea rax, [rcx + 0x3c]
cmp rax, r14
jae 0x1800039e4
mov qword [rdx], rbx
cmp di, r10w
jne 0x180003a3a
mov rcx, r9
call fcn.1800018a0
cmp byte [0x180080830], bl
je 0x180003a3a
lea rcx, [r9 + 0xb0]
cmp rcx, 0x400000
jbe 0x180003a3a
lea rax, [r9 + 0xb8]
cmp rax, r14
jae 0x180003a3a
mov rax, qword [rcx]
lea rcx, [rax + 0x3a0]
cmp rcx, 0x400000
jbe 0x180003a3a
add rax, 0x3a4
cmp rax, r14
jae 0x180003a3a
mov dword [rcx], 0x3f800000
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x180
pop r14
pop rdi
pop rbp
ret
cmp byte [0x18008083e], bl
je 0x180003a3a
lea rcx, [r9 + 0x98]
cmp rcx, 0x400000
jbe 0x180003a3a
lea rax, [r9 + 0xa0]
cmp rax, r14
jae 0x180003a3a
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0x340]
cmp r8, 0x400000
jbe 0x180003a98
lea rax, [rcx + 0x341]
cmp rax, r14
jae 0x180003a98
mov byte [r8], 1
lea rcx, [rdx + 0x344]
cmp rcx, 0x400000
jbe 0x180003a3a
lea rax, [rdx + 0x348]
jmp 0x180003a2f
cmp ecx, 0x67da
je 0x180003b7c
cmp ecx, 0x6a09
je 0x180003825
cmp ecx, 0x7296
je 0x1800036f4
cmp ecx, 0x7340
je 0x1800036f4
jmp 0x180003a3a
cmp ecx, 0xc68b
ja 0x180003bda
je 0x1800036f4
cmp ecx, 0xab85
ja 0x180003b43
je 0x1800036f4
sub ecx, 0x77e9
je 0x180003825
sub ecx, 0x19a
je 0x180003825
sub ecx, 0x41
je 0x180003b7c
sub ecx, 0x78d
je 0x1800036f4
cmp ecx, 0x1582
je 0x1800036f4
jmp 0x180003a3a
cmp ecx, 0xac02
je 0x1800036f4
cmp ecx, 0xb0a0
je 0x1800039e4
cmp ecx, 0xb32a
je 0x180003b7c
cmp ecx, 0xc196
je 0x180003b7c
cmp ecx, 0xc2dd
je 0x180003825
jmp 0x180003a3a
cmp byte [0x18008083f], bl
je 0x180003825
lea rcx, [r9 + 0xb0]
cmp rcx, 0x400000
jbe 0x180003825
lea rax, [r9 + 0xb8]
cmp rax, r14
jae 0x180003825
mov rax, qword [rcx]
lea rcx, [rax + 0x2a0]
cmp rcx, 0x400000
jbe 0x180003825
add rax, 0x2a1
cmp rax, r14
jae 0x180003825
mov byte [rcx], 1
jmp 0x180003825
cmp ecx, 0xf3b9
ja 0x180003d29
je 0x180003c29
cmp ecx, 0xc859
je 0x1800036f4
cmp ecx, 0xcbd8
je 0x1800036f4
cmp ecx, 0xcfa1
je 0x180003825
cmp ecx, 0xe5ea
je 0x180003825
cmp ecx, 0xe97d
je 0x180003825
jmp 0x180003a3a
lea rcx, [r9 + 0xb0]
cmp rcx, 0x400000
jbe 0x180003c66
lea rax, [r9 + 0xb8]
cmp rax, r14
jae 0x180003c66
mov rax, qword [rcx]
lea rcx, [rax + 0x218]
cmp rcx, 0x400000
jbe 0x180003c66
add rax, 0x220
cmp rax, r14
jae 0x180003c66
mov rbx, qword [rcx]
cmp byte [0x18008081f], 0
je 0x180003cfa
mov rax, qword [0x180082b80]
test rax, rax
jne 0x180003cbe
mov dword [rsp + 0x20], 0xe000c
lea rax, str.user32
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x20]
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.1800015d0
mov rcx, rax
lea rdx, [0x180050a40]
call fcn.180001460
mov qword [0x180082b80], rax
mov ecx, dword [0x18008082c]
call rax
test ax, ax
je 0x180003ced
lea rcx, [rbx + 0xec]
cmp rcx, 0x400000
jbe 0x180003ced
lea rax, [rbx + 0xf0]
cmp rax, r14
jae 0x180003ced
mov dword [rcx], 0xf
cmp byte [0x18008081f], 0
jne 0x180003a3a
lea rcx, [rbx + 0xec]
cmp rcx, 0x400000
jbe 0x180003a3a
lea rax, [rbx + 0xf0]
cmp rax, r14
jae 0x180003a3a
mov dword [rcx], 0xb4
jmp 0x180003a3a
sub ecx, 0xf87e
je 0x180003825
sub ecx, 0x250
je 0x1800036f4
sub ecx, 0x5d
je 0x1800036f4
cmp ecx, 0x298
je 0x180003825
jmp 0x180003a3a