Function at 0x18000c190
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
xor eax, eax
mov dword [rbp + 0x28], 0xa5beae83
xor r10d, r10d
mov word [rbp + 0x2c], 0xa0bb
mov rdi, rdx
mov byte [rbp + 0x2e], al
mov edx, r10d
mov rsi, r9
mov r11, r8
mov r14, rcx
nop dword [rax]
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx + 0x28], al
cmp edx, 6
jb 0x18000c1d0
mov r9, rdi
mov qword [rsp + 0x70], rbx
mov byte [rbp + 0x2e], r10b
cmp byte [rbp + 0x28], r10b
je 0x18000c22e
cmp byte [rdi], r10b
je 0x18000c237
lea rax, [rbp + 0x28]
mov r8, rdi
sub r8, rax
lea rdx, [rbp + 0x28]
movzx eax, byte [rdx]
test al, al
je 0x18000c22e
cmp byte [r8 + rdx], al
jne 0x18000c21c
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c206
cmp byte [rdx], r10b
je 0x18000c22e
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c202
jmp 0x18000c237
test r9, r9
jne 0x18000cdb9
movdqa xmm0, xmmword [0x180007a30]
mov edx, r10d
movdqu xmmword [rbp - 0x30], xmm0
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xf
jb 0x18000c250
mov r9, rdi
mov byte [rbp - 0x21], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c2ac
cmp byte [rdi], r10b
je 0x18000c2b5
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c2ac
cmp byte [r8 + rdx], al
jne 0x18000c29a
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c284
cmp byte [rdx], r10b
je 0x18000c2ac
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c280
jmp 0x18000c2b5
test r9, r9
jne 0x18000cdb9
xor eax, eax
mov dword [rbp - 0x30], 0xa3a59b91
mov byte [rbp - 0x26], al
mov edx, r10d
mov dword [rbp - 0x2c], 0x94a0b6a0
mov word [rbp - 0x28], 0x9486
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xa
jb 0x18000c2d1
mov r9, rdi
mov byte [rbp - 0x26], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c32c
cmp byte [rdi], r10b
je 0x18000c335
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c32c
cmp byte [r8 + rdx], al
jne 0x18000c31a
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c304
cmp byte [rdx], r10b
je 0x18000c32c
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c300
jmp 0x18000c335
test r9, r9
jne 0x18000cdb9
xor eax, eax
mov dword [rbp - 0x30], 0xb2b1a38c
mov byte [rbp - 0x26], al
mov edx, r10d
mov dword [rbp - 0x2c], 0xba838cb9
mov word [rbp - 0x28], 0xb1ba
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xa
jb 0x18000c351
mov r9, rdi
mov byte [rbp - 0x26], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c3ac
cmp byte [rdi], r10b
je 0x18000c3b5
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c3ac
cmp byte [r8 + rdx], al
jne 0x18000c39a
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c384
cmp byte [rdx], r10b
je 0x18000c3ac
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c380
jmp 0x18000c3b5
test r9, r9
jne 0x18000cdb9
mov dword [rbp - 0x30], 0xb9b3aaa3
mov edx, r10d
mov dword [rbp - 0x2c], 0xe5e4e0e0
mov dword [rbp - 0x28], 0xabb9bf89
mov word [rbp - 0x24], 0xbe
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xd
jb 0x18000c3e0
mov r9, rdi
mov byte [rbp - 0x23], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c43c
cmp byte [rdi], r10b
je 0x18000c445
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c43c
cmp byte [r8 + rdx], al
jne 0x18000c42a
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c414
cmp byte [rdx], r10b
je 0x18000c43c
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c410
jmp 0x18000c445
test r9, r9
jne 0x18000cdb9
movdqa xmm0, xmmword [0x180008140]
xor eax, eax
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x1e], al
mov edx, r10d
mov word [rbp - 0x20], 0xabb1
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0x12
jb 0x18000c460
mov r9, rdi
mov byte [rbp - 0x1e], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c4bc
cmp byte [rdi], r10b
je 0x18000c4c5
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c4bc
cmp byte [r8 + rdx], al
jne 0x18000c4aa
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c494
cmp byte [rdx], r10b
je 0x18000c4bc
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c490
jmp 0x18000c4c5
test r9, r9
jne 0x18000cdb9
mov dword [rbp - 0x30], 0xbabeae9a
mov edx, r10d
mov dword [rbp - 0x2c], 0xa7a1878d
mov dword [rbp - 0x28], 0xacb2a4
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xb
jb 0x18000c4e0
mov r9, rdi
mov byte [rbp - 0x25], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c53c
cmp byte [rdi], r10b
je 0x18000c545
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c53c
cmp byte [r8 + rdx], al
jne 0x18000c52a
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c514
cmp byte [rdx], r10b
je 0x18000c53c
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c510
jmp 0x18000c545
test r9, r9
jne 0x18000cdb9
xor eax, eax
mov dword [rbp - 0x30], 0xb8bcaa86
mov byte [rbp - 0x26], al
mov edx, r10d
mov dword [rbp - 0x2c], 0xa1a4bcb1
mov word [rbp - 0x28], 0xa5b3
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xa
jb 0x18000c561
mov r9, rdi
mov byte [rbp - 0x26], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c5bc
cmp byte [rdi], r10b
je 0x18000c5c5
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c5bc
cmp byte [r8 + rdx], al
jne 0x18000c5aa
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c594
cmp byte [rdx], r10b
je 0x18000c5bc
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c590
jmp 0x18000c5c5
test r9, r9
jne 0x18000cdb9
xor eax, eax
mov dword [rbp - 0x30], 0xb4a8a6a8
mov byte [rbp - 0x28], al
mov edx, r10d
mov dword [rbp - 0x2c], 0xb6bb9fb6
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 8
jb 0x18000c5e0
mov r9, r11
mov byte [rbp - 0x28], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c640
cmp byte [r11], r10b
je 0x18000c7e5
lea rax, [rbp - 0x30]
mov r8, r11
sub r8, rax
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c640
cmp byte [r8 + rdx], al
jne 0x18000c62b
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c615
cmp byte [rdx], r10b
je 0x18000c640
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c611
jmp 0x18000c7e5
test r9, r9
je 0x18000c7e5
mov dword [rbp - 0x30], 0xb4b9a79d
mov edx, r10d
mov dword [rbp - 0x2c], 0x868bb7be
mov dword [rbp - 0x28], 0xb5bdbebe
mov word [rbp - 0x24], 0xbe
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xd
jb 0x18000c670
mov r9, rdi
mov byte [rbp - 0x23], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c6cc
cmp byte [rdi], r10b
je 0x18000c6d5
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c6cc
cmp byte [rdx + r8], al
jne 0x18000c6ba
inc rdx
cmp byte [rdx + r8], r10b
jne 0x18000c6a4
cmp byte [rdx], r10b
je 0x18000c6cc
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c6a0
jmp 0x18000c6d5
test r9, r9
jne 0x18000cdb9
movdqa xmm0, xmmword [0x180008100]
xor eax, eax
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x20], al
mov edx, r10d
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0x10
jb 0x18000c6f0
mov r9, rdi
mov byte [rbp - 0x20], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c74c
cmp byte [rdi], r10b
je 0x18000c755
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c74c
cmp byte [r8 + rdx], al
jne 0x18000c73a
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c724
cmp byte [rdx], r10b
je 0x18000c74c
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c720
jmp 0x18000c755
test r9, r9
jne 0x18000cdb9
xor eax, eax
mov dword [rbp - 0x30], 0x828f8d87
mov byte [rbp - 0x22], al
mov edx, r10d
mov dword [rbp - 0x2c], 0xb9b1baba
mov dword [rbp - 0x28], 0xb89088b2
mov word [rbp - 0x24], 0xbfa8
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xe
jb 0x18000c780
mov r9, rdi
mov byte [rbp - 0x22], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c7dc
cmp byte [rdi], r10b
je 0x18000c7e5
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c7dc
cmp byte [r8 + rdx], al
jne 0x18000c7ca
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000c7b4
cmp byte [rdx], r10b
je 0x18000c7dc
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c7b0
jmp 0x18000c7e5
test r9, r9
jne 0x18000cdb9
mov dword [rbp - 0x30], 0xbeb39096
mov edx, r10d
mov dword [rbp - 0x2c], 0xa1b5b1bf
mov word [rbp - 0x28], 0x89
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 9
jb 0x18000c800
mov r9, r11
mov byte [rbp - 0x27], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c85c
cmp byte [r11], r10b
je 0x18000c865
lea rax, [rbp - 0x30]
mov r8, r11
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c85c
cmp byte [rdx + r8], al
jne 0x18000c84a
inc rdx
cmp byte [rdx + r8], r10b
jne 0x18000c834
cmp byte [rdx], r10b
je 0x18000c85c
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c830
jmp 0x18000c865
test r9, r9
jne 0x18000c8e5
xor eax, eax
mov dword [rbp - 0x30], 0xa7b1aa86
mov byte [rbp - 0x26], al
mov edx, r10d
mov dword [rbp - 0x2c], 0xbaa697ab
mov word [rbp - 0x28], 0xb3bf
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xa
jb 0x18000c881
mov r9, rdi
mov byte [rbp - 0x26], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c8dc
cmp byte [rdi], r10b
je 0x18000c8e5
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c8dc
cmp byte [rdx + r8], al
jne 0x18000c8ca
inc rdx
cmp byte [rdx + r8], r10b
jne 0x18000c8b4
cmp byte [rdx], r10b
je 0x18000c8dc
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c8b0
jmp 0x18000c8e5
test r9, r9
jne 0x18000cdb9
mov dword [rbp - 0x30], 0xbeb39096
mov edx, r10d
mov dword [rbp - 0x2c], 0xa1b5b1bf
mov word [rbp - 0x28], 0x89
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 9
jb 0x18000c900
mov r9, r11
mov byte [rbp - 0x27], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c95c
cmp byte [r11], r10b
je 0x18000c965
lea rax, [rbp - 0x30]
mov r8, r11
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c95c
cmp byte [rdx + r8], al
jne 0x18000c94a
inc rdx
cmp byte [rdx + r8], r10b
jne 0x18000c934
cmp byte [rdx], r10b
je 0x18000c95c
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c930
jmp 0x18000c965
test r9, r9
jne 0x18000ca75
xor eax, eax
mov dword [rbp - 0x30], 0xa1a39096
mov byte [rbp - 0x24], al
mov edx, r10d
mov dword [rbp - 0x2c], 0xa1babaa0
mov dword [rbp - 0x28], 0xb7ad8589
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xc
jb 0x18000c990
mov r9, r11
mov byte [rbp - 0x24], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000c9ec
cmp byte [r11], r10b
je 0x18000c9f5
lea rax, [rbp - 0x30]
mov r8, r11
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000c9ec
cmp byte [rdx + r8], al
jne 0x18000c9da
inc rdx
cmp byte [rdx + r8], r10b
jne 0x18000c9c4
cmp byte [rdx], r10b
je 0x18000c9ec
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000c9c0
jmp 0x18000c9f5
test r9, r9
jne 0x18000ca75
movdqa xmm0, xmmword [0x180008070]
xor eax, eax
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x1c], al
mov edx, r10d
mov dword [rbp - 0x20], 0xbe94adb1
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0x14
jb 0x18000ca11
mov r9, rdi
mov byte [rbp - 0x1c], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000ca6c
cmp byte [rdi], r10b
je 0x18000ca75
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000ca6c
cmp byte [rdx + r8], al
jne 0x18000ca5a
inc rdx
cmp byte [rdx + r8], r10b
jne 0x18000ca44
cmp byte [rdx], r10b
je 0x18000ca6c
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000ca40
jmp 0x18000ca75
test r9, r9
jne 0x18000cdb9
xor eax, eax
mov dword [rbp - 0x30], 0x8ea4a6a6
mov byte [rbp - 0x24], al
mov edx, r10d
mov dword [rbp - 0x2c], 0xb6b5b6a0
mov dword [rbp - 0x28], 0xb7b7bea2
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xc
jb 0x18000caa0
mov byte [rbp - 0x24], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000caff
cmp byte [r11], r10b
je 0x18000cc97
lea rax, [rbp - 0x30]
mov r8, r11
sub r8, rax
nop
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000caff
cmp byte [rdx + r8], al
jne 0x18000caea
inc rdx
cmp byte [rdx + r8], r10b
jne 0x18000cad4
cmp byte [rdx], r10b
je 0x18000caff
inc r11
inc r8
cmp byte [r11], r10b
jne 0x18000cad0
jmp 0x18000cc97
test r11, r11
je 0x18000cc97
xor eax, eax
mov dword [rbp - 0x30], 0x82948a9d
mov byte [rbp - 0x26], al
mov edx, r10d
mov dword [rbp - 0x2c], 0xbcb0bfbd
mov word [rbp - 0x28], 0xa5b3
nop dword [rax]
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xa
jb 0x18000cb30
mov r9, rdi
mov byte [rbp - 0x26], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000cb8c
cmp byte [rdi], r10b
je 0x18000cb95
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000cb8c
cmp byte [r8 + rdx], al
jne 0x18000cb7a
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000cb64
cmp byte [rdx], r10b
je 0x18000cb8c
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000cb60
jmp 0x18000cb95
test r9, r9
jne 0x18000cdb9
xor eax, eax
mov dword [rbp - 0x30], 0x90948a9d
mov byte [rbp - 0x26], al
mov edx, r10d
mov dword [rbp - 0x2c], 0xa0b5a0a1
mov word [rbp - 0x28], 0xa3ba
movsxd rcx, edx
lea eax, [rdx - 0x32]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xa
jb 0x18000cbb1
mov r9, rdi
mov byte [rbp - 0x26], r10b
cmp byte [rbp - 0x30], r10b
je 0x18000cc0c
cmp byte [rdi], r10b
je 0x18000cc15
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
nop
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000cc0c
cmp byte [r8 + rdx], al
jne 0x18000cbfa
inc rdx
cmp byte [r8 + rdx], r10b
jne 0x18000cbe4
cmp byte [rdx], r10b
je 0x18000cc0c
inc r9
inc r8
cmp byte [r9], r10b
jne 0x18000cbe0
jmp 0x18000cc15
test r9, r9
jne 0x18000cdb9
xor eax, eax
mov dword [rbp - 0x30], 0xbcb1a388
mov byte [rbp - 0x24], al
mov dword [rbp - 0x2c], 0xa7bca7b7
mov dword [rbp - 0x28], 0xabbda0b9
nop
movsxd rcx, r10d
lea eax, [r10 - 0x32]
inc r10d
xor byte [rbp + rcx - 0x30], al
cmp r10d, 0xc
jb 0x18000cc30
cmp byte [rbp - 0x30], 0
mov r9, rdi
mov byte [rbp - 0x24], 0
je 0x18000cc8e
cmp byte [rdi], 0
je 0x18000cc97
lea rax, [rbp - 0x30]
mov r8, rdi
sub r8, rax
lea rdx, [rbp - 0x30]
movzx eax, byte [rdx]
test al, al
je 0x18000cc8e
cmp byte [rdx + r8], al
jne 0x18000cc7b
inc rdx
cmp byte [rdx + r8], 0
jne 0x18000cc64
cmp byte [rdx], 0
je 0x18000cc8e
inc r9
inc r8
cmp byte [r9], 0
jne 0x18000cc60
jmp 0x18000cc97
test r9, r9
jne 0x18000cdb9
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
mov r8, qword [rax + 0x2a0]
call r8
test rax, rax
je 0x18000cdb9
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
mov r8, qword [rax + 0x2a0]
call r8
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x28]
mov rcx, rax
call rdx
mov r8, rdi
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call fcn.18000add0
mov rcx, qword [rbp + 0x40]
mov dword [rcx], eax
test eax, eax
je 0x18000cdb9
mov rcx, qword [rbx]
mov edx, eax
movaps xmmword [rsp + 0x40], xmm6
mov r8, qword [rcx + 0x38]
mov rcx, rbx
call r8
mov rcx, qword [rsi]
mov rbx, rax
mov rdx, qword [rcx + 0xb8]
mov rcx, rsi
call rdx
movss xmm3, dword [rbx + 0x14]
mov rdx, rdi
movss xmm6, dword [rbx + 0x10]
movaps xmm5, xmm3
movss xmm4, dword [rbx + 0x18]
movaps xmm0, xmm6
mulss xmm5, dword [rax + 4]
movaps xmm2, xmm6
mov rcx, r14
mulss xmm0, dword [rax]
movaps xmm1, xmm4
mulss xmm1, dword [rax + 8]
mulss xmm2, dword [rax + 0x10]
addss xmm5, xmm0
mulss xmm6, dword [rax + 0x20]
movaps xmm0, xmm3
mulss xmm0, dword [rax + 0x14]
mulss xmm3, dword [rax + 0x24]
addss xmm5, xmm1
movaps xmm1, xmm4
mulss xmm4, dword [rax + 0x28]
mulss xmm1, dword [rax + 0x18]
addss xmm2, xmm0
addss xmm5, dword [rax + 0xc]
addss xmm6, xmm3
addss xmm2, xmm1
addss xmm6, xmm4
addss xmm2, dword [rax + 0x1c]
addss xmm6, dword [rax + 0x2c]
mov rax, qword [rbp + 0x48]
movss dword [rax], xmm5
movss dword [rax + 4], xmm2
movss dword [rax + 8], xmm6
call fcn.18000b8a0
mov rcx, qword [rbp + 0x50]
movaps xmm6, xmmword [rsp + 0x40]
mov dword [rcx], eax
test eax, eax
je 0x18000cdb9
mov al, 1
jmp 0x18000cdbb
xor al, al
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop r14
pop rdi
pop rbp
ret