Function at 0x14004fbc0
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 [0x140125820]
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 0x14004fc2d
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.140029090
movaps xmm11, xmm0
xorps xmm9, xmm9
test sil, 0x10
je 0x14004fcc4
xorps xmm6, xmm6
jmp 0x14004fcd1
movaps xmm6, xmm12
addss xmm6, dword [r13 + 0x384c]
mov qword [rbp - 0x68], r14
subss xmm11, xmm6
mov r15, r14
cmp r14, 0xffffffffffffffff
jae 0x14004fd02
movzx eax, byte [r15]
test al, al
je 0x14004fcfe
cmp al, 0x23
jne 0x14004fcf5
cmp byte [r15 + 1], al
je 0x14004fcfe
inc r15
cmp r15, 0xffffffffffffffff
jb 0x14004fce3
mov qword [rbp - 0x68], r15
xor ebx, ebx
mov dword [r13 + 0x3f5c], ebx
call fcn.140029210
mov rcx, r14
call fcn.140028040
mov dword [rbp], esi
test sil, 0x20
je 0x14004fd2d
and esi, 0xff9fffff
or esi, 0x100008
test sil, 8
jne 0x14004fd3d
mov edx, esi
mov rcx, rdi
call fcn.140054800
mov ecx, dword [r13 + 0x52c4]
test esi, 0x700000
jne 0x14004fd55
mov eax, ecx
and eax, 0x700000
or esi, eax
test esi, 0x1800000
jne 0x14004fd66
mov eax, ecx
and eax, 0x1800000
or esi, eax
test esi, 0x6000000
jne 0x14004fd77
mov eax, ecx
and eax, 0x6000000
or esi, eax
test esi, 0x18000000
jne 0x14004fd88
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 [0x1400bd428]
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 0x14004fde7
movss xmm0, dword [rdi + 0xc]
jmp 0x14004fdeb
movaps xmm0, xmm10
mov eax, esi
movss dword [rbp - 0x7c], xmm0
and eax, 0x10100000
mov dword [rbp + 4], eax
cmp eax, 0x10100000
jne 0x14004fe23
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.14001bc90
jmp 0x14004fe67
mov eax, esi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x14004fe83
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.14001bbe0
lea r9, [rbp - 0x80]
mov rcx, rdi
lea r8, [rsp + 0x7c]
lea rdx, [rsp + 0x78]
call fcn.14004fb10
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 [0x1400bd590]
movss xmm4, dword [0x1400bd3d4]
jb 0x14004fe9f
movaps xmm8, xmm4
jmp 0x14004fea3
movaps xmm8, xmm5
comiss xmm1, xmm9
movss xmm7, dword [0x1400bd530]
mulss xmm3, xmm7
addss xmm3, xmm8
cvttss2si eax, xmm3
mov dword [rbp - 0x48], eax
jb 0x14004fec6
movaps xmm3, xmm4
jmp 0x14004fec9
movaps xmm3, xmm5
comiss xmm2, xmm9
mulss xmm1, xmm7
addss xmm1, xmm3
cvttss2si eax, xmm1
mov dword [rbp - 0x44], eax
jb 0x14004fee3
movaps xmm1, xmm4
jmp 0x14004fee6
movaps xmm1, xmm5
comiss xmm0, xmm9
mulss xmm2, xmm7
addss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [rbp - 0x40], eax
jae 0x14004fefe
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 0x14004ff3a
movaps xmm6, xmm9
movss xmm15, dword [0x1400bd5a0]
movaps xmm0, xmm13
addss xmm0, xmm6
movss dword [r12 + 0xe0], xmm0
test esi, 0x300000
je 0x140050845
test sil, 0x20
jne 0x140050845
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 [0x140125820]
movaps xmm7, xmm10
movaps xmm8, xmm10
movaps xmm0, xmm2
mulss xmm0, xmm3
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
lea rdx, [0x1400bc898]
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 [0x1400bd578]
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.14003fcc0
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x1400bd420]
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 [0x140125e6c], eax
jle 0x14005014c
lea rcx, [0x140125e6c]
call fcn.14007a524
cmp dword [0x140125e6c], 0xffffffff
jne 0x14005014c
mov dword [rsp + 0x50], 0xb3c9ca
mov edx, ebx
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x140050090
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xb2c9ca
mov qword [0x140125b80], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x1400500c0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xb1c9ca
mov qword [0x140125b88], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x1400500f0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xbcc9ca
mov qword [0x140125b90], rax
mov r8d, ebx
nop dword [rax + rax]
movsxd rdx, r8d
lea eax, [r8 - 0x17]
inc r8d
xor byte [rsp + rdx + 0x50], al
cmp r8d, 3
jb 0x140050120
lea rax, [rsp + 0x50]
lea rcx, [0x140125e6c]
mov qword [0x140125b98], rax
call fcn.14007a4c4
mov eax, dword [r12 + rdi]
cmp dword [0x140125e70], eax
jle 0x1400503bc
lea rcx, [0x140125e70]
call fcn.14007a524
cmp dword [0x140125e70], 0xffffffff
jne 0x1400503bc
mov dword [rsp + 0x50], 0x8fd9cc
mov edx, ebx
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x140050180
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x8fd9cc
mov qword [0x140125c00], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x1400501b0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x8fd9cc
mov qword [0x140125c08], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x1400501e0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x8fd9cc
mov qword [0x140125c10], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x140050210
lea rax, [rsp + 0x50]
mov dword [rsp + 0x40], 0xdfced0bb
mov qword [0x140125c18], rax
mov edx, ebx
mov word [rsp + 0x44], 0x89
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050240
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0ae
mov qword [0x140125c20], rax
mov edx, ebx
mov word [rsp + 0x44], 0x89
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050270
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0ab
mov qword [0x140125c28], rax
mov edx, ebx
mov word [rsp + 0x44], 0x89
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400502a0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0a8
mov qword [0x140125c30], rax
mov edx, ebx
mov word [rsp + 0x44], 0x89
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400502d0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0a1
mov qword [0x140125c38], rax
mov edx, ebx
mov word [rsp + 0x44], 0x89
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050300
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0ba
mov qword [0x140125c40], rax
mov edx, ebx
mov word [rsp + 0x44], 0x89
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050330
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0bf
mov qword [0x140125c48], rax
mov edx, ebx
mov word [rsp + 0x44], 0x89
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050360
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0a8
mov qword [0x140125c50], rax
mov r8d, ebx
mov word [rsp + 0x44], 0x89
nop
movsxd rdx, r8d
lea eax, [r8 - 0x17]
inc r8d
xor byte [rsp + rdx + 0x40], al
cmp r8d, 5
jb 0x140050390
lea rax, [rsp + 0x40]
lea rcx, [0x140125e70]
mov qword [0x140125c58], rax
call fcn.14007a4c4
mov eax, dword [r12 + rdi]
cmp dword [0x140125e68], eax
jle 0x14005063c
lea rcx, [0x140125e68]
call fcn.14007a524
cmp dword [0x140125e68], 0xffffffff
jne 0x14005063c
mov dword [rsp + 0x40], 0xdfc5dacc
mov edx, ebx
mov word [rsp + 0x44], 0x8b
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050400
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfc5dacc
mov qword [0x140125ba0], rax
mov edx, ebx
mov word [rsp + 0x44], 0x8b
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050430
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfc5dacc
mov qword [0x140125ba8], rax
mov edx, ebx
mov word [rsp + 0x44], 0x8b
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050460
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfc5dacc
mov qword [0x140125bb0], rax
mov edx, ebx
mov word [rsp + 0x44], 0x8b
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050490
lea rax, [rsp + 0x40]
mov dword [rsp + 0x48], 0xdcced0bb
mov qword [0x140125bb8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x89ddc3
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400504c0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0ae
mov qword [0x140125bc0], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x89ddc3
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400504f0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0ab
mov qword [0x140125bc8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x89ddc3
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050520
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0a8
mov qword [0x140125bd0], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x89ddc3
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050550
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0a1
mov qword [0x140125bd8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x89ddc3
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050580
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0ba
mov qword [0x140125be0], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x89ddc3
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400505b0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0bf
mov qword [0x140125be8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0x89ddc3
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400505e0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0a8
mov qword [0x140125bf0], rax
mov r8d, ebx
mov dword [rsp + 0x4c], 0x89ddc3
movsxd rdx, r8d
lea eax, [r8 - 0x17]
inc r8d
xor byte [rsp + rdx + 0x48], al
cmp r8d, 7
jb 0x140050610
lea rax, [rsp + 0x48]
lea rcx, [0x140125e68]
mov qword [0x140125bf8], rax
call fcn.14007a4c4
mov rdi, rbx
test r14b, r14b
jne 0x14005064f
bt esi, 0x15
setb dil
inc rdi
mov edx, dword [rbp - 0x6c]
mov r8d, ebx
mov r12d, edx
test edx, edx
je 0x140050808
movss xmm6, dword [0x1400bd384]
lea r13, [0x140125b80]
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 0x1400506b1
mov rax, qword [rbp - 0x28]
movaps xmm0, xmm9
movss xmm1, dword [rax + 0x384c]
call fcn.140028f30
lea rcx, [0x140000000]
lea r15d, [r8 + 1]
cmp r15d, edx
jge 0x1400506bf
movaps xmm0, xmm7
jmp 0x1400506c3
movaps xmm0, xmm8
mov rax, qword [0x140125820]
or dword [rax + 0x3f5c], 1
movss dword [rax + 0x3f60], xmm0
cmp dword [rsp + 0x5c], ebx
je 0x14005074b
mov rcx, qword [rdi + rcx + 0x125ba0]
cmp byte [rbp - 0x30], bl
je 0x1400506f2
movaps xmm0, xmm9
jmp 0x1400506f6
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.140049b20
movzx ecx, byte [rbp + 0x158]
or cl, al
or byte [rsp + 0x58], cl
mov byte [rbp + 0x158], cl
jmp 0x1400507a0
mov rdx, qword [rdi + rcx + 0x125c00]
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.140049b20
or byte [rbp + 0x158], al
test esi, esi
jne 0x1400507df
mov dword [rsp + 0x48], 0x9885858a
mov edx, ebx
mov dword [rsp + 0x4c], 0x9b9688
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400507c0
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a410
mov edx, dword [rbp - 0x6c]
lea rcx, [0x140000000]
add rdi, 8
mov r8d, r15d
sub r12, 1
jne 0x140050690
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 0x140050d44
test sil, 0x20
jne 0x140050b44
cmp dword [r13 + 0x388c], ebx
je 0x140050b44
addss xmm11, dword [r13 + 0x384c]
jmp 0x140050b48
mov eax, esi
and eax, 0x400020
cmp eax, 0x400000
jne 0x140050813
mov r14d, 0xff
test cl, cl
je 0x14005090a
mov r11d, dword [rbp - 0x3c]
test r11d, r11d
jns 0x14005086f
mov r11d, ebx
jmp 0x140050876
cmp r11d, r14d
cmovg r11d, r14d
mov r10d, dword [rbp - 0x40]
test r10d, r10d
jns 0x140050884
mov r10d, ebx
jmp 0x14005088b
cmp r10d, r14d
cmovg r10d, r14d
mov r8d, dword [rbp - 0x44]
test r8d, r8d
jns 0x140050899
mov r8d, ebx
jmp 0x1400508a0
cmp r8d, r14d
cmovg r8d, r14d
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x1400508ae
mov r9d, ebx
jmp 0x1400508b5
cmp r9d, r14d
cmovg r9d, r14d
movdqa xmm0, xmmword [0x1400be420]
mov edx, ebx
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 8], 0xa1
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rbp + rcx - 0x18], al
cmp edx, 0x11
jb 0x1400508d0
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.14001b680
jmp 0x1400509a2
mov r10d, dword [rbp - 0x40]
test r10d, r10d
jns 0x140050918
mov r10d, ebx
jmp 0x14005091f
cmp r10d, r14d
cmovg r10d, r14d
mov r8d, dword [rbp - 0x44]
test r8d, r8d
jns 0x14005092d
mov r8d, ebx
jmp 0x140050934
cmp r8d, r14d
cmovg r8d, r14d
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x140050942
mov r9d, ebx
jmp 0x140050949
cmp r9d, r14d
cmovg r9d, r14d
mov dword [rsp + 0x64], 0xdedbcfca
mov edx, ebx
mov dword [rsp + 0x68], 0xc2dfcbb5
mov dword [rsp + 0x6c], 0xc6c3d7a9
mov word [rsp + 0x70], 0xad
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0xd
jb 0x140050970
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.14001b680
mov rax, qword [0x140125820]
mov edx, ebx
mov dword [rsp + 0x40], 0x89bfc9ca
mov word [rsp + 0x44], 0x9a95
or dword [rax + 0x3f5c], 1
movss dword [rax + 0x3f60], xmm11
xor eax, eax
mov byte [rsp + 0x46], al
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 6
jb 0x1400509d0
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.14004c9c0
test al, al
je 0x140050b03
mov byte [rbp + 0x158], 1
lea r10, [rbp + 0x10]
nop dword [rax]
movzx eax, byte [r10]
cmp al, 0x23
je 0x140050a40
cmp al, 0x20
je 0x140050a40
cmp al, 9
jne 0x140050a45
inc r10
jmp 0x140050a30
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 0x140050aae
movdqa xmm0, xmmword [0x1400be3a0]
movdqu xmmword [rsp + 0x64], xmm0
mov byte [rsp + 0x74], al
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0x10
jb 0x140050a70
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.140019a10
jmp 0x140050b03
mov dword [rsp + 0x64], 0xb4d9dacc
mov dword [rsp + 0x68], 0xa8dddec8
mov dword [rsp + 0x6c], 0xacc1c2d4
mov byte [rsp + 0x70], al
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0xc
jb 0x140050ad0
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.140019a10
test sil, 8
jne 0x140050813
mov dword [rsp + 0x48], 0x9885858a
mov edx, ebx
mov dword [rsp + 0x4c], 0x9b9688
nop
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050b20
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a410
jmp 0x140050813
movaps xmm11, xmm9
addss xmm13, xmm11
movss dword [r12 + 0xe4], xmm14
movss dword [r12 + 0xe0], xmm13
cmp byte [rbp - 0x70], bl
je 0x140050b6c
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], 0x83a8c9ca
mov dword [rbp - 0x54], 0xb29d8181
mov dword [rbp - 0x50], 0x9b878684
mov word [rbp - 0x4c], 0x9b
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rbp + rcx - 0x58], al
cmp edx, 0xd
jb 0x140050bb0
lea r9, [rbp - 0x20]
mov byte [rbp - 0x4b], bl
mov r8d, esi
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x58]
call fcn.140053930
test al, al
je 0x140050caa
test sil, 4
jne 0x140050caa
movups xmm0, xmmword [rbp - 0x18]
xor eax, eax
mov dword [rsp + 0x5c], 0x87888399
mov word [rsp + 0x60], 0x9c88
mov edx, ebx
movups xmmword [r13 + 0x52d4], xmm0
mov byte [rsp + 0x62], al
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x5c], al
cmp edx, 6
jb 0x140050c10
mov rax, qword [0x140125820]
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.14001b790
mov ecx, eax
xor edx, edx
call fcn.140029f30
movss xmm1, dword [r13 + 0x3f7c]
movss xmm0, dword [r13 + 0x3848]
addss xmm1, xmm9
addss xmm0, dword [r13 + 0x3f88]
mov rax, qword [0x140125820]
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 0x140050cef
mov dword [rsp + 0x48], 0x9885858a
mov edx, ebx
mov dword [rsp + 0x4c], 0x9b9688
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050cd0
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a410
xor eax, eax
mov dword [rsp + 0x5c], 0x87888399
mov byte [rsp + 0x62], al
mov edx, ebx
mov word [rsp + 0x60], 0x9c88
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rsp + rcx + 0x5c], al
cmp edx, 6
jb 0x140050d10
mov rcx, qword [0x140125820]
mov byte [rsp + 0x62], bl
mov eax, dword [rcx + 0x4090]
cmp dword [rcx + 0x4080], eax
jg 0x140050e74
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 0x140050db3
test sil, sil
js 0x140050db3
movss xmm1, dword [r13 + 0x384c]
movaps xmm0, xmm9
call fcn.140028f30
mov rcx, r9
xor r8d, r8d
mov rdx, r15
call fcn.140044fa0
movaps xmm9, xmmword [rsp + 0x1b0]
test r12b, r12b
je 0x14005104e
test r14, r14
jne 0x14005104e
cmp byte [rsp + 0x58], bl
jne 0x140050de8
movdqu xmm0, xmmword [rbp - 0x48]
cvtdq2ps xmm1, xmm0
divps xmm1, xmmword [0x1400bdcb0]
movups xmmword [rsp + 0x78], xmm1
mov eax, esi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x140050fd0
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.14001bc90
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.14001bb30
mov dword [r13 + 0x52d0], eax
jmp 0x140050fe2
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.14001b790
mov ecx, eax
call fcn.14002a2f0
test al, al
je 0x140050d44
mov rax, qword [rbp + 0x140]
mov r14, qword [r13 + 0x3ea8]
cmp rax, r15
je 0x140050eff
xor r8d, r8d
mov rdx, r15
mov rcx, rax
call fcn.140044fa0
mov rcx, qword [0x140125820]
mov rax, qword [rcx + 0x3ea8]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea8]
cmp byte [rax + 0x9b], bl
jne 0x140050eff
movaps xmm1, xmm15
mov qword [rbp - 0x68], rbx
lea rcx, [rbp - 0x68]
call fcn.140028c30
mov rax, qword [0x140125820]
mov edx, ebx
mov r8d, dword [rbp]
mulss xmm12, dword [0x1400bd4b0]
and r8d, 0x1f890002
or r8d, 0x740080
mov dword [rbp - 0x68], 0x859bc9ca
or dword [rax + 0x3f5c], 1
mov dword [rbp - 0x64], 0x828a858e
movss dword [rax + 0x3f60], xmm12
xor eax, eax
mov byte [rbp - 0x60], al
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rbp + rcx - 0x68], al
cmp edx, 8
jb 0x140050f50
lea r9, [r13 + 0x52d4]
mov byte [rbp - 0x60], bl
mov rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.140051520
mov rdi, qword [0x140125820]
movzx r12d, byte [rbp + 0x158]
or r12b, al
mov rax, qword [rdi + 0x3ea8]
cmp qword [rdi + 0x40b8], rax
jne 0x140050fb0
cmp byte [rdi + 0x4115], bl
je 0x140050fb0
cmp dword [rdi + 0x40f4], ebx
jne 0x140050fb0
or dword [rdi + 0x4118], 2
test dword [rax + 0xc], 0x1000000
je 0x140050fc0
mov byte [rdi + 0x3e36], 1
call fcn.140027660
mov byte [rdi + 0x3e36], bl
jmp 0x140050d4c
movss xmm8, dword [rbp - 0x80]
movss xmm7, dword [rsp + 0x7c]
movss xmm6, dword [rsp + 0x78]
cmp dword [rbp + 4], 0x10100000
jne 0x140051024
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.14001bbe0
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 0x140051055
movss xmm0, dword [rbp - 0x7c]
movss dword [r15 + 0xc], xmm0
jmp 0x140051055
mov r15, qword [rbp + 0x148]
mov rax, qword [0x140125820]
mov rcx, qword [rax + 0x3ea8]
dec dword [rcx + 0xd0]
call fcn.140029340
test byte [r13 + 0x3f78], 1
movaps xmm8, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmm6, xmmword [rsp + 0x1e0]
je 0x140051279
bt esi, 9
jb 0x140051279
mov r10, qword [0x140125820]
cmp byte [r10 + 0x424c], bl
je 0x140051280
mov edx, dword [r10 + 0x3f78]
mov rcx, qword [r10 + 0x3ea8]
test dl, 1
je 0x140051280
mov rax, qword [r10 + 0x3eb8]
test rax, rax
je 0x140051280
mov rax, qword [rax + 0x360]
cmp qword [rcx + 0x360], rax
jne 0x140051280
cmp byte [rcx + 0x9b], bl
jne 0x140051280
test dl, 2
mov eax, 0x3f7c
mov r11d, 0x3f9c
cmove r11d, eax
mov eax, dword [r10 + 0x3f70]
add r11, r10
test eax, eax
jne 0x140051143
mov rdx, r11
call fcn.14001d8b0
cmp dword [r10 + 0x3ef4], eax
jne 0x140051132
mov dword [r10 + 0x3ef8], eax
cmp dword [r10 + 0x3f40], eax
jne 0x140051143
mov byte [r10 + 0x3f44], 1
cmp dword [r10 + 0x426c], eax
je 0x140051280
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], 0xa0a4a9b6
mov word [rbp + 0x15c], 0xa8de
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rbp + rcx + 0x158], al
cmp edx, 6
jb 0x140051190
lea rcx, [rbp + 0x158]
mov byte [rbp + 0x15e], bl
call fcn.14002ebd0
test rax, rax
je 0x1400511d5
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], 0xa0a4a9b6
mov byte [rbp + 0x15e], al
mov word [rbp + 0x15c], 0xa8d9
movsxd rcx, ebx
lea eax, [rbx - 0x17]
inc ebx
xor byte [rbp + rcx + 0x158], al
cmp ebx, 6
jb 0x1400511f0
lea rcx, [rbp + 0x158]
mov byte [rbp + 0x15e], 0
call fcn.14002ebd0
test rax, rax
je 0x140051234
mov r8d, dword [rbp - 0x6c]
mov rcx, r15
mov rdx, qword [rax]
shl r8, 2
call fcn.14007c4a0
mov r12b, 1
jmp 0x140051239
test dil, dil
je 0x140051268
bt esi, 0x1c
jae 0x140051268
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.14001bbe0
mov r10, qword [0x140125820]
mov byte [r10 + 0x424e], 0
jmp 0x140051280
mov r10, qword [0x140125820]
mov r15, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x200]
test r14, r14
je 0x1400512b0
mov ecx, dword [r13 + 0x3ef4]
test ecx, ecx
je 0x1400512b0
cmp qword [r13 + 0x3f30], r14
jne 0x1400512b0
mov dword [r13 + 0x3f70], ecx
test r12b, r12b
je 0x1400512c7
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