Function at 0x18001c590
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x168]
sub rsp, 0x268
movaps xmmword [rsp + 0x250], xmm6
mov rax, qword [0x18007f060]
xor rax, rsp
mov qword [rbp + 0x148], rax
mov edi, r9d
mov qword [rsp + 0x68], r8
mov r10, rdx
mov qword [rsp + 0x60], rdx
mov r13, rcx
mov dword [rsp + 0x40], edi
mov r8, qword [rbp + 0x1d0]
mov qword [rsp + 0x70], r8
mov r15, qword [rbp + 0x1d8]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc0], xmm0
xor ebx, ebx
mov qword [rbp + 0xd0], rbx
mov rdx, qword [rcx + 0x298]
add rcx, 0x290
mov rax, qword [rcx]
cmp rax, rdx
je 0x18001c62d
nop dword [rax]
cmp dword [rax], edi
je 0x18001c643
add rax, 4
cmp rax, rdx
jne 0x18001c620
cmp rdx, qword [rcx + 0x10]
je 0x18001c73d
mov dword [rdx], edi
add qword [rcx + 8], 4
jmp 0x18001c747
mov ecx, dword [r8]
mov edx, dword [r10]
mov eax, ecx
sub eax, edx
add eax, edi
je 0x18001c66b
sub edi, edx
mov eax, edi
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
addss xmm1, xmm0
jmp 0x18001c673
movss xmm1, dword [0x180074be8]
lea r8, [0x1800800e8]
cmp qword [0x180080100], 0x10
cmovae r8, qword [0x1800800e8]
mov rdx, rbx
mov r9, qword [0x1800800f8]
test r9, r9
je 0x18001c6bc
nop dword [rax]
movzx ecx, byte [rdx + r8]
add ecx, ebx
imul ebx, ecx, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
inc rdx
cmp rdx, r9
jne 0x18001c6a0
lea ecx, [rbx + rbx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r13 + 0x278]
addss xmm1, dword [rax + r8*4]
movss dword [rax + r8*4], xmm1
xor bl, bl
lea rcx, [rbp + 0xc0]
call fcn.18002da30
movzx eax, bl
mov rcx, qword [rbp + 0x148]
xor rcx, rsp
call fcn.180034ea0
movaps xmm6, xmmword [rsp + 0x250]
add rsp, 0x268
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea r8, [rsp + 0x40]
call fcn.180008880
mov rax, qword [r13]
mov rcx, qword [rax]
test rcx, rcx
je 0x18001c701
mov edx, dword [rax + 0x10]
lea rax, [rdi + 1]
cmp rax, rdx
jae 0x18001c701
mov eax, dword [rcx + rdi]
mov dword [rbp + 0xb0], eax
lea eax, [rdi + 4]
mov r8d, eax
inc rax
cmp rax, rdx
jae 0x18001c701
mov eax, dword [rcx + r8]
mov dword [rbp + 0xb4], eax
lea eax, [rdi + 8]
mov r8d, eax
inc rax
cmp rax, rdx
jae 0x18001c701
movzx eax, word [rcx + r8]
mov word [rbp + 0xb8], ax
lea eax, [rdi + 0xa]
mov r8d, eax
inc rax
cmp rax, rdx
jae 0x18001c701
movzx eax, word [rcx + r8]
mov word [rbp + 0xba], ax
lea eax, [rdi + 0xc]
mov r8d, eax
inc rax
cmp rax, rdx
jae 0x18001c701
movzx r14d, word [rcx + r8]
mov word [rbp + 0xbc], r14w
lea eax, [rdi + 0xe]
mov r8d, eax
inc rax
cmp rax, rdx
jae 0x18001c701
movzx esi, word [rcx + r8]
mov word [rbp + 0xbe], si
cmp dword [rbp + 0x1e0], 0
jne 0x18001c819
lea rdx, [rbp + 0xb0]
mov rcx, r13
call fcn.18002bd40
test al, al
je 0x18001c701
test r14w, r14w
jne 0x18001c82b
test si, si
jne 0x18001c82b
mov bl, 1
jmp 0x18001c703
mov eax, esi
mov ecx, r14d
mov dword [rsp + 0x50], ecx
add esi, r14d
mov dword [rsp + 0x48], esi
cmp esi, 0x1000
jbe 0x18001c8da
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
lea r8, [0x180080468]
cmp qword [0x180080480], 0x10
cmovae r8, qword [0x180080468]
mov rdx, rbx
mov r9, qword [0x180080478]
test r9, r9
je 0x18001c89c
nop
movzx ecx, byte [rdx + r8]
add ecx, ebx
imul ebx, ecx, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
inc rdx
cmp rdx, r9
jne 0x18001c880
lea ecx, [rbx + rbx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r13 + 0x278]
jmp 0x18001c6fb
add edi, 0x10
mov qword [rbp + 0x128], rbx
movdqa xmm0, xmmword [0x180074c20]
movdqu xmmword [rbp + 0x138], xmm0
mov byte [rbp + 0x128], 0
mov r12d, ebx
mov dword [rsp + 0x40], ebx
test esi, esi
je 0x18001d55c
movss xmm6, dword [0x180074be8]
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x58], rax
nop dword [rax + rax]
mov qword [rbp - 0x28], rbx
mov r8, rbx
mov qword [rbp - 0x18], rbx
mov r14d, 0xf
mov qword [rbp - 0x10], r14
mov byte [rbp - 0x28], bl
mov r9, qword [r13]
mov rdx, qword [r9]
test rdx, rdx
je 0x18001cb79
mov ecx, dword [r9 + 0x10]
mov r10d, edi
lea rax, [r10 + 1]
cmp rax, rcx
jae 0x18001cb79
mov r10d, dword [rdx + r10]
mov dword [rbp - 0x38], r10d
lea eax, [rdi + 4]
mov r11d, eax
inc rax
cmp rax, rcx
jae 0x18001cb79
mov eax, dword [rdx + r11]
mov dword [rbp - 0x34], eax
add edi, 8
mov dword [rsp + 0x4c], edi
cmp dword [rbp + 0x1e0], 2
ja 0x18001cb79
mov rdi, qword [rsp + 0x60]
cmp r12d, dword [rsp + 0x50]
jge 0x18001ca6e
mov esi, r10d
and esi, 0xfffffff
add esi, dword [rdi]
mov r11d, esi
lea rax, [rsi + 1]
cmp rax, rcx
jae 0x18001cb79
add esi, 2
movzx r12d, word [rdx + r11]
add r12d, r12d
je 0x18001ca6a
mov edi, esi
nop
mov r10d, edi
mov ecx, dword [r9 + 0x10]
lea rax, [r10 + 1]
cmp rax, rcx
jae 0x18001cb79
movzx r9d, byte [r10 + rdx]
cmp r8, r14
jae 0x18001ca0f
lea rax, [r8 + 1]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x28]
cmp r14, 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rax + r8], r9b
mov byte [rax + r8 + 1], 0
jmp 0x18001ca18
lea rcx, [rbp - 0x28]
call fcn.180019bf0
mov r9, qword [r13]
mov rdx, qword [r9]
test rdx, rdx
je 0x18001d553
lea eax, [rdi + 1]
mov r8d, eax
mov ecx, dword [r9 + 0x10]
inc rax
cmp rax, rcx
jae 0x18001d553
cmp byte [rdx + r8], 0
jne 0x18001d553
add edi, 2
mov eax, edi
sub eax, esi
mov r14, qword [rbp - 0x10]
mov r8, qword [rbp - 0x18]
cmp eax, r12d
jb 0x18001c9d0
mov r10d, dword [rbp - 0x38]
mov rdi, qword [rsp + 0x60]
mov esi, dword [rsp + 0x48]
mov edx, dword [rbp + 0x1e0]
mov ecx, edx
test edx, edx
je 0x18001cb03
sub ecx, 1
je 0x18001cac9
cmp ecx, 1
jne 0x18001cb36
mov dword [rbp - 0x30], 2
mov dword [r15 + 0x60], r10d
lea rcx, [r15 + 0x68]
lea rax, [rbp - 0x28]
cmp rcx, rax
je 0x18001cac0
lea rdx, [rbp - 0x28]
cmp r14, 0x10
cmovae rdx, qword [rbp - 0x28]
call fcn.180006570
mov r14, qword [rbp - 0x10]
mov edx, dword [rbp + 0x1e0]
mov dword [r15 + 0x88], esi
jmp 0x18001cb36
mov dword [rbp - 0x30], 1
mov dword [r15 + 0x30], r10d
lea rcx, [r15 + 0x38]
lea rax, [rbp - 0x28]
cmp rcx, rax
je 0x18001cafd
lea rdx, [rbp - 0x28]
cmp r14, 0x10
cmovae rdx, qword [rbp - 0x28]
call fcn.180006570
mov r14, qword [rbp - 0x10]
mov edx, dword [rbp + 0x1e0]
mov dword [r15 + 0x58], esi
jmp 0x18001cb36
mov dword [rbp - 0x30], ebx
mov dword [r15], r10d
lea rcx, [r15 + 8]
lea rax, [rbp - 0x28]
cmp rcx, rax
je 0x18001cb32
lea rdx, [rbp - 0x28]
cmp r14, 0x10
cmovae rdx, qword [rbp - 0x28]
call fcn.180006570
mov r14, qword [rbp - 0x10]
mov edx, dword [rbp + 0x1e0]
mov dword [r15 + 0x28], esi
mov ecx, dword [rdi]
mov r9d, dword [rbp - 0x34]
test r9d, r9d
jns 0x18001cbb8
lea eax, [rdx + 1]
and r9d, 0xfffffff
add r9d, ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r15
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r8, qword [rsp + 0x68]
mov rdx, rdi
mov rcx, r13
call fcn.18001c590
test al, al
jne 0x18001d504
cmp r14, 0x10
jb 0x18001cbb1
lea rdx, [r14 + 1]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001cbac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001d575
call fcn.180034ec0
xor bl, bl
jmp 0x18001d55e
mov r12d, dword [rbp - 0x34]
add r12d, ecx
mov dword [rsp + 0x4c], r12d
mov rax, qword [r13]
mov rdi, qword [rax]
test rdi, rdi
je 0x18001cb79
mov esi, dword [rax + 0x10]
lea rax, [r12 + 1]
cmp rax, rsi
jae 0x18001cb79
mov r11d, dword [rdi + r12]
mov dword [rbp + 0x60], r11d
movzx r9d, word [r13 + 0x270]
mov ecx, 0x10b
mov eax, 0x20b
cmp r9w, cx
jne 0x18001cc09
mov r8d, dword [r13 + 0x8c]
add r8d, r11d
jmp 0x18001cc1d
cmp r9w, ax
jne 0x18001ccbc
mov r8, r11
add r8, qword [r13 + 0x168]
mov rdx, qword [r13 + 0x240]
mov r10, qword [r13 + 0x248]
cmp rdx, r10
je 0x18001ccbc
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x78], xmm0
cmp r9w, cx
jne 0x18001cc5f
mov rcx, qword [rbp - 0x80]
shr rcx, 0x20
add ecx, dword [r13 + 0x8c]
jmp 0x18001cc74
cmp r9w, ax
jne 0x18001ccbc
mov rcx, qword [rbp - 0x80]
shr rcx, 0x20
add rcx, qword [r13 + 0x168]
mov eax, dword [rbp - 0x80]
add rax, rcx
cmp r8, rcx
jb 0x18001cc84
cmp r8, rax
jb 0x18001cc99
add rdx, 0x28
cmp rdx, r10
je 0x18001ccbc
mov eax, 0x20b
mov ecx, 0x10b
jmp 0x18001cc40
movups xmmword [rbp - 8], xmm0
movsd xmm0, qword [rdx + 0x20]
movsd qword [rbp + 0x18], xmm0
mov r10, qword [rdx + 0x10]
shr r10, 0x20
sub r10d, ecx
add r10d, r8d
mov qword [rsp + 0x58], r10
jmp 0x18001ccc1
mov r10, qword [rsp + 0x58]
lea eax, [r12 + 4]
mov ecx, eax
inc rax
cmp rax, rsi
jae 0x18001cb79
mov r12d, dword [rdi + rcx]
mov dword [rbp + 0x64], r12d
mov rdi, qword [rsp + 0x68]
cmp r10d, dword [rdi]
jbe 0x18001cd8b
test r11d, r11d
je 0x18001ccf9
xorps xmm0, xmm0
cvtsi2ss xmm0, r11
jmp 0x18001ccfc
movaps xmm0, xmm6
lea r8, [0x180080428]
cmp qword [0x180080440], 0x10
cmovae r8, qword [0x180080428]
mov ecx, ebx
mov rdx, rbx
mov r9, qword [0x180080438]
test r9, r9
je 0x18001cd4c
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r9
jne 0x18001cd30
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r13 + 0x278]
movss dword [rax + r8*4], xmm0
lea eax, [r12 + r10]
cmp eax, dword [rdi]
jbe 0x18001ce2c
test r12d, r12d
je 0x18001cda6
xorps xmm0, xmm0
cvtsi2ss xmm0, r12
jmp 0x18001cda9
movaps xmm0, xmm6
lea r8, [0x180080628]
cmp qword [0x180080640], 0x10
cmovae r8, qword [0x180080628]
mov ecx, ebx
mov rdx, rbx
mov r9, qword [0x180080638]
test r9, r9
je 0x18001cded
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r9
jne 0x18001cdd1
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r13 + 0x278]
movss dword [rax + r8*4], xmm0
mov r9d, dword [rsp + 0x4c]
lea edx, [r9 + 8]
mov rax, qword [r13]
mov rcx, qword [rax]
test rcx, rcx
je 0x18001cb79
mov r8d, dword [rax + 0x10]
lea rax, [rdx + 1]
cmp rax, r8
jae 0x18001cb79
mov eax, dword [rcx + rdx]
mov dword [rbp + 0x68], eax
lea eax, [r9 + 0xc]
mov edx, eax
inc rax
cmp rax, r8
jae 0x18001cb79
mov eax, dword [rcx + rdx]
mov dword [rbp + 0x6c], eax
movups xmm0, xmmword [rbp + 0x60]
movups xmmword [r15 + 0x90], xmm0
mov rdi, qword [r13 + 0x260]
cmp rdi, qword [r13 + 0x268]
je 0x18001cf05
mov qword [rbp - 0x60], rdi
mov eax, dword [r15]
mov dword [rdi], eax
lea rcx, [rdi + 8]
lea rdx, [r15 + 8]
call fcn.180018100
mov eax, dword [r15 + 0x28]
mov dword [rdi + 0x28], eax
mov eax, dword [r15 + 0x30]
mov dword [rdi + 0x30], eax
lea rcx, [rdi + 0x38]
lea rdx, [r15 + 0x38]
call fcn.180018100
mov eax, dword [r15 + 0x58]
mov dword [rdi + 0x58], eax
mov eax, dword [r15 + 0x60]
mov dword [rdi + 0x60], eax
lea rcx, [rdi + 0x68]
lea rdx, [r15 + 0x68]
call fcn.180018100
mov eax, dword [r15 + 0x88]
mov dword [rdi + 0x88], eax
movups xmm0, xmmword [r15 + 0x90]
movups xmmword [rdi + 0x90], xmm0
add qword [r13 + 0x260], 0xa0
jmp 0x18001cf17
mov r8, r15
mov rdx, rdi
lea rcx, [r13 + 0x258]
call fcn.1800301f0
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
mov qword [rbp + 0x70], rbx
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
cmp qword [r15 + 0x18], 0
je 0x18001d4ba
mov eax, dword [r15 + 0x58]
cmp eax, 3
ja 0x18001d286
lea rdx, [r15 + 8]
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x58], 0xf
mov r8d, 0x28
cmp qword [rdx + 0x10], r8
cmovb r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x18001cfaa
mov rdx, qword [rdx]
lea rcx, [rbp + 0x40]
call fcn.180006570
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbp + 0x50]
movups xmmword [rbp + 0x80], xmm1
cmp qword [r15 + 0x48], 0
je 0x18001d00d
lea rdx, [r15 + 0x38]
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], 0xf
mov r8d, 0x28
cmp qword [rdx + 0x10], r8
cmovb r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x18001cffa
mov rdx, qword [rdx]
lea rcx, [rbp - 0x58]
call fcn.180006570
movups xmm0, xmmword [rbp - 0x58]
movups xmm1, xmmword [rbp - 0x48]
jmp 0x18001d07e
mov r8d, dword [r15 + 0x30]
lea r9, [rbp - 0x43]
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x18001d020
mov qword [rbp - 8], rbx
mov qword [rbp + 8], rbx
mov qword [rbp + 0x10], 0xf
lea rax, [rbp - 0x43]
cmp r9, rax
je 0x18001d076
lea r8, [rbp - 0x43]
sub r8, r9
mov rdx, r9
lea rcx, [rbp - 8]
call fcn.180006570
movups xmm0, xmmword [rbp - 8]
movups xmm1, xmmword [rbp + 8]
movups xmmword [rbp + 0x30], xmm1
movups xmmword [rbp + 0x20], xmm0
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rbp + 0x50]
sub rax, rcx
cmp rax, 9
jb 0x18001d587
lea rax, [rbp + 0x70]
cmp qword [rbp + 0x58], 0x10
cmovae rax, qword [rbp + 0x40]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 9
lea r9, str.RESOURCE_
lea rcx, [rbp - 8]
call fcn.18001a4e0
nop
mov r8d, 1
lea rdx, [0x18007499c]
lea rcx, [rbp - 8]
call fcn.180018a50
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
cmovae rdx, qword [rbp + 0x20]
mov r8, qword [rbp + 0x30]
lea rcx, [rbp - 0x58]
call fcn.180018a50
movups xmm1, xmmword [rax]
movups xmmword [rbp + 0xd8], xmm1
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp + 0xe8], xmm0
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
movups xmmword [rbp + 0x90], xmm1
movups xmmword [rbp + 0xa0], xmm0
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x18001d19b
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001d196
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001d57b
call fcn.180034ec0
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov rdx, qword [rbp + 0x10]
cmp rdx, 0x10
jb 0x18001d1e6
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001d1e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001d581
call fcn.180034ec0
test r12d, r12d
je 0x18001d1f5
xorps xmm0, xmm0
cvtsi2ss xmm0, r12
jmp 0x18001d1f8
movaps xmm0, xmm6
lea r8, [rbp + 0x90]
cmp qword [rbp + 0xf0], 0x10
cmovae r8, qword [rbp + 0xd8]
mov ecx, ebx
mov rdx, rbx
mov r9, qword [rbp + 0xe8]
test r9, r9
je 0x18001d23c
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r9
jne 0x18001d220
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r13 + 0x278]
addss xmm0, dword [rax + r8*4]
movss dword [rax + r8*4], xmm0
jmp 0x18001d4ba
cmp qword [r15 + 0x48], 0
je 0x18001d4ba
cmp eax, 6
ja 0x18001d4ba
lea rdx, [r15 + 8]
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x58], 0xf
mov r8d, 0x28
cmp qword [rdx + 0x10], r8
cmovb r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x18001d2c7
mov rdx, qword [rdx]
lea rcx, [rbp + 0x40]
call fcn.180006570
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbp + 0x50]
movups xmmword [rbp + 0x80], xmm1
cmp qword [r15 + 0x48], 0
je 0x18001d319
lea rdx, [r15 + 0x38]
mov qword [rbp - 8], rbx
mov qword [rbp + 8], rbx
mov qword [rbp + 0x10], 0xf
mov r8d, 0x28
cmp qword [rdx + 0x10], r8
cmovb r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x18001d36e
mov rdx, qword [rdx]
jmp 0x18001d36e
mov r8d, dword [r15 + 0x30]
lea r9, [rbp - 0x43]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x18001d321
mov qword [rbp - 8], rbx
mov qword [rbp + 8], rbx
mov qword [rbp + 0x10], 0xf
lea rax, [rbp - 0x43]
cmp r9, rax
je 0x18001d377
lea r8, [rbp - 0x43]
sub r8, r9
mov rdx, r9
lea rcx, [rbp - 8]
call fcn.180006570
movups xmm1, xmmword [rbp + 8]
movups xmm0, xmmword [rbp - 8]
movups xmmword [rbp + 0x30], xmm1
movups xmmword [rbp + 0x20], xmm0
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rbp + 0x50]
sub rax, rcx
cmp rax, 9
jb 0x18001d56f
lea rax, [rbp + 0x70]
cmp qword [rbp + 0x58], 0x10
cmovae rax, qword [rbp + 0x40]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 9
lea r9, str.RESOURCE_
lea rcx, [rbp - 8]
call fcn.18001a4e0
nop
mov r8d, 1
lea rdx, [0x18007499c]
lea rcx, [rbp - 8]
call fcn.180018a50
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
cmovae rdx, qword [rbp + 0x20]
mov r8, qword [rbp + 0x30]
lea rcx, [rbp - 0x58]
call fcn.180018a50
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xf8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x108], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp + 0xf8]
lea rcx, [rbp + 0x90]
call fcn.18002db50
lea rcx, [rbp + 0xf8]
call fcn.1800066d0
nop
lea rcx, [rbp - 0x58]
call fcn.1800066d0
nop
lea rcx, [rbp - 8]
call fcn.1800066d0
test r12d, r12d
je 0x18001d495
xorps xmm0, xmm0
cvtsi2ss xmm0, r12
jmp 0x18001d498
movaps xmm0, xmm6
lea rdx, [rbp + 0x90]
call fcn.18002d3b0
mov r10d, eax
mov rax, qword [r13 + 0x278]
addss xmm0, dword [rax + r10*4]
movss dword [rax + r10*4], xmm0
cmp dword [r15], 0x10
jne 0x18001d4d6
lea r9, [rbp + 0x60]
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
mov rcx, r13
call fcn.18001d600
mov qword [r15 + 0x90], rbx
mov qword [r15 + 0x98], rbx
lea rcx, [rbp + 0x20]
call fcn.1800066d0
nop
lea rcx, [rbp + 0x70]
call fcn.1800066d0
nop
lea rcx, [rbp + 0x90]
call fcn.1800066d0
cmp dword [rbp - 0x30], 0
jne 0x18001d50f
mov rcx, r15
jmp 0x18001d525
cmp dword [rbp - 0x30], 1
jne 0x18001d51b
lea rcx, [r15 + 0x30]
jmp 0x18001d525
cmp dword [rbp - 0x30], 2
jne 0x18001d52b
lea rcx, [r15 + 0x60]
call fcn.18001a690
nop
lea rcx, [rbp - 0x38]
call fcn.18001d5a0
mov r12d, dword [rsp + 0x40]
inc r12d
mov dword [rsp + 0x40], r12d
mov esi, dword [rsp + 0x48]
cmp r12d, esi
jge 0x18001d55c
mov edi, dword [rsp + 0x4c]
jmp 0x18001c920
mov r14, qword [rbp - 0x10]
jmp 0x18001cb79
mov bl, 1
lea rcx, [rbp + 0x118]
call fcn.18001d5a0
jmp 0x18001c703
call fcn.180005f70
nop
call fcn.18003b6f4
nop
call fcn.18003b6f4
nop
call fcn.18003b6f4
int3
call fcn.180005f70
int3