Function at 0x14004e470
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 [0x14024ad10]
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 0x14004e4dd
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.140027940
movaps xmm11, xmm0
xorps xmm9, xmm9
test sil, 0x10
je 0x14004e574
xorps xmm6, xmm6
jmp 0x14004e581
movaps xmm6, xmm12
addss xmm6, dword [r13 + 0x384c]
mov qword [rbp - 0x68], r14
subss xmm11, xmm6
mov r15, r14
cmp r14, 0xffffffffffffffff
jae 0x14004e5b2
movzx eax, byte [r15]
test al, al
je 0x14004e5ae
cmp al, 0x23
jne 0x14004e5a5
cmp byte [r15 + 1], al
je 0x14004e5ae
inc r15
cmp r15, 0xffffffffffffffff
jb 0x14004e593
mov qword [rbp - 0x68], r15
xor ebx, ebx
mov dword [r13 + 0x3f5c], ebx
call fcn.140027ac0
mov rcx, r14
call fcn.1400268f0
mov dword [rbp], esi
test sil, 0x20
je 0x14004e5dd
and esi, 0xff9fffff
or esi, 0x100008
test sil, 8
jne 0x14004e5ed
mov edx, esi
mov rcx, rdi
call fcn.1400530b0
mov ecx, dword [r13 + 0x52c4]
test esi, 0x700000
jne 0x14004e605
mov eax, ecx
and eax, 0x700000
or esi, eax
test esi, 0x1800000
jne 0x14004e616
mov eax, ecx
and eax, 0x1800000
or esi, eax
test esi, 0x6000000
jne 0x14004e627
mov eax, ecx
and eax, 0x6000000
or esi, eax
test esi, 0x18000000
jne 0x14004e638
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 [0x1400b5284]
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 0x14004e697
movss xmm0, dword [rdi + 0xc]
jmp 0x14004e69b
movaps xmm0, xmm10
mov eax, esi
movss dword [rbp - 0x7c], xmm0
and eax, 0x10100000
mov dword [rbp + 4], eax
cmp eax, 0x10100000
jne 0x14004e6d3
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.14001a540
jmp 0x14004e717
mov eax, esi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x14004e733
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.14001a490
lea r9, [rbp - 0x80]
mov rcx, rdi
lea r8, [rsp + 0x7c]
lea rdx, [rsp + 0x78]
call fcn.14004e3c0
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 [0x1400b53d0]
movss xmm4, dword [0x1400b5234]
jb 0x14004e74f
movaps xmm8, xmm4
jmp 0x14004e753
movaps xmm8, xmm5
comiss xmm1, xmm9
movss xmm7, dword [0x1400b5368]
mulss xmm3, xmm7
addss xmm3, xmm8
cvttss2si eax, xmm3
mov dword [rbp - 0x48], eax
jb 0x14004e776
movaps xmm3, xmm4
jmp 0x14004e779
movaps xmm3, xmm5
comiss xmm2, xmm9
mulss xmm1, xmm7
addss xmm1, xmm3
cvttss2si eax, xmm1
mov dword [rbp - 0x44], eax
jb 0x14004e793
movaps xmm1, xmm4
jmp 0x14004e796
movaps xmm1, xmm5
comiss xmm0, xmm9
mulss xmm2, xmm7
addss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [rbp - 0x40], eax
jae 0x14004e7ae
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 0x14004e7ea
movaps xmm6, xmm9
movss xmm15, dword [0x1400b53e0]
movaps xmm0, xmm13
addss xmm0, xmm6
movss dword [r12 + 0xe0], xmm0
test esi, 0x300000
je 0x14004f0f5
test sil, 0x20
jne 0x14004f0f5
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 [0x14024ad10]
movaps xmm7, xmm10
movaps xmm8, xmm10
movaps xmm0, xmm2
mulss xmm0, xmm3
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
lea rdx, [0x1400b4818]
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 [0x1400b53b8]
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.14003e570
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x1400b527c]
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 [0x14024b23c], eax
jle 0x14004e9fc
lea rcx, [0x14024b23c]
call fcn.14006f474
cmp dword [0x14024b23c], 0xffffffff
jne 0x14004e9fc
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 0x14004e940
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xb2c9ca
mov qword [0x14024b000], 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 0x14004e970
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xb1c9ca
mov qword [0x14024b008], 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 0x14004e9a0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xbcc9ca
mov qword [0x14024b010], 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 0x14004e9d0
lea rax, [rsp + 0x50]
lea rcx, [0x14024b23c]
mov qword [0x14024b018], rax
call fcn.14006f414
mov eax, dword [r12 + rdi]
cmp dword [0x14024b240], eax
jle 0x14004ec6c
lea rcx, [0x14024b240]
call fcn.14006f474
cmp dword [0x14024b240], 0xffffffff
jne 0x14004ec6c
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 0x14004ea30
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x8fd9cc
mov qword [0x14024b080], 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 0x14004ea60
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x8fd9cc
mov qword [0x14024b088], 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 0x14004ea90
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x8fd9cc
mov qword [0x14024b090], 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 0x14004eac0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x40], 0xdfced0bb
mov qword [0x14024b098], 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 0x14004eaf0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0ae
mov qword [0x14024b0a0], 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 0x14004eb20
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0ab
mov qword [0x14024b0a8], 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 0x14004eb50
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0a8
mov qword [0x14024b0b0], 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 0x14004eb80
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0a1
mov qword [0x14024b0b8], 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 0x14004ebb0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0ba
mov qword [0x14024b0c0], 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 0x14004ebe0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0bf
mov qword [0x14024b0c8], 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 0x14004ec10
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfced0a8
mov qword [0x14024b0d0], 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 0x14004ec40
lea rax, [rsp + 0x40]
lea rcx, [0x14024b240]
mov qword [0x14024b0d8], rax
call fcn.14006f414
mov eax, dword [r12 + rdi]
cmp dword [0x14024b238], eax
jle 0x14004eeec
lea rcx, [0x14024b238]
call fcn.14006f474
cmp dword [0x14024b238], 0xffffffff
jne 0x14004eeec
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 0x14004ecb0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfc5dacc
mov qword [0x14024b020], 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 0x14004ece0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfc5dacc
mov qword [0x14024b028], 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 0x14004ed10
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xdfc5dacc
mov qword [0x14024b030], 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 0x14004ed40
lea rax, [rsp + 0x40]
mov dword [rsp + 0x48], 0xdcced0bb
mov qword [0x14024b038], 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 0x14004ed70
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0ae
mov qword [0x14024b040], 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 0x14004eda0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0ab
mov qword [0x14024b048], 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 0x14004edd0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0a8
mov qword [0x14024b050], 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 0x14004ee00
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0a1
mov qword [0x14024b058], 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 0x14004ee30
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0ba
mov qword [0x14024b060], 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 0x14004ee60
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0bf
mov qword [0x14024b068], 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 0x14004ee90
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xdcced0a8
mov qword [0x14024b070], 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 0x14004eec0
lea rax, [rsp + 0x48]
lea rcx, [0x14024b238]
mov qword [0x14024b078], rax
call fcn.14006f414
mov rdi, rbx
test r14b, r14b
jne 0x14004eeff
bt esi, 0x15
setb dil
inc rdi
mov edx, dword [rbp - 0x6c]
mov r8d, ebx
mov r12d, edx
test edx, edx
je 0x14004f0b8
movss xmm6, dword [0x1400b51e4]
lea r13, [0x14024b000]
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 0x14004ef61
mov rax, qword [rbp - 0x28]
movaps xmm0, xmm9
movss xmm1, dword [rax + 0x384c]
call fcn.1400277e0
lea rcx, [0x140000000]
lea r15d, [r8 + 1]
cmp r15d, edx
jge 0x14004ef6f
movaps xmm0, xmm7
jmp 0x14004ef73
movaps xmm0, xmm8
mov rax, qword [0x14024ad10]
or dword [rax + 0x3f5c], 1
movss dword [rax + 0x3f60], xmm0
cmp dword [rsp + 0x5c], ebx
je 0x14004effb
mov rcx, qword [rdi + rcx + 0x24b020]
cmp byte [rbp - 0x30], bl
je 0x14004efa2
movaps xmm0, xmm9
jmp 0x14004efa6
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.1400483d0
movzx ecx, byte [rbp + 0x158]
or cl, al
or byte [rsp + 0x58], cl
mov byte [rbp + 0x158], cl
jmp 0x14004f050
mov rdx, qword [rdi + rcx + 0x24b080]
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.1400483d0
or byte [rbp + 0x158], al
test esi, esi
jne 0x14004f08f
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 0x14004f070
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.140028cc0
mov edx, dword [rbp - 0x6c]
lea rcx, [0x140000000]
add rdi, 8
mov r8d, r15d
sub r12, 1
jne 0x14004ef40
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 0x14004f5f4
test sil, 0x20
jne 0x14004f3f4
cmp dword [r13 + 0x388c], ebx
je 0x14004f3f4
addss xmm11, dword [r13 + 0x384c]
jmp 0x14004f3f8
mov eax, esi
and eax, 0x400020
cmp eax, 0x400000
jne 0x14004f0c3
mov r14d, 0xff
test cl, cl
je 0x14004f1ba
mov r11d, dword [rbp - 0x3c]
test r11d, r11d
jns 0x14004f11f
mov r11d, ebx
jmp 0x14004f126
cmp r11d, r14d
cmovg r11d, r14d
mov r10d, dword [rbp - 0x40]
test r10d, r10d
jns 0x14004f134
mov r10d, ebx
jmp 0x14004f13b
cmp r10d, r14d
cmovg r10d, r14d
mov r8d, dword [rbp - 0x44]
test r8d, r8d
jns 0x14004f149
mov r8d, ebx
jmp 0x14004f150
cmp r8d, r14d
cmovg r8d, r14d
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x14004f15e
mov r9d, ebx
jmp 0x14004f165
cmp r9d, r14d
cmovg r9d, r14d
movdqa xmm0, xmmword [0x1400b6560]
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 0x14004f180
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.140019f30
jmp 0x14004f252
mov r10d, dword [rbp - 0x40]
test r10d, r10d
jns 0x14004f1c8
mov r10d, ebx
jmp 0x14004f1cf
cmp r10d, r14d
cmovg r10d, r14d
mov r8d, dword [rbp - 0x44]
test r8d, r8d
jns 0x14004f1dd
mov r8d, ebx
jmp 0x14004f1e4
cmp r8d, r14d
cmovg r8d, r14d
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x14004f1f2
mov r9d, ebx
jmp 0x14004f1f9
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 0x14004f220
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.140019f30
mov rax, qword [0x14024ad10]
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 0x14004f280
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.14004b270
test al, al
je 0x14004f3b3
mov byte [rbp + 0x158], 1
lea r10, [rbp + 0x10]
nop dword [rax]
movzx eax, byte [r10]
cmp al, 0x23
je 0x14004f2f0
cmp al, 0x20
je 0x14004f2f0
cmp al, 9
jne 0x14004f2f5
inc r10
jmp 0x14004f2e0
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 0x14004f35e
movdqa xmm0, xmmword [0x1400b6400]
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 0x14004f320
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.1400182c0
jmp 0x14004f3b3
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 0x14004f380
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.1400182c0
test sil, 8
jne 0x14004f0c3
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 0x14004f3d0
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.140028cc0
jmp 0x14004f0c3
movaps xmm11, xmm9
addss xmm13, xmm11
movss dword [r12 + 0xe4], xmm14
movss dword [r12 + 0xe0], xmm13
cmp byte [rbp - 0x70], bl
je 0x14004f41c
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 0x14004f460
lea r9, [rbp - 0x20]
mov byte [rbp - 0x4b], bl
mov r8d, esi
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x58]
call fcn.1400521e0
test al, al
je 0x14004f55a
test sil, 4
jne 0x14004f55a
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 0x14004f4c0
mov rax, qword [0x14024ad10]
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.14001a040
mov ecx, eax
xor edx, edx
call fcn.1400287e0
movss xmm1, dword [r13 + 0x3f7c]
movss xmm0, dword [r13 + 0x3848]
addss xmm1, xmm9
addss xmm0, dword [r13 + 0x3f88]
mov rax, qword [0x14024ad10]
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 0x14004f59f
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 0x14004f580
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.140028cc0
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 0x14004f5c0
mov rcx, qword [0x14024ad10]
mov byte [rsp + 0x62], bl
mov eax, dword [rcx + 0x4090]
cmp dword [rcx + 0x4080], eax
jg 0x14004f724
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 0x14004f663
test sil, sil
js 0x14004f663
movss xmm1, dword [r13 + 0x384c]
movaps xmm0, xmm9
call fcn.1400277e0
mov rcx, r9
xor r8d, r8d
mov rdx, r15
call fcn.140043850
movaps xmm9, xmmword [rsp + 0x1b0]
test r12b, r12b
je 0x14004f8fe
test r14, r14
jne 0x14004f8fe
cmp byte [rsp + 0x58], bl
jne 0x14004f698
movdqu xmm0, xmmword [rbp - 0x48]
cvtdq2ps xmm1, xmm0
divps xmm1, xmmword [0x1400b5de0]
movups xmmword [rsp + 0x78], xmm1
mov eax, esi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x14004f880
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.14001a540
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.14001a3e0
mov dword [r13 + 0x52d0], eax
jmp 0x14004f892
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.14001a040
mov ecx, eax
call fcn.140028ba0
test al, al
je 0x14004f5f4
mov rax, qword [rbp + 0x140]
mov r14, qword [r13 + 0x3ea8]
cmp rax, r15
je 0x14004f7af
xor r8d, r8d
mov rdx, r15
mov rcx, rax
call fcn.140043850
mov rcx, qword [0x14024ad10]
mov rax, qword [rcx + 0x3ea8]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea8]
cmp byte [rax + 0x9b], bl
jne 0x14004f7af
movaps xmm1, xmm15
mov qword [rbp - 0x68], rbx
lea rcx, [rbp - 0x68]
call fcn.1400274e0
mov rax, qword [0x14024ad10]
mov edx, ebx
mov r8d, dword [rbp]
mulss xmm12, dword [0x1400b5300]
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 0x14004f800
lea r9, [r13 + 0x52d4]
mov byte [rbp - 0x60], bl
mov rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.14004fdd0
mov rdi, qword [0x14024ad10]
movzx r12d, byte [rbp + 0x158]
or r12b, al
mov rax, qword [rdi + 0x3ea8]
cmp qword [rdi + 0x40b8], rax
jne 0x14004f860
cmp byte [rdi + 0x4115], bl
je 0x14004f860
cmp dword [rdi + 0x40f4], ebx
jne 0x14004f860
or dword [rdi + 0x4118], 2
test dword [rax + 0xc], 0x1000000
je 0x14004f870
mov byte [rdi + 0x3e36], 1
call fcn.140025f10
mov byte [rdi + 0x3e36], bl
jmp 0x14004f5fc
movss xmm8, dword [rbp - 0x80]
movss xmm7, dword [rsp + 0x7c]
movss xmm6, dword [rsp + 0x78]
cmp dword [rbp + 4], 0x10100000
jne 0x14004f8d4
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.14001a490
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 0x14004f905
movss xmm0, dword [rbp - 0x7c]
movss dword [r15 + 0xc], xmm0
jmp 0x14004f905
mov r15, qword [rbp + 0x148]
mov rax, qword [0x14024ad10]
mov rcx, qword [rax + 0x3ea8]
dec dword [rcx + 0xd0]
call fcn.140027bf0
test byte [r13 + 0x3f78], 1
movaps xmm8, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmm6, xmmword [rsp + 0x1e0]
je 0x14004fb29
bt esi, 9
jb 0x14004fb29
mov r10, qword [0x14024ad10]
cmp byte [r10 + 0x424c], bl
je 0x14004fb30
mov edx, dword [r10 + 0x3f78]
mov rcx, qword [r10 + 0x3ea8]
test dl, 1
je 0x14004fb30
mov rax, qword [r10 + 0x3eb8]
test rax, rax
je 0x14004fb30
mov rax, qword [rax + 0x360]
cmp qword [rcx + 0x360], rax
jne 0x14004fb30
cmp byte [rcx + 0x9b], bl
jne 0x14004fb30
test dl, 2
mov eax, 0x3f7c
mov r11d, 0x3f9c
cmove r11d, eax
mov eax, dword [r10 + 0x3f70]
add r11, r10
test eax, eax
jne 0x14004f9f3
mov rdx, r11
call fcn.14001c160
cmp dword [r10 + 0x3ef4], eax
jne 0x14004f9e2
mov dword [r10 + 0x3ef8], eax
cmp dword [r10 + 0x3f40], eax
jne 0x14004f9f3
mov byte [r10 + 0x3f44], 1
cmp dword [r10 + 0x426c], eax
je 0x14004fb30
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 0x14004fa40
lea rcx, [rbp + 0x158]
mov byte [rbp + 0x15e], bl
call fcn.14002d480
test rax, rax
je 0x14004fa85
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 0x14004faa0
lea rcx, [rbp + 0x158]
mov byte [rbp + 0x15e], 0
call fcn.14002d480
test rax, rax
je 0x14004fae4
mov r8d, dword [rbp - 0x6c]
mov rcx, r15
mov rdx, qword [rax]
shl r8, 2
call fcn.1400713e0
mov r12b, 1
jmp 0x14004fae9
test dil, dil
je 0x14004fb18
bt esi, 0x1c
jae 0x14004fb18
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.14001a490
mov r10, qword [0x14024ad10]
mov byte [r10 + 0x424e], 0
jmp 0x14004fb30
mov r10, qword [0x14024ad10]
mov r15, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x200]
test r14, r14
je 0x14004fb60
mov ecx, dword [r13 + 0x3ef4]
test ecx, ecx
je 0x14004fb60
cmp qword [r13 + 0x3f30], r14
jne 0x14004fb60
mov dword [r13 + 0x3f70], ecx
test r12b, r12b
je 0x14004fb77
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