Function at 0x14004f9f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x108]
sub rsp, 0x208
mov r13, qword [0x140124520]
mov esi, r8d
mov rdi, rdx
mov qword [rbp - 0x28], r13
mov r14, rcx
mov rax, qword [r13 + 0x3ea8]
mov byte [rax + 0x98], 1
mov r12, qword [r13 + 0x3ea8]
mov qword [rbp - 0x20], r12
cmp byte [r12 + 0x9b], 0
je 0x14004fa5d
xor al, al
add rsp, 0x208
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x1f8], r15
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm7
movaps xmmword [rsp + 0x1c0], xmm8
movaps xmmword [rsp + 0x1b0], xmm9
movaps xmmword [rsp + 0x1a0], xmm10
movaps xmmword [rsp + 0x190], xmm11
movaps xmmword [rsp + 0x180], xmm12
movss xmm12, dword [r13 + 0x3838]
movaps xmmword [rsp + 0x170], xmm13
addss xmm12, xmm12
movaps xmmword [rsp + 0x160], xmm14
movaps xmmword [rsp + 0x150], xmm15
addss xmm12, dword [r13 + 0x3c18]
call fcn.140028ec0
movaps xmm11, xmm0
xorps xmm9, xmm9
test sil, 0x10
je 0x14004faf4
xorps xmm6, xmm6
jmp 0x14004fb01
movaps xmm6, xmm12
addss xmm6, dword [r13 + 0x384c]
mov qword [rbp - 0x68], r14
subss xmm11, xmm6
mov r15, r14
cmp r14, 0xffffffffffffffff
jae 0x14004fb32
movzx eax, byte [r15]
test al, al
je 0x14004fb2e
cmp al, 0x23
jne 0x14004fb25
cmp byte [r15 + 1], al
je 0x14004fb2e
inc r15
cmp r15, 0xffffffffffffffff
jb 0x14004fb13
mov qword [rbp - 0x68], r15
xor ebx, ebx
mov dword [r13 + 0x3f5c], ebx
call fcn.140029040
mov rcx, r14
call fcn.140027e70
mov dword [rbp], esi
test sil, 0x20
je 0x14004fb5d
and esi, 0xff9fffff
or esi, 0x100008
test sil, 8
jne 0x14004fb6d
mov edx, esi
mov rcx, rdi
call fcn.140054630
mov ecx, dword [r13 + 0x52c4]
test esi, 0x700000
jne 0x14004fb85
mov eax, ecx
and eax, 0x700000
or esi, eax
test esi, 0x1800000
jne 0x14004fb96
mov eax, ecx
and eax, 0x1800000
or esi, eax
test esi, 0x6000000
jne 0x14004fba7
mov eax, ecx
and eax, 0x6000000
or esi, eax
test esi, 0x18000000
jne 0x14004fbb8
mov eax, ecx
and eax, 0x18000000
or esi, eax
movss xmm3, dword [rdi]
and ecx, 0xe00fffff
movss xmm1, dword [rdi + 4]
or esi, ecx
movss xmm2, dword [rdi + 8]
mov eax, esi
movss xmm10, dword [0x1400bc358]
shr eax, 1
not al
movss dword [rsp + 0x78], xmm3
and al, 1
movss dword [rsp + 0x7c], xmm1
movzx ecx, al
mov eax, esi
shr eax, 0x13
and al, 1
movss dword [rbp - 0x80], xmm2
mov dword [rbp + 0x150], esi
mov dword [rbp - 0x70], ecx
lea edx, [rcx + 3]
mov dword [rbp - 0x30], eax
mov dword [rbp - 0x6c], edx
test cl, cl
je 0x14004fc17
movss xmm0, dword [rdi + 0xc]
jmp 0x14004fc1b
movaps xmm0, xmm10
mov eax, esi
movss dword [rbp - 0x7c], xmm0
and eax, 0x10100000
mov dword [rbp + 4], eax
cmp eax, 0x10100000
jne 0x14004fc53
lea rax, [rbp - 0x80]
movaps xmm0, xmm3
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x78]
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
call fcn.14001bac0
jmp 0x14004fc97
mov eax, esi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x14004fcb3
lea rax, [rbp - 0x80]
movaps xmm0, xmm3
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x78]
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
call fcn.14001ba10
lea r9, [rbp - 0x80]
mov rcx, rdi
lea r8, [rsp + 0x7c]
lea rdx, [rsp + 0x78]
call fcn.14004f940
mov edx, dword [rbp - 0x6c]
mov ecx, dword [rbp - 0x70]
movss xmm3, dword [rsp + 0x78]
movss xmm1, dword [rsp + 0x7c]
movss xmm2, dword [rbp - 0x80]
movss xmm0, dword [rbp - 0x7c]
comiss xmm3, xmm9
movss xmm5, dword [0x1400bc4c0]
movss xmm4, dword [0x1400bc304]
jb 0x14004fccf
movaps xmm8, xmm4
jmp 0x14004fcd3
movaps xmm8, xmm5
comiss xmm1, xmm9
movss xmm7, dword [0x1400bc460]
mulss xmm3, xmm7
addss xmm3, xmm8
cvttss2si eax, xmm3
mov dword [rbp - 0x48], eax
jb 0x14004fcf6
movaps xmm3, xmm4
jmp 0x14004fcf9
movaps xmm3, xmm5
comiss xmm2, xmm9
mulss xmm1, xmm7
addss xmm1, xmm3
cvttss2si eax, xmm1
mov dword [rbp - 0x44], eax
jb 0x14004fd13
movaps xmm1, xmm4
jmp 0x14004fd16
movaps xmm1, xmm5
comiss xmm0, xmm9
mulss xmm2, xmm7
addss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [rbp - 0x40], eax
jae 0x14004fd2e
movaps xmm4, xmm5
mulss xmm0, xmm7
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [rbp - 0x3c], eax
xor al, al
movss xmm13, dword [r12 + 0xe0]
movss xmm14, dword [r12 + 0xe4]
mov byte [rbp + 0x158], al
mov byte [rsp + 0x58], al
cmp dword [r13 + 0x388c], ebx
je 0x14004fd6a
movaps xmm6, xmm9
movss xmm15, dword [0x1400bc4d0]
movaps xmm0, xmm13
addss xmm0, xmm6
movss dword [r12 + 0xe0], xmm0
test esi, 0x300000
je 0x140050675
test sil, 0x20
jne 0x140050675
movss xmm3, dword [r13 + 0x384c]
lea eax, [rdx - 1]
movd xmm2, eax
movaps xmm1, xmm11
cvtdq2ps xmm2, xmm2
mov qword [rsp + 0x30], rbx
mov ecx, esi
and ecx, 0x1000000
mov dword [rsp + 0x5c], ecx
mov rcx, qword [0x140124520]
movaps xmm7, xmm10
movaps xmm8, xmm10
movaps xmm0, xmm2
mulss xmm0, xmm3
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
lea rdx, [0x1400bb7f8]
divss xmm1, xmm0
movaps xmm0, xmm11
cvttss2si eax, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm7, xmm1
addss xmm3, xmm7
mulss xmm3, xmm2
movss xmm2, dword [rcx + 0x3c18]
mov rcx, qword [rcx + 0x3c10]
subss xmm0, xmm3
movss xmm3, dword [0x1400bc4a8]
cvttss2si eax, xmm0
movd xmm1, eax
lea rax, str.M:000
cmovne rax, rdx
lea rdx, [rsp + 0x48]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm15
maxss xmm8, xmm1
call fcn.14003faf0
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x1400bc350]
mov r12d, 8
cvttss2si eax, xmm0
movd xmm0, eax
mov rax, qword gs:[0x58]
cvtdq2ps xmm0, xmm0
mov rdi, qword [rax]
comiss xmm0, xmm7
mov eax, dword [r12 + rdi]
setae r14b
cmp dword [0x140124b6c], eax
jle 0x14004ff7c
lea rcx, [0x140124b6c]
call fcn.140079370
cmp dword [0x140124b6c], 0xffffffff
jne 0x14004ff7c
mov dword [rsp + 0x50], 0xb8fcfd
mov edx, ebx
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004fec0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xb9fcfd
mov qword [0x140124880], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004fef0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xbafcfd
mov qword [0x140124888], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004ff20
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xb7fcfd
mov qword [0x140124890], rax
mov r8d, ebx
nop dword [rax + rax]
movsxd rdx, r8d
lea eax, [r8 - 0x22]
inc r8d
xor byte [rsp + rdx + 0x50], al
cmp r8d, 3
jb 0x14004ff50
lea rax, [rsp + 0x50]
lea rcx, [0x140124b6c]
mov qword [0x140124898], rax
call fcn.140079310
mov eax, dword [r12 + rdi]
cmp dword [0x140124b70], eax
jle 0x1400501ec
lea rcx, [0x140124b70]
call fcn.140079370
cmp dword [0x140124b70], 0xffffffff
jne 0x1400501ec
mov dword [rsp + 0x50], 0x84ecfb
mov edx, ebx
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004ffb0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x84ecfb
mov qword [0x140124900], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004ffe0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x84ecfb
mov qword [0x140124908], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x140050010
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x84ecfb
mov qword [0x140124910], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x140050040
lea rax, [rsp + 0x50]
mov dword [rsp + 0x40], 0xd2c5e58c
mov qword [0x140124918], rax
mov edx, ebx
mov word [rsp + 0x44], 0x86
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050070
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xd2c5e599
mov qword [0x140124920], rax
mov edx, ebx
mov word [rsp + 0x44], 0x86
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400500a0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xd2c5e59c
mov qword [0x140124928], rax
mov edx, ebx
mov word [rsp + 0x44], 0x86
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400500d0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xd2c5e59f
mov qword [0x140124930], rax
mov edx, ebx
mov word [rsp + 0x44], 0x86
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050100
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xd2c5e596
mov qword [0x140124938], rax
mov edx, ebx
mov word [rsp + 0x44], 0x86
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050130
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xd2c5e58d
mov qword [0x140124940], rax
mov edx, ebx
mov word [rsp + 0x44], 0x86
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050160
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xd2c5e588
mov qword [0x140124948], rax
mov edx, ebx
mov word [rsp + 0x44], 0x86
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050190
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xd2c5e59f
mov qword [0x140124950], rax
mov r8d, ebx
mov word [rsp + 0x44], 0x86
nop
movsxd rdx, r8d
lea eax, [r8 - 0x22]
inc r8d
xor byte [rsp + rdx + 0x40], al
cmp r8d, 5
jb 0x1400501c0
lea rax, [rsp + 0x40]
lea rcx, [0x140124b70]
mov qword [0x140124958], rax
call fcn.140079310
mov eax, dword [r12 + rdi]
cmp dword [0x140124b68], eax
jle 0x14005046c
lea rcx, [0x140124b68]
call fcn.140079370
cmp dword [0x140124b68], 0xffffffff
jne 0x14005046c
mov dword [rsp + 0x40], 0xd2ceeffb
mov edx, ebx
mov word [rsp + 0x44], 0x84
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050230
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xd2ceeffb
mov qword [0x1401248a0], rax
mov edx, ebx
mov word [rsp + 0x44], 0x84
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050260
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xd2ceeffb
mov qword [0x1401248a8], rax
mov edx, ebx
mov word [rsp + 0x44], 0x84
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050290
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xd2ceeffb
mov qword [0x1401248b0], rax
mov edx, ebx
mov word [rsp + 0x44], 0x84
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400502c0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x48], 0xd1c5e58c
mov qword [0x1401248b8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x82d0cc
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400502f0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xd1c5e599
mov qword [0x1401248c0], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x82d0cc
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050320
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xd1c5e59c
mov qword [0x1401248c8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x82d0cc
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050350
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xd1c5e59f
mov qword [0x1401248d0], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x82d0cc
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050380
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xd1c5e596
mov qword [0x1401248d8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x82d0cc
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400503b0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xd1c5e58d
mov qword [0x1401248e0], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x82d0cc
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400503e0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xd1c5e588
mov qword [0x1401248e8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x82d0cc
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050410
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xd1c5e59f
mov qword [0x1401248f0], rax
mov r8d, ebx
mov dword [rsp + 0x4c], 0x82d0cc
movsxd rdx, r8d
lea eax, [r8 - 0x22]
inc r8d
xor byte [rsp + rdx + 0x48], al
cmp r8d, 7
jb 0x140050440
lea rax, [rsp + 0x48]
lea rcx, [0x140124b68]
mov qword [0x1401248f8], rax
call fcn.140079310
mov rdi, rbx
test r14b, r14b
jne 0x14005047f
bt esi, 0x15
setb dil
inc rdi
mov edx, dword [rbp - 0x6c]
mov r8d, ebx
mov r12d, edx
test edx, edx
je 0x140050638
movss xmm6, dword [0x1400bc2b4]
lea r13, [0x140124880]
mov eax, esi
shl rdi, 5
and eax, 8
lea rcx, [0x140000000]
sub r13, rdi
mov esi, eax
mov r14d, 0xff
nop word [rax + rax]
test r8d, r8d
jle 0x1400504e1
mov rax, qword [rbp - 0x28]
movaps xmm0, xmm9
movss xmm1, dword [rax + 0x384c]
call fcn.140028d60
lea rcx, [0x140000000]
lea r15d, [r8 + 1]
cmp r15d, edx
jge 0x1400504ef
movaps xmm0, xmm7
jmp 0x1400504f3
movaps xmm0, xmm8
mov rax, qword [0x140124520]
or dword [rax + 0x3f5c], 1
movss dword [rax + 0x3f60], xmm0
cmp dword [rsp + 0x5c], ebx
je 0x14005057b
mov rcx, qword [rdi + rcx + 0x1248a0]
cmp byte [rbp - 0x30], bl
je 0x140050522
movaps xmm0, xmm9
jmp 0x140050526
movaps xmm0, xmm10
movsxd rax, r8d
movaps xmm3, xmm6
mov qword [rsp + 0x30], rcx
lea r8, [rsp + 0x78]
mov rcx, qword [rdi + r13]
mov edx, 8
movss dword [rsp + 0x50], xmm0
lea r8, [r8 + rax*4]
mov dword [rsp + 0x40], ebx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.140049950
movzx ecx, byte [rbp + 0x158]
or cl, al
or byte [rsp + 0x58], cl
mov byte [rbp + 0x158], cl
jmp 0x1400505d0
mov rdx, qword [rdi + rcx + 0x124900]
mov eax, r14d
cmp byte [rbp - 0x30], bl
movaps xmm3, xmm10
mov rcx, qword [rdi + r13]
cmovne eax, ebx
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x40], eax
mov edx, 4
movsxd rax, r8d
lea r8, [rbp - 0x48]
mov dword [rsp + 0x50], ebx
lea r8, [r8 + rax*4]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.140049950
or byte [rbp + 0x158], al
test esi, esi
jne 0x14005060f
mov dword [rsp + 0x48], 0x958eb0bd
mov edx, ebx
mov dword [rsp + 0x4c], 0x909b87
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400505f0
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a240
mov edx, dword [rbp - 0x6c]
lea rcx, [0x140000000]
add rdi, 8
mov r8d, r15d
sub r12, 1
jne 0x1400504c0
mov esi, dword [rbp + 0x150]
mov r15, qword [rbp - 0x68]
mov r13, qword [rbp - 0x28]
mov r12, qword [rbp - 0x20]
mov rdi, qword [rbp + 0x148]
mov r14, rbx
test sil, 0x10
jne 0x140050b74
test sil, 0x20
jne 0x140050974
cmp dword [r13 + 0x388c], ebx
je 0x140050974
addss xmm11, dword [r13 + 0x384c]
jmp 0x140050978
mov eax, esi
and eax, 0x400020
cmp eax, 0x400000
jne 0x140050643
mov r14d, 0xff
test cl, cl
je 0x14005073a
mov r11d, dword [rbp - 0x3c]
test r11d, r11d
jns 0x14005069f
mov r11d, ebx
jmp 0x1400506a6
cmp r11d, r14d
cmovg r11d, r14d
mov r10d, dword [rbp - 0x40]
test r10d, r10d
jns 0x1400506b4
mov r10d, ebx
jmp 0x1400506bb
cmp r10d, r14d
cmovg r10d, r14d
mov r8d, dword [rbp - 0x44]
test r8d, r8d
jns 0x1400506c9
mov r8d, ebx
jmp 0x1400506d0
cmp r8d, r14d
cmovg r8d, r14d
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x1400506de
mov r9d, ebx
jmp 0x1400506e5
cmp r9d, r14d
cmovg r9d, r14d
movdqa xmm0, xmmword [0x1400bd360]
mov edx, ebx
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 8], 0xb6
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rbp + rcx - 0x18], al
cmp edx, 0x11
jb 0x140050700
mov dword [rsp + 0x30], r11d
lea rcx, [rbp + 0x10]
mov dword [rsp + 0x28], r10d
mov edx, 0x40
mov dword [rsp + 0x20], r8d
lea r8, [rbp - 0x18]
mov byte [rbp - 7], bl
call fcn.14001b4b0
jmp 0x1400507d2
mov r10d, dword [rbp - 0x40]
test r10d, r10d
jns 0x140050748
mov r10d, ebx
jmp 0x14005074f
cmp r10d, r14d
cmovg r10d, r14d
mov r8d, dword [rbp - 0x44]
test r8d, r8d
jns 0x14005075d
mov r8d, ebx
jmp 0x140050764
cmp r8d, r14d
cmovg r8d, r14d
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x140050772
mov r9d, ebx
jmp 0x140050779
cmp r9d, r14d
cmovg r9d, r14d
mov dword [rsp + 0x64], 0xd3d0fafd
mov edx, ebx
mov dword [rsp + 0x68], 0xd7d4c6ba
mov dword [rsp + 0x6c], 0xdbd8c2be
mov word [rsp + 0x70], 0xb2
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0xd
jb 0x1400507a0
mov dword [rsp + 0x28], r10d
lea rcx, [rbp + 0x10]
mov dword [rsp + 0x20], r8d
mov edx, 0x40
lea r8, [rsp + 0x64]
mov byte [rsp + 0x71], bl
call fcn.14001b4b0
mov rax, qword [0x140124520]
mov edx, ebx
mov dword [rsp + 0x40], 0x84b4fcfd
mov word [rsp + 0x44], 0x979a
or dword [rax + 0x3f5c], 1
movss dword [rax + 0x3f60], xmm11
xor eax, eax
mov byte [rsp + 0x46], al
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 6
jb 0x140050800
mov qword [rsp + 0x38], rbx
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rbx
lea r8, [rbp + 0x10]
mov dword [rsp + 0x28], 6
lea rcx, [rsp + 0x40]
mov r9d, 0x40
mov qword [rsp + 0x20], rax
xor edx, edx
mov byte [rsp + 0x46], bl
mov qword [rbp - 0x28], rbx
call fcn.14004c7f0
test al, al
je 0x140050933
mov byte [rbp + 0x158], 1
lea r10, [rbp + 0x10]
nop dword [rax]
movzx eax, byte [r10]
cmp al, 0x23
je 0x140050870
cmp al, 0x20
je 0x140050870
cmp al, 9
jne 0x140050875
inc r10
jmp 0x140050860
xor eax, eax
mov qword [rbp - 0x44], rbx
mov edx, ebx
mov dword [rbp - 0x48], ebx
mov dword [rbp - 0x3c], r14d
cmp byte [rbp - 0x70], bl
je 0x1400508de
movdqa xmm0, xmmword [0x1400bd0d0]
movdqu xmmword [rsp + 0x64], xmm0
mov byte [rsp + 0x74], al
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0x10
jb 0x1400508a0
lea rax, [rbp - 0x3c]
mov byte [rsp + 0x74], bl
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x44]
lea rax, [rbp - 0x40]
mov rcx, r10
lea r8, [rbp - 0x48]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x64]
call fcn.140019840
jmp 0x140050933
mov dword [rsp + 0x64], 0xb9d2effb
mov dword [rsp + 0x68], 0xbdd6d3c7
mov dword [rsp + 0x6c], 0xb1dad7c3
mov byte [rsp + 0x70], al
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0xc
jb 0x140050900
lea rax, [rbp - 0x40]
mov byte [rsp + 0x70], bl
lea r9, [rbp - 0x44]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x48]
mov rcx, r10
lea rdx, [rsp + 0x64]
call fcn.140019840
test sil, 8
jne 0x140050643
mov dword [rsp + 0x48], 0x958eb0bd
mov edx, ebx
mov dword [rsp + 0x4c], 0x909b87
nop
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050950
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a240
jmp 0x140050643
movaps xmm11, xmm9
addss xmm13, xmm11
movss dword [r12 + 0xe4], xmm14
movss dword [r12 + 0xe0], xmm13
cmp byte [rbp - 0x70], bl
je 0x14005099c
movss xmm10, dword [rdi + 0xc]
movss xmm0, dword [rdi]
mov edx, ebx
movss xmm1, dword [rdi + 4]
movss dword [rbp - 0x18], xmm0
movss xmm0, dword [rdi + 8]
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0x14], xmm1
movss dword [rbp - 0xc], xmm10
mov qword [rbp - 0x20], rbx
mov dword [rbp - 0x58], 0x8ea3fcfd
mov dword [rbp - 0x54], 0xa7968c8e
mov dword [rbp - 0x50], 0x869c9393
mov word [rbp - 0x4c], 0x84
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rbp + rcx - 0x58], al
cmp edx, 0xd
jb 0x1400509e0
lea r9, [rbp - 0x20]
mov byte [rbp - 0x4b], bl
mov r8d, esi
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x58]
call fcn.140053760
test al, al
je 0x140050ada
test sil, 4
jne 0x140050ada
movups xmm0, xmmword [rbp - 0x18]
xor eax, eax
mov dword [rsp + 0x5c], 0x8a83b6ae
mov word [rsp + 0x60], 0x9187
mov edx, ebx
movups xmmword [r13 + 0x52d4], xmm0
mov byte [rsp + 0x62], al
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x5c], al
cmp edx, 6
jb 0x140050a40
mov rax, qword [0x140124520]
xor edx, edx
mov byte [rsp + 0x62], bl
mov rax, qword [rax + 0x3ea8]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r8d, dword [rax + rcx*4 - 4]
lea rcx, [rsp + 0x5c]
call fcn.14001b5c0
mov ecx, eax
xor edx, edx
call fcn.140029d60
movss xmm1, dword [r13 + 0x3f7c]
movss xmm0, dword [r13 + 0x3848]
addss xmm1, xmm9
addss xmm0, dword [r13 + 0x3f88]
mov rax, qword [0x140124520]
or dword [rax + 0x3fb0], 1
movss dword [rax + 0x3fc0], xmm1
movss dword [rax + 0x3fc4], xmm0
mov qword [rax + 0x3fc8], rbx
mov dword [rax + 0x3fb4], 1
test sil, 8
jne 0x140050b1f
mov dword [rsp + 0x48], 0x958eb0bd
mov edx, ebx
mov dword [rsp + 0x4c], 0x909b87
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050b00
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a240
xor eax, eax
mov dword [rsp + 0x5c], 0x8a83b6ae
mov byte [rsp + 0x62], al
mov edx, ebx
mov word [rsp + 0x60], 0x9187
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rsp + rcx + 0x5c], al
cmp edx, 6
jb 0x140050b40
mov rcx, qword [0x140124520]
mov byte [rsp + 0x62], bl
mov eax, dword [rcx + 0x4090]
cmp dword [rcx + 0x4080], eax
jg 0x140050ca4
mov dword [rcx + 0x3fb0], ebx
movzx r12d, byte [rbp + 0x158]
mov r9, qword [rbp + 0x140]
movaps xmm15, xmmword [rsp + 0x150]
movaps xmm14, xmmword [rsp + 0x160]
movaps xmm13, xmmword [rsp + 0x170]
movaps xmm12, xmmword [rsp + 0x180]
movaps xmm11, xmmword [rsp + 0x190]
movaps xmm10, xmmword [rsp + 0x1a0]
cmp r9, r15
je 0x140050be3
test sil, sil
js 0x140050be3
movss xmm1, dword [r13 + 0x384c]
movaps xmm0, xmm9
call fcn.140028d60
mov rcx, r9
xor r8d, r8d
mov rdx, r15
call fcn.140044dd0
movaps xmm9, xmmword [rsp + 0x1b0]
test r12b, r12b
je 0x140050e7e
test r14, r14
jne 0x140050e7e
cmp byte [rsp + 0x58], bl
jne 0x140050c18
movdqu xmm0, xmmword [rbp - 0x48]
cvtdq2ps xmm1, xmm0
divps xmm1, xmmword [0x1400bcae0]
movups xmmword [rsp + 0x78], xmm1
mov eax, esi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x140050e00
movss xmm0, dword [rsp + 0x78]
lea rax, [rbp - 0x80]
movss xmm1, dword [rsp + 0x7c]
lea r9, [rsp + 0x78]
movss xmm2, dword [rbp - 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
movss dword [r13 + 0x52c8], xmm0
movss dword [r13 + 0x52cc], xmm1
call fcn.14001bac0
movss xmm6, dword [rsp + 0x78]
lea rcx, [rbp - 0x68]
movss xmm7, dword [rsp + 0x7c]
movss xmm8, dword [rbp - 0x80]
movss dword [rbp - 0x68], xmm6
movss dword [rbp - 0x64], xmm7
movss dword [rbp - 0x60], xmm8
mov dword [rbp - 0x5c], ebx
call fcn.14001b960
mov dword [r13 + 0x52d0], eax
jmp 0x140050e12
mov rax, qword [rcx + 0x3ea8]
xor edx, edx
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r8d, dword [rax + rcx*4 - 4]
lea rcx, [rsp + 0x5c]
call fcn.14001b5c0
mov ecx, eax
call fcn.14002a120
test al, al
je 0x140050b74
mov rax, qword [rbp + 0x140]
mov r14, qword [r13 + 0x3ea8]
cmp rax, r15
je 0x140050d2f
xor r8d, r8d
mov rdx, r15
mov rcx, rax
call fcn.140044dd0
mov rcx, qword [0x140124520]
mov rax, qword [rcx + 0x3ea8]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea8]
cmp byte [rax + 0x9b], bl
jne 0x140050d2f
movaps xmm1, xmm15
mov qword [rbp - 0x68], rbx
lea rcx, [rbp - 0x68]
call fcn.140028a60
mov rax, qword [0x140124520]
mov edx, ebx
mov r8d, dword [rbp]
mulss xmm12, dword [0x1400bc3e0]
and r8d, 0x1f890002
or r8d, 0x740080
mov dword [rbp - 0x68], 0x8890fcfd
or dword [rax + 0x3f5c], 1
mov dword [rbp - 0x64], 0x97818881
movss dword [rax + 0x3f60], xmm12
xor eax, eax
mov byte [rbp - 0x60], al
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rbp + rcx - 0x68], al
cmp edx, 8
jb 0x140050d80
lea r9, [r13 + 0x52d4]
mov byte [rbp - 0x60], bl
mov rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.140051350
mov rdi, qword [0x140124520]
movzx r12d, byte [rbp + 0x158]
or r12b, al
mov rax, qword [rdi + 0x3ea8]
cmp qword [rdi + 0x40b8], rax
jne 0x140050de0
cmp byte [rdi + 0x4115], bl
je 0x140050de0
cmp dword [rdi + 0x40f4], ebx
jne 0x140050de0
or dword [rdi + 0x4118], 2
test dword [rax + 0xc], 0x1000000
je 0x140050df0
mov byte [rdi + 0x3e36], 1
call fcn.140027490
mov byte [rdi + 0x3e36], bl
jmp 0x140050b7c
movss xmm8, dword [rbp - 0x80]
movss xmm7, dword [rsp + 0x7c]
movss xmm6, dword [rsp + 0x78]
cmp dword [rbp + 4], 0x10100000
jne 0x140050e54
lea rax, [rbp - 0x80]
movaps xmm2, xmm8
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x78]
lea rax, [rsp + 0x7c]
movaps xmm1, xmm7
movaps xmm0, xmm6
mov qword [rsp + 0x20], rax
call fcn.14001ba10
movss xmm8, dword [rbp - 0x80]
movss xmm7, dword [rsp + 0x7c]
movss xmm6, dword [rsp + 0x78]
mov r15, qword [rbp + 0x148]
movss dword [r15], xmm6
movss dword [r15 + 4], xmm7
movss dword [r15 + 8], xmm8
cmp byte [rbp - 0x70], bl
je 0x140050e85
movss xmm0, dword [rbp - 0x7c]
movss dword [r15 + 0xc], xmm0
jmp 0x140050e85
mov r15, qword [rbp + 0x148]
mov rax, qword [0x140124520]
mov rcx, qword [rax + 0x3ea8]
dec dword [rcx + 0xd0]
call fcn.140029170
test byte [r13 + 0x3f78], 1
movaps xmm8, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmm6, xmmword [rsp + 0x1e0]
je 0x1400510a9
bt esi, 9
jb 0x1400510a9
mov r10, qword [0x140124520]
cmp byte [r10 + 0x424c], bl
je 0x1400510b0
mov edx, dword [r10 + 0x3f78]
mov rcx, qword [r10 + 0x3ea8]
test dl, 1
je 0x1400510b0
mov rax, qword [r10 + 0x3eb8]
test rax, rax
je 0x1400510b0
mov rax, qword [rax + 0x360]
cmp qword [rcx + 0x360], rax
jne 0x1400510b0
cmp byte [rcx + 0x9b], bl
jne 0x1400510b0
test dl, 2
mov eax, 0x3f7c
mov r11d, 0x3f9c
cmove r11d, eax
mov eax, dword [r10 + 0x3f70]
add r11, r10
test eax, eax
jne 0x140050f73
mov rdx, r11
call fcn.14001d6e0
cmp dword [r10 + 0x3ef4], eax
jne 0x140050f62
mov dword [r10 + 0x3ef8], eax
cmp dword [r10 + 0x3f40], eax
jne 0x140050f73
mov byte [r10 + 0x3f44], 1
cmp dword [r10 + 0x426c], eax
je 0x1400510b0
movups xmm0, xmmword [r11]
xor dil, dil
mov dword [r10 + 0x42b0], eax
xor eax, eax
mov byte [r10 + 0x424e], 1
movups xmmword [r10 + 0x42a0], xmm0
mov byte [rbp + 0x15e], al
mov edx, ebx
mov dword [rbp + 0x158], 0xadaf9c81
mov word [rbp + 0x15c], 0xa5d1
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x22]
inc edx
xor byte [rbp + rcx + 0x158], al
cmp edx, 6
jb 0x140050fc0
lea rcx, [rbp + 0x158]
mov byte [rbp + 0x15e], bl
call fcn.14002ea00
test rax, rax
je 0x140051005
mov rax, qword [rax]
mov dil, 1
movzx r12d, dil
movsd xmm0, qword [rax]
movsd qword [r15], xmm0
mov eax, dword [rax + 8]
mov dword [r15 + 8], eax
xor eax, eax
mov dword [rbp + 0x158], 0xadaf9c81
mov byte [rbp + 0x15e], al
mov word [rbp + 0x15c], 0xa5d6
movsxd rcx, ebx
lea eax, [rbx - 0x22]
inc ebx
xor byte [rbp + rcx + 0x158], al
cmp ebx, 6
jb 0x140051020
lea rcx, [rbp + 0x158]
mov byte [rbp + 0x15e], 0
call fcn.14002ea00
test rax, rax
je 0x140051064
mov r8d, dword [rbp - 0x6c]
mov rcx, r15
mov rdx, qword [rax]
shl r8, 2
call fcn.14007b2e0
mov r12b, 1
jmp 0x140051069
test dil, dil
je 0x140051098
bt esi, 0x1c
jae 0x140051098
movss xmm2, dword [r15 + 8]
lea rax, [r15 + 4]
movss xmm1, dword [rax]
lea rcx, [r15 + 8]
movss xmm0, dword [r15]
mov r9, r15
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
call fcn.14001ba10
mov r10, qword [0x140124520]
mov byte [r10 + 0x424e], 0
jmp 0x1400510b0
mov r10, qword [0x140124520]
mov r15, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x200]
test r14, r14
je 0x1400510e0
mov ecx, dword [r13 + 0x3ef4]
test ecx, ecx
je 0x1400510e0
cmp qword [r13 + 0x3f30], r14
jne 0x1400510e0
mov dword [r13 + 0x3f70], ecx
test r12b, r12b
je 0x1400510f7
or dword [r10 + 0x3f78], 4
mov word [r10 + 0x3f04], 0x101
movzx eax, r12b
add rsp, 0x208
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret