Function at 0x1400508d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
xor sil, sil
movaps xmmword [rsp + 0xb0], xmm13
xor r11d, r11d
mov byte [rbp + 0x88], sil
mov ebx, r11d
mov dword [rbp + 0x90], r11d
mov r8d, r11d
lea rdx, [rbp - 0x54]
mov r14, rcx
mov eax, 7
nop dword [rax]
sub eax, 1
mov dword [rdx], r11d
lea rdx, [rdx - 4]
jns 0x140050920
mov rax, qword [rcx + 0x28]
xorps xmm13, xmm13
mov r10, qword [rax + 8]
test r10, r10
je 0x140050a59
mov r9, qword [r10 + 0x18]
test r9, r9
je 0x140050a49
nop
movss xmm0, dword [r9 + 0x10]
ucomiss xmm0, xmm13
jp 0x140050a3d
jne 0x140050a3d
mov r8, qword [r9 + 0x28]
test r8, r8
je 0x140050a3d
mov rax, qword [r14 + 0x10]
test dword [rax + 0x68], 0x100000
jne 0x140050991
mov rax, qword [0x1401834c0]
cmp qword [r8 + 0x10], rax
je 0x140050a31
movzx eax, byte [r8 + 0x6c]
mov rdx, qword [r8 + 0x40]
mov dword [rbp + rax*4 - 0x70], 1
test rdx, rdx
je 0x1400509f5
nop word [rax + rax]
mov rax, qword [rdx + 0x20]
mov dword [rax + 0x40], r11d
mov rax, qword [rdx + 0x28]
mov dword [rax + 0x40], r11d
mov rax, qword [rdx + 0x30]
mov dword [rax + 0x40], r11d
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + 8]
mov dword [rcx + 0x20], r11d
mov rax, qword [rdx + 0x28]
mov rcx, qword [rax + 8]
mov dword [rcx + 0x20], r11d
mov rax, qword [rdx + 0x30]
mov rcx, qword [rax + 8]
mov dword [rcx + 0x20], r11d
mov rdx, qword [rdx + 8]
test rdx, rdx
jne 0x1400509b0
mov rdx, qword [r8 + 0x48]
test rdx, rdx
je 0x140050a31
nop
mov rax, qword [rdx + 0x20]
mov dword [rax + 0x40], r11d
mov rax, qword [rdx + 0x28]
mov dword [rax + 0x40], r11d
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + 8]
mov dword [rcx + 0x20], r11d
mov rax, qword [rdx + 0x28]
mov rcx, qword [rax + 8]
mov dword [rcx + 0x20], r11d
mov rdx, qword [rdx + 8]
test rdx, rdx
jne 0x140050a00
mov r8, qword [r8]
test r8, r8
jne 0x140050973
mov r9, qword [r9]
test r9, r9
jne 0x140050950
mov r10, qword [r10 + 8]
test r10, r10
jne 0x140050941
mov r8d, ebx
mov edi, r11d
mov dword [rbp + 0x98], r11d
nop dword [rax]
nop word [rax + rax]
mov r13d, edi
cmp dword [rbp + r13*4 - 0x70], 0
je 0x140050e79
test dil, 4
je 0x140050a94
lea rcx, [0x14018a1f8]
call fcn.140001fb0
xor r11d, r11d
mov rax, qword [r14 + 0x28]
mov ecx, r11d
mov rax, qword [rax + 8]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140050e6d
nop dword [rax]
mov r12, qword [rax + 0x18]
test r12, r12
je 0x140050e28
nop dword [rax]
movss xmm0, dword [r12 + 0x10]
ucomiss xmm0, xmm13
jp 0x140050e16
jne 0x140050e16
mov rsi, qword [r12 + 0x28]
test rsi, rsi
je 0x140050e16
nop word [rax + rax]
movzx eax, byte [rsi + 0x6c]
cmp eax, r13d
jne 0x140050e0a
mov rax, qword [r14 + 0x10]
test dword [rax + 0x68], 0x100000
jne 0x140050b1b
mov rax, qword [0x1401834c0]
cmp qword [rsi + 0x10], rax
je 0x140050e0a
cmp qword [rsi + 0x40], 0
je 0x140050be3
mov r8, qword [rsi + 0x20]
lea rdx, [rsi + 0x40]
test r8, r8
je 0x140050b58
mov rax, qword [r8 + 8]
test rax, rax
je 0x140050b50
nop dword [rax]
mov qword [rdx], rax
lea rdx, [rax + 8]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140050b40
mov r8, qword [r8]
test r8, r8
jne 0x140050b33
mov r8, qword [rsi + 0x18]
test r8, r8
je 0x140050b88
mov rax, qword [r8 + 8]
test rax, rax
je 0x140050b80
nop word [rax + rax]
mov qword [rdx], rax
lea rdx, [rax + 8]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140050b70
mov r8, qword [r8]
test r8, r8
jne 0x140050b61
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x140050bb0
nop dword [rax]
nop word [rax + rax]
mov qword [rdx], rax
lea rdx, [rax + 8]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140050ba0
mov qword [rdx], r11
mov rax, qword [rsi + 0x40]
lea rdx, [rax + 8]
mov qword [rax], r11
mov r8, qword [rdx]
test r8, r8
je 0x140050be3
nop word [rax + rax]
mov qword [r8], rax
mov rax, qword [rdx]
mov r8, qword [rax + 8]
lea rdx, [rax + 8]
test r8, r8
jne 0x140050bd0
cmp qword [rsi + 0x48], 0
je 0x140050c83
mov rdx, qword [rsi + 0x30]
lea r8, [rsi + 0x48]
test rdx, rdx
je 0x140050c28
nop dword [rax + rax]
mov rax, qword [rdx + 8]
test rax, rax
je 0x140050c20
nop dword [rax]
mov qword [r8], rax
lea r8, [rax + 8]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140050c10
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140050c00
mov rax, qword [rsi + 0x38]
test rax, rax
je 0x140050c50
nop dword [rax]
nop word [rax + rax]
mov qword [r8], rax
lea r8, [rax + 8]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140050c40
mov qword [r8], r11
mov rax, qword [rsi + 0x48]
lea rdx, [rax + 8]
mov qword [rax], r11
mov r8, qword [rdx]
test r8, r8
je 0x140050c83
nop word [rax + rax]
mov qword [r8], rax
mov rax, qword [rdx]
mov r8, qword [rax + 8]
lea rdx, [rax + 8]
test r8, r8
jne 0x140050c70
mov rdx, qword [rsi + 0x40]
mov r8d, 0xffffffff
mov eax, r11d
test rdx, rdx
je 0x140050d5e
nop dword [rax]
mov r10, qword [rdx + 0x20]
mov r9d, dword [r10 + 0x40]
test r9d, r9d
jne 0x140050ccb
mov r9, qword [r10 + 8]
cmp dword [r9 + 0x20], 0
jne 0x140050cc2
inc ebx
mov dword [r9 + 0x20], ebx
mov r10, qword [rdx + 0x20]
inc ecx
mov r9d, ecx
mov dword [r10 + 0x40], ecx
cmp r9d, r8d
mov edi, r9d
cmovae edi, r8d
cmp r9d, eax
cmovbe r9d, eax
mov rax, qword [rdx + 0x28]
mov r10d, dword [rax + 0x40]
test r10d, r10d
jne 0x140050d05
mov r8, qword [rax + 8]
cmp dword [r8 + 0x20], r10d
jne 0x140050cfd
inc ebx
mov dword [r8 + 0x20], ebx
mov rax, qword [rdx + 0x28]
inc ecx
mov r10d, ecx
mov dword [rax + 0x40], ecx
mov r8, qword [rdx + 0x30]
cmp r10d, edi
mov r11d, r10d
cmovae r11d, edi
cmp r10d, r9d
mov eax, dword [r8 + 0x40]
cmovbe r10d, r9d
test eax, eax
jne 0x140050d3d
mov rax, qword [r8 + 8]
cmp dword [rax + 0x20], 0
jne 0x140050d35
inc ebx
mov dword [rax + 0x20], ebx
mov r8, qword [rdx + 0x30]
inc ecx
mov eax, ecx
mov dword [r8 + 0x40], ecx
mov rdx, qword [rdx + 8]
cmp eax, r11d
mov r8d, eax
cmovae r8d, r11d
cmp eax, r10d
cmovbe eax, r10d
test rdx, rdx
jne 0x140050ca0
xor r11d, r11d
mov r9, qword [rsi + 0x48]
test r9, r9
je 0x140050de5
nop word [rax + rax]
mov r10, qword [r9 + 0x20]
mov edx, dword [r10 + 0x40]
test edx, edx
jne 0x140050d97
mov rdx, qword [r10 + 8]
cmp dword [rdx + 0x20], 0
jne 0x140050d8f
inc ebx
mov dword [rdx + 0x20], ebx
mov r10, qword [r9 + 0x20]
inc ecx
mov edx, ecx
mov dword [r10 + 0x40], ecx
cmp edx, r8d
mov r10d, edx
cmovae r10d, r8d
mov r8, qword [r9 + 0x28]
cmp edx, eax
cmovbe edx, eax
mov eax, dword [r8 + 0x40]
test eax, eax
jne 0x140050dcd
mov rax, qword [r8 + 8]
cmp dword [rax + 0x20], 0
jne 0x140050dc5
inc ebx
mov dword [rax + 0x20], ebx
mov r8, qword [r9 + 0x28]
inc ecx
mov eax, ecx
mov dword [r8 + 0x40], ecx
mov r9, qword [r9 + 8]
cmp eax, r10d
mov r8d, eax
cmovae r8d, r10d
cmp eax, edx
cmovbe eax, edx
test r9, r9
jne 0x140050d70
mov rdx, qword [rsi + 0x40]
mov dword [rsi + 0x60], r8d
test rdx, rdx
je 0x140050df7
mov dword [rdx + 0x50], eax
jmp 0x140050e03
mov rdx, qword [rsi + 0x48]
test rdx, rdx
je 0x140050e03
mov dword [rdx + 0x30], eax
mov r14, qword [rbp + 0x80]
mov rsi, qword [rsi]
test rsi, rsi
jne 0x140050af0
mov r12, qword [r12]
test r12, r12
jne 0x140050ac0
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x140050ab0
mov edi, dword [rbp + 0x98]
movzx esi, byte [rbp + 0x88]
test ecx, ecx
je 0x140050e6d
mov r8d, dword [rbp + 0x90]
add r8d, ecx
mov dword [rbp + r13*4 - 0x70], ecx
or sil, dil
mov dword [rbp + 0x90], r8d
mov byte [rbp + 0x88], sil
jmp 0x140050e79
mov r8d, dword [rbp + 0x90]
mov dword [rbp + r13*4 - 0x70], r11d
inc edi
mov dword [rbp + 0x98], edi
cmp edi, 8
jl 0x140050a70
test r8d, r8d
jne 0x140050e99
mov eax, 1
jmp 0x14005186b
mov dword [rsp + 0x30], r11d
mov r9d, r11d
mov eax, ebx
mov ecx, 1
cmp ebx, 0x7f
jbe 0x140050eba
nop dword [rax]
inc ecx
shr eax, 7
cmp eax, 0x7f
ja 0x140050eb0
movzx eax, sil
lea edx, [rbx + 3]
lea edx, [rcx + rdx*8]
add edx, ebx
neg al
mov eax, dword [rbp - 0x70]
sbb r8w, r8w
and r8w, 0x8000
test eax, eax
je 0x140050efc
mov r9d, 1
mov dword [rsp + 0x30], r9d
mov ecx, r9d
cmp eax, 0x7f
jbe 0x140050efa
nop dword [rax]
inc ecx
shr eax, 7
cmp eax, 0x7f
ja 0x140050ef0
add edx, ecx
mov dword [rsp + 0x20], edx
mov rcx, r14
mov edx, 0x22
call fcn.14004fc20
mov ecx, eax
test eax, eax
jle 0x140051869
mov r9, qword [r14 + 0x28]
mov edx, 3
mov rcx, qword [r14 + 8]
add r9, 0x10
lea r8d, [rdx + 1]
call fcn.14007db70
xor esi, esi
test eax, eax
mov ecx, esi
sete cl
test eax, eax
jne 0x140051869
mov r9, qword [r14 + 0x28]
lea edx, [rsi + 3]
mov rcx, qword [r14 + 8]
lea r8d, [rsi + 4]
add r9, 0x1c
call fcn.14007db70
test eax, eax
mov ecx, esi
sete cl
test eax, eax
jne 0x140051869
mov edx, ebx
mov rcx, r14
call fcn.14003a0d0
mov ecx, eax
test eax, eax
jle 0x140051869
mov r9, qword [rbp + 0x80]
lea rcx, [rbp - 0x70]
movaps xmmword [rsp + 0x120], xmm6
lea r12d, [rsi + 1]
movsd xmm6, qword [0x1401588f8]
mov edx, esi
movaps xmmword [rsp + 0x110], xmm7
movaps xmm7, xmm6
mov rax, qword [r9 + 0x28]
lea r8, [r9 + 0x78]
movaps xmmword [rsp + 0x100], xmm8
movaps xmm8, xmm6
movaps xmmword [rsp + 0xf0], xmm9
movaps xmmword [rsp + 0xe0], xmm10
movss xmm9, dword [rax + 0x10]
movss xmm0, dword [rax + 0x1c]
movss xmm10, dword [rax + 0x14]
movss xmm1, dword [rax + 0x24]
cvtps2pd xmm0, xmm0
mov qword [rsp + 0x4c], rsi
mov dword [rsp + 0x48], esi
mov dword [rbp + 0x90], edx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x58], rcx
movaps xmmword [rsp + 0xd0], xmm11
movss xmm11, dword [rax + 0x18]
cvtps2pd xmm9, xmm9
cvtps2pd xmm10, xmm10
subsd xmm0, xmm9
movaps xmmword [rsp + 0xc0], xmm12
movsd xmm12, qword [0x1401587e8]
cvtps2pd xmm11, xmm11
divsd xmm7, xmm0
movss xmm0, dword [rax + 0x20]
mov eax, esi
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm0, xmm10
subsd xmm1, xmm11
divsd xmm8, xmm0
divsd xmm6, xmm1
nop dword [rax + rax]
mov ecx, dword [rcx]
test ecx, ecx
je 0x14005148b
mov byte [r8 - 8], al
inc eax
mov dword [rbp + 0x98], eax
cmp ecx, 0x100
ja 0x140051085
mov eax, 1
jmp 0x1400510a2
cmp ecx, 0x10000
ja 0x140051094
mov eax, 2
jmp 0x1400510a2
cmp ecx, 0x1000000
mov eax, esi
seta al
add eax, 3
mov byte [r8], al
mov rax, qword [r9 + 0x28]
mov rax, qword [rax + 8]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400513b1
nop dword [rax + rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140051393
nop dword [rax]
nop word [rax + rax]
movss xmm0, dword [rax + 0x10]
ucomiss xmm0, xmm13
jp 0x140051382
jne 0x140051382
mov r13, qword [rax + 0x28]
mov qword [rsp + 0x38], r13
test r13, r13
je 0x140051382
nop word [rax + rax]
movzx eax, byte [r13 + 0x6c]
cmp eax, edx
jne 0x14005135e
mov rax, qword [r9 + 0x10]
test dword [rax + 0x68], 0x100000
jne 0x14005113b
mov rax, qword [0x1401834c0]
cmp qword [r13 + 0x10], rax
je 0x14005135e
mov rdi, qword [r13 + 0x40]
test rdi, rdi
je 0x140051247
xor r13d, r13d
nop dword [rax + rax]
lea rsi, [rdi + 0x20]
mov r15d, 3
nop word [rax + rax]
mov rax, qword [rsi]
mov rcx, qword [rax + 8]
cmp dword [rcx + 0x20], r12d
jne 0x140051227
movss xmm0, dword [rcx + 0x10]
mov r14, r13
movss xmm1, dword [rcx + 0x14]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm0, xmm9
subsd xmm1, xmm10
mulsd xmm0, xmm7
mulsd xmm1, xmm8
movsd qword [rsp + 0x78], xmm0
movss xmm0, dword [rcx + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [rbp - 0x80], xmm1
subsd xmm0, xmm11
mulsd xmm0, xmm6
movsd qword [rbp - 0x78], xmm0
nop dword [rax + rax]
mov eax, dword [rsp + r14*4 + 0x48]
movsd xmm0, qword [rsp + r14*8 + 0x78]
mov rcx, qword [r9 + 8]
addsd xmm0, xmm12
cvttsd2si rbx, xmm0
mov dword [rsp + r14*4 + 0x48], ebx
sub ebx, eax
movzx edx, bl
call fcn.14007d370
mov rcx, qword [rbp + 0x80]
mov edx, ebx
shr edx, 8
mov rcx, qword [rcx + 8]
call fcn.14007d370
mov rax, qword [rbp + 0x80]
shr ebx, 0x10
movzx edx, bl
mov rcx, qword [rax + 8]
call fcn.14007d370
mov r9, qword [rbp + 0x80]
inc r14
cmp r14, 3
jl 0x1400511c0
inc r12d
add rsi, 8
sub r15, 1
jne 0x140051160
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x140051150
mov r13, qword [rsp + 0x38]
mov rdi, qword [r13 + 0x48]
test rdi, rdi
je 0x14005135e
xor r13d, r13d
nop word [rax + rax]
lea rsi, [rdi + 0x20]
mov r15d, 2
nop word [rax + rax]
mov rax, qword [rsi]
mov rcx, qword [rax + 8]
cmp dword [rcx + 0x20], r12d
jne 0x140051337
movss xmm0, dword [rcx + 0x10]
mov r14, r13
movss xmm1, dword [rcx + 0x14]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm0, xmm9
subsd xmm1, xmm10
mulsd xmm0, xmm7
mulsd xmm1, xmm8
movsd qword [rsp + 0x78], xmm0
movss xmm0, dword [rcx + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [rbp - 0x80], xmm1
subsd xmm0, xmm11
mulsd xmm0, xmm6
movsd qword [rbp - 0x78], xmm0
nop dword [rax + rax]
mov eax, dword [rsp + r14*4 + 0x48]
movsd xmm0, qword [rsp + r14*8 + 0x78]
mov rcx, qword [r9 + 8]
addsd xmm0, xmm12
cvttsd2si rbx, xmm0
mov dword [rsp + r14*4 + 0x48], ebx
sub ebx, eax
movzx edx, bl
call fcn.14007d370
mov rax, qword [rbp + 0x80]
mov edx, ebx
shr edx, 8
mov rcx, qword [rax + 8]
call fcn.14007d370
mov rax, qword [rbp + 0x80]
shr ebx, 0x10
movzx edx, bl
mov rcx, qword [rax + 8]
call fcn.14007d370
mov r9, qword [rbp + 0x80]
inc r14
cmp r14, 3
jl 0x1400512d0
inc r12d
mov r9, qword [rbp + 0x80]
add rsi, 8
sub r15, 1
jne 0x140051270
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x140051260
mov r13, qword [rsp + 0x38]
mov r13, qword [r13]
mov edx, dword [rbp + 0x90]
mov r9, qword [rbp + 0x80]
mov qword [rsp + 0x38], r13
test r13, r13
jne 0x140051110
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1400510e0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 8]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x1400510c0
mov r8, qword [rsp + 0x60]
xor esi, esi
mov eax, dword [rbp + 0x98]
mov rcx, qword [rsp + 0x58]
inc edx
add rcx, 4
mov dword [rbp + 0x90], edx
inc r8
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], r8
cmp edx, 8
jl 0x140051060
movaps xmm12, xmmword [rsp + 0xc0]
dec r12d
cmp dword [rsp + 0x30], 0
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x120]
mov dword [rbp + 0x90], r12d
je 0x14005143f
mov edx, dword [rbp - 0x70]
mov rcx, r9
call fcn.14003a0d0
test eax, eax
jle 0x14005186b
movzx edi, byte [rbp + 0x88]
test dil, dil
je 0x14005183c
mov ebx, esi
lea rcx, [rbp - 0x54]
mov r12d, 7
nop dword [rax + rax]
mov eax, dword [rcx]
lea rcx, [rcx - 4]
cmp eax, ebx
cmovbe eax, ebx
dec r12d
mov ebx, eax
test r12d, r12d
jg 0x140051460
test dil, 1
je 0x140051499
lea ecx, [rax + rax]
add rcx, rcx
call fcn.140001bb0
mov r13, rax
jmp 0x14005149c
mov byte [r8 - 8], 0xff
mov byte [r8], 0
jmp 0x1400513b7
mov r13, rsi
test dil, 2
je 0x1400514b6
lea ecx, [rbx*4]
add rcx, rcx
call fcn.140001bb0
mov rbx, rax
jmp 0x1400514b9
mov rbx, rsi
mov r12d, dword [rbp + 0x90]
mov qword [rsp + 0x38], rbx
cmp r12d, 0x100
ja 0x1400514d5
mov eax, 1
jmp 0x1400514f4
cmp r12d, 0x10000
ja 0x1400514e5
mov eax, 2
jmp 0x1400514f4
cmp r12d, 0x1000000
mov eax, esi
seta al
add eax, 3
mov rsi, qword [rbp + 0x80]
lea r15, [rbp - 0x6c]
mov edi, 1
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x30], edi
mov dword [rsi + 0x30], eax
mov r14d, dword [r15]
mov dword [rsp + 0x68], r14d
test r14d, r14d
je 0x1400517f6
movzx r12d, dil
mov eax, r14d
and r12b, 0xfb
mov ecx, 1
cmp r14d, 0x7f
jbe 0x14005154a
nop word [rax + rax]
inc ecx
shr eax, 7
cmp eax, 0x7f
ja 0x140051540
mov eax, r14d
imul eax, dword [rsi + 0x30]
add eax, ecx
movzx ecx, r12b
and cl, 1
mov byte [rbp + 0x98], cl
je 0x140051566
lea eax, [rax + r14*4]
movzx ebx, r12b
movzx r9d, cl
and bl, 2
mov byte [rbp + 0x90], bl
je 0x140051581
or r9d, 2
lea eax, [rax + r14*8]
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [r8 + 0x23]
call fcn.14004fc20
mov edx, r14d
mov rcx, rsi
call fcn.14003a0d0
mov r10, qword [rbp + 0x80]
mov esi, 1
mov dword [rsp + 0x58], 0
mov rax, qword [r10 + 0x28]
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14005177e
nop dword [rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140051756
nop dword [rax]
nop word [rax + rax]
movss xmm0, dword [rax + 0x10]
ucomiss xmm0, xmm13
jp 0x140051745
jne 0x140051745
mov r15, qword [rax + 0x28]
mov qword [rsp + 0x40], r15
test r15, r15
je 0x140051745
nop word [rax + rax]
movzx eax, byte [r15 + 0x6c]
cmp eax, edi
jne 0x140051724
mov rax, qword [r10 + 0x10]
test dword [rax + 0x68], 0x100000
jne 0x14005164b
mov rax, qword [0x1401834c0]
cmp qword [r15 + 0x10], rax
je 0x140051724
mov rbx, qword [r15 + 0x40]
test rbx, rbx
je 0x1400516b4
mov r15, qword [rsp + 0x38]
nop dword [rax]
lea rdi, [rbx + 0x20]
mov r14d, 3
nop word [rax + rax]
mov rdx, qword [rdi]
cmp dword [rdx + 0x40], esi
jne 0x14005169c
mov qword [rsp + 0x28], r15
lea r9, [rsp + 0x58]
movzx r8d, r12b
mov qword [rsp + 0x20], r13
mov rcx, r10
call fcn.140051890
mov r10, qword [rbp + 0x80]
inc esi
add rdi, 8
sub r14, 1
jne 0x140051670
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x140051660
mov r15, qword [rsp + 0x40]
mov rbx, qword [r15 + 0x48]
test rbx, rbx
je 0x140051724
mov r15, qword [rsp + 0x38]
nop dword [rax]
nop word [rax + rax]
lea rdi, [rbx + 0x20]
mov r14d, 2
nop word [rax + rax]
mov rdx, qword [rdi]
cmp dword [rdx + 0x40], esi
jne 0x140051705
mov qword [rsp + 0x28], r15
lea r9, [rsp + 0x58]
movzx r8d, r12b
mov qword [rsp + 0x20], r13
mov rcx, r10
call fcn.140051890
inc esi
mov r10, qword [rbp + 0x80]
add rdi, 8
sub r14, 1
jne 0x1400516e0
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x1400516d0
mov r15, qword [rsp + 0x40]
mov r15, qword [r15]
mov edi, dword [rsp + 0x30]
mov r10, qword [rbp + 0x80]
mov qword [rsp + 0x40], r15
test r15, r15
jne 0x140051620
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x1400515f0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1400515d0
mov r14d, dword [rsp + 0x68]
movzx ebx, byte [rbp + 0x90]
mov r15, qword [rsp + 0x48]
cmp byte [rbp + 0x98], 0
je 0x1400517cc
mov r9d, dword [r13]
cmp r14d, 1
jbe 0x1400517b7
lea rdx, [r13 + 4]
lea r8d, [r14 - 1]
nop dword [rax]
mov ecx, dword [rdx]
lea rdx, [rdx + 4]
mov eax, ecx
xor eax, r9d
mov r9d, ecx
mov dword [rdx - 4], eax
sub r8, 1
jne 0x1400517a0
mov rcx, qword [r10 + 8]
mov r9, r13
mov r8d, 4
mov edx, r14d
call fcn.14007db70
mov rsi, qword [rbp + 0x80]
test bl, bl
mov rbx, qword [rsp + 0x38]
je 0x1400517f6
mov rcx, qword [rsi + 8]
lea edx, [r14*4]
mov r9, rbx
mov r8d, 2
call fcn.14007db70
inc edi
add r15, 4
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x48], r15
cmp edi, 8
jl 0x140051510
test r13, r13
je 0x14005181c
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test rbx, rbx
je 0x140051833
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [rsi + 0x30], 0
jmp 0x140051852
movzx edi, byte [rbp + 0x88]
xor esi, esi
mov rax, qword [rbp + 0x80]
mov dword [rax + 0x30], esi
test dil, dil
je 0x140050e8f
mov rsi, rax
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.14007d9e0
test eax, eax
mov eax, 0
sete al
jmp 0x14005186b
mov eax, ecx
movaps xmm13, xmmword [rsp + 0xb0]
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret