Function at 0x14004f910
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 [0x14011d300]
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 0x14004f97d
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.140028de0
movaps xmm11, xmm0
xorps xmm9, xmm9
test sil, 0x10
je 0x14004fa14
xorps xmm6, xmm6
jmp 0x14004fa21
movaps xmm6, xmm12
addss xmm6, dword [r13 + 0x384c]
mov qword [rbp - 0x68], r14
subss xmm11, xmm6
mov r15, r14
cmp r14, 0xffffffffffffffff
jae 0x14004fa52
movzx eax, byte [r15]
test al, al
je 0x14004fa4e
cmp al, 0x23
jne 0x14004fa45
cmp byte [r15 + 1], al
je 0x14004fa4e
inc r15
cmp r15, 0xffffffffffffffff
jb 0x14004fa33
mov qword [rbp - 0x68], r15
xor ebx, ebx
mov dword [r13 + 0x3f5c], ebx
call fcn.140028f60
mov rcx, r14
call fcn.140027d90
mov dword [rbp], esi
test sil, 0x20
je 0x14004fa7d
and esi, 0xff9fffff
or esi, 0x100008
test sil, 8
jne 0x14004fa8d
mov edx, esi
mov rcx, rdi
call fcn.140054550
mov ecx, dword [r13 + 0x52c4]
test esi, 0x700000
jne 0x14004faa5
mov eax, ecx
and eax, 0x700000
or esi, eax
test esi, 0x1800000
jne 0x14004fab6
mov eax, ecx
and eax, 0x1800000
or esi, eax
test esi, 0x6000000
jne 0x14004fac7
mov eax, ecx
and eax, 0x6000000
or esi, eax
test esi, 0x18000000
jne 0x14004fad8
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 [0x1400ba314]
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 0x14004fb37
movss xmm0, dword [rdi + 0xc]
jmp 0x14004fb3b
movaps xmm0, xmm10
mov eax, esi
movss dword [rbp - 0x7c], xmm0
and eax, 0x10100000
mov dword [rbp + 4], eax
cmp eax, 0x10100000
jne 0x14004fb73
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.14001b9e0
jmp 0x14004fbb7
mov eax, esi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x14004fbd3
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.14001b930
lea r9, [rbp - 0x80]
mov rcx, rdi
lea r8, [rsp + 0x7c]
lea rdx, [rsp + 0x78]
call fcn.14004f860
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 [0x1400ba460]
movss xmm4, dword [0x1400ba2c4]
jb 0x14004fbef
movaps xmm8, xmm4
jmp 0x14004fbf3
movaps xmm8, xmm5
comiss xmm1, xmm9
movss xmm7, dword [0x1400ba3f8]
mulss xmm3, xmm7
addss xmm3, xmm8
cvttss2si eax, xmm3
mov dword [rbp - 0x48], eax
jb 0x14004fc16
movaps xmm3, xmm4
jmp 0x14004fc19
movaps xmm3, xmm5
comiss xmm2, xmm9
mulss xmm1, xmm7
addss xmm1, xmm3
cvttss2si eax, xmm1
mov dword [rbp - 0x44], eax
jb 0x14004fc33
movaps xmm1, xmm4
jmp 0x14004fc36
movaps xmm1, xmm5
comiss xmm0, xmm9
mulss xmm2, xmm7
addss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [rbp - 0x40], eax
jae 0x14004fc4e
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 0x14004fc8a
movaps xmm6, xmm9
movss xmm15, dword [0x1400ba470]
movaps xmm0, xmm13
addss xmm0, xmm6
movss dword [r12 + 0xe0], xmm0
test esi, 0x300000
je 0x140050595
test sil, 0x20
jne 0x140050595
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 [0x14011d300]
movaps xmm7, xmm10
movaps xmm8, xmm10
movaps xmm0, xmm2
mulss xmm0, xmm3
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
lea rdx, [0x1400b97c0]
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 [0x1400ba448]
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.14003fa10
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x1400ba30c]
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 [0x14011d8fc], eax
jle 0x14004fe9c
lea rcx, [0x14011d8fc]
call fcn.1400779a0
cmp dword [0x14011d8fc], 0xffffffff
jne 0x14004fe9c
mov dword [rsp + 0x50], 0xcfb5b6
mov edx, ebx
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004fde0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xceb5b6
mov qword [0x14011d650], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004fe10
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xcdb5b6
mov qword [0x14011d658], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004fe40
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xc0b5b6
mov qword [0x14011d660], rax
mov r8d, ebx
nop dword [rax + rax]
movsxd rdx, r8d
lea eax, [r8 - 0x6b]
inc r8d
xor byte [rsp + rdx + 0x50], al
cmp r8d, 3
jb 0x14004fe70
lea rax, [rsp + 0x50]
lea rcx, [0x14011d8fc]
mov qword [0x14011d668], rax
call fcn.140077940
mov eax, dword [r12 + rdi]
cmp dword [0x14011d900], eax
jle 0x14005010c
lea rcx, [0x14011d900]
call fcn.1400779a0
cmp dword [0x14011d900], 0xffffffff
jne 0x14005010c
mov dword [rsp + 0x50], 0xf3a5b0
mov edx, ebx
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004fed0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xf3a5b0
mov qword [0x14011d6d0], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004ff00
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xf3a5b0
mov qword [0x14011d6d8], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004ff30
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xf3a5b0
mov qword [0x14011d6e0], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004ff60
lea rax, [rsp + 0x50]
mov dword [rsp + 0x40], 0xabb2acc7
mov qword [0x14011d6e8], rax
mov edx, ebx
mov word [rsp + 0x44], 0xfd
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x14004ff90
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xabb2acd2
mov qword [0x14011d6f0], rax
mov edx, ebx
mov word [rsp + 0x44], 0xfd
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x14004ffc0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xabb2acd7
mov qword [0x14011d6f8], rax
mov edx, ebx
mov word [rsp + 0x44], 0xfd
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x14004fff0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xabb2acd4
mov qword [0x14011d700], rax
mov edx, ebx
mov word [rsp + 0x44], 0xfd
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050020
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xabb2acdd
mov qword [0x14011d708], rax
mov edx, ebx
mov word [rsp + 0x44], 0xfd
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050050
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xabb2acc6
mov qword [0x14011d710], rax
mov edx, ebx
mov word [rsp + 0x44], 0xfd
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050080
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xabb2acc3
mov qword [0x14011d718], rax
mov edx, ebx
mov word [rsp + 0x44], 0xfd
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400500b0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xabb2acd4
mov qword [0x14011d720], rax
mov r8d, ebx
mov word [rsp + 0x44], 0xfd
nop
movsxd rdx, r8d
lea eax, [r8 - 0x6b]
inc r8d
xor byte [rsp + rdx + 0x40], al
cmp r8d, 5
jb 0x1400500e0
lea rax, [rsp + 0x40]
lea rcx, [0x14011d900]
mov qword [0x14011d728], rax
call fcn.140077940
mov eax, dword [r12 + rdi]
cmp dword [0x14011d8f8], eax
jle 0x14005038c
lea rcx, [0x14011d8f8]
call fcn.1400779a0
cmp dword [0x14011d8f8], 0xffffffff
jne 0x14005038c
mov dword [rsp + 0x40], 0xabb9a6b0
mov edx, ebx
mov word [rsp + 0x44], 0xff
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050150
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xabb9a6b0
mov qword [0x14011d670], rax
mov edx, ebx
mov word [rsp + 0x44], 0xff
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050180
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xabb9a6b0
mov qword [0x14011d678], rax
mov edx, ebx
mov word [rsp + 0x44], 0xff
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400501b0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xabb9a6b0
mov qword [0x14011d680], rax
mov edx, ebx
mov word [rsp + 0x44], 0xff
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400501e0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x48], 0xa8b2acc7
mov qword [0x14011d688], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xfda9b7
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050210
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xa8b2acd2
mov qword [0x14011d690], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xfda9b7
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050240
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xa8b2acd7
mov qword [0x14011d698], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xfda9b7
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050270
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xa8b2acd4
mov qword [0x14011d6a0], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xfda9b7
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400502a0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xa8b2acdd
mov qword [0x14011d6a8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xfda9b7
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400502d0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xa8b2acc6
mov qword [0x14011d6b0], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xfda9b7
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050300
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xa8b2acc3
mov qword [0x14011d6b8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xfda9b7
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050330
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xa8b2acd4
mov qword [0x14011d6c0], rax
mov r8d, ebx
mov dword [rsp + 0x4c], 0xfda9b7
movsxd rdx, r8d
lea eax, [r8 - 0x6b]
inc r8d
xor byte [rsp + rdx + 0x48], al
cmp r8d, 7
jb 0x140050360
lea rax, [rsp + 0x48]
lea rcx, [0x14011d8f8]
mov qword [0x14011d6c8], rax
call fcn.140077940
mov rdi, rbx
test r14b, r14b
jne 0x14005039f
bt esi, 0x15
setb dil
inc rdi
mov edx, dword [rbp - 0x6c]
mov r8d, ebx
mov r12d, edx
test edx, edx
je 0x140050558
movss xmm6, dword [0x1400ba274]
lea r13, [0x14011d650]
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 0x140050401
mov rax, qword [rbp - 0x28]
movaps xmm0, xmm9
movss xmm1, dword [rax + 0x384c]
call fcn.140028c80
lea rcx, [0x140000000]
lea r15d, [r8 + 1]
cmp r15d, edx
jge 0x14005040f
movaps xmm0, xmm7
jmp 0x140050413
movaps xmm0, xmm8
mov rax, qword [0x14011d300]
or dword [rax + 0x3f5c], 1
movss dword [rax + 0x3f60], xmm0
cmp dword [rsp + 0x5c], ebx
je 0x14005049b
mov rcx, qword [rdi + rcx + 0x11d670]
cmp byte [rbp - 0x30], bl
je 0x140050442
movaps xmm0, xmm9
jmp 0x140050446
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.140049870
movzx ecx, byte [rbp + 0x158]
or cl, al
or byte [rsp + 0x58], cl
mov byte [rbp + 0x158], cl
jmp 0x1400504f0
mov rdx, qword [rdi + rcx + 0x11d6d0]
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.140049870
or byte [rbp + 0x158], al
test esi, esi
jne 0x14005052f
mov dword [rsp + 0x48], 0xecf9f9f6
mov edx, ebx
mov dword [rsp + 0x4c], 0xefe2fc
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050510
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a160
mov edx, dword [rbp - 0x6c]
lea rcx, [0x140000000]
add rdi, 8
mov r8d, r15d
sub r12, 1
jne 0x1400503e0
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 0x140050a94
test sil, 0x20
jne 0x140050894
cmp dword [r13 + 0x388c], ebx
je 0x140050894
addss xmm11, dword [r13 + 0x384c]
jmp 0x140050898
mov eax, esi
and eax, 0x400020
cmp eax, 0x400000
jne 0x140050563
mov r14d, 0xff
test cl, cl
je 0x14005065a
mov r11d, dword [rbp - 0x3c]
test r11d, r11d
jns 0x1400505bf
mov r11d, ebx
jmp 0x1400505c6
cmp r11d, r14d
cmovg r11d, r14d
mov r10d, dword [rbp - 0x40]
test r10d, r10d
jns 0x1400505d4
mov r10d, ebx
jmp 0x1400505db
cmp r10d, r14d
cmovg r10d, r14d
mov r8d, dword [rbp - 0x44]
test r8d, r8d
jns 0x1400505e9
mov r8d, ebx
jmp 0x1400505f0
cmp r8d, r14d
cmovg r8d, r14d
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x1400505fe
mov r9d, ebx
jmp 0x140050605
cmp r9d, r14d
cmovg r9d, r14d
movdqa xmm0, xmmword [0x1400bacc0]
mov edx, ebx
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 8], 0xfd
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rbp + rcx - 0x18], al
cmp edx, 0x11
jb 0x140050620
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.14001b3d0
jmp 0x1400506f2
mov r10d, dword [rbp - 0x40]
test r10d, r10d
jns 0x140050668
mov r10d, ebx
jmp 0x14005066f
cmp r10d, r14d
cmovg r10d, r14d
mov r8d, dword [rbp - 0x44]
test r8d, r8d
jns 0x14005067d
mov r8d, ebx
jmp 0x140050684
cmp r8d, r14d
cmovg r8d, r14d
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x140050692
mov r9d, ebx
jmp 0x140050699
cmp r9d, r14d
cmovg r9d, r14d
mov dword [rsp + 0x64], 0xaaa7b3b6
mov edx, ebx
mov dword [rsp + 0x68], 0xaeabbfc1
mov dword [rsp + 0x6c], 0x92afbbc5
mov word [rsp + 0x70], 0xf9
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0xd
jb 0x1400506c0
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.14001b3d0
mov rax, qword [0x14011d300]
mov edx, ebx
mov dword [rsp + 0x40], 0xfdc3b5b6
mov word [rsp + 0x44], 0xeee1
or dword [rax + 0x3f5c], 1
movss dword [rax + 0x3f60], xmm11
xor eax, eax
mov byte [rsp + 0x46], al
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 6
jb 0x140050720
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.14004c710
test al, al
je 0x140050853
mov byte [rbp + 0x158], 1
lea r10, [rbp + 0x10]
nop dword [rax]
movzx eax, byte [r10]
cmp al, 0x23
je 0x140050790
cmp al, 0x20
je 0x140050790
cmp al, 9
jne 0x140050795
inc r10
jmp 0x140050780
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 0x1400507fe
movdqa xmm0, xmmword [0x1400bb320]
movdqu xmmword [rsp + 0x64], xmm0
mov byte [rsp + 0x74], al
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0x10
jb 0x1400507c0
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.140019760
jmp 0x140050853
mov dword [rsp + 0x64], 0xc0a5a6b0
mov dword [rsp + 0x68], 0xc4a9aabc
mov dword [rsp + 0x6c], 0xf8adaeb8
mov byte [rsp + 0x70], al
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0xc
jb 0x140050820
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.140019760
test sil, 8
jne 0x140050563
mov dword [rsp + 0x48], 0xecf9f9f6
mov edx, ebx
mov dword [rsp + 0x4c], 0xefe2fc
nop
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050870
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a160
jmp 0x140050563
movaps xmm11, xmm9
addss xmm13, xmm11
movss dword [r12 + 0xe4], xmm14
movss dword [r12 + 0xe0], xmm13
cmp byte [rbp - 0x70], bl
je 0x1400508bc
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], 0xf7d4b5b6
mov dword [rbp - 0x54], 0xdee9f5f5
mov dword [rbp - 0x50], 0xcfebeae8
mov word [rbp - 0x4c], 0xcf
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rbp + rcx - 0x58], al
cmp edx, 0xd
jb 0x140050900
lea r9, [rbp - 0x20]
mov byte [rbp - 0x4b], bl
mov r8d, esi
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x58]
call fcn.140053680
test al, al
je 0x1400509fa
test sil, 4
jne 0x1400509fa
movups xmm0, xmmword [rbp - 0x18]
xor eax, eax
mov dword [rsp + 0x5c], 0xf3f4ffe5
mov word [rsp + 0x60], 0xe8fc
mov edx, ebx
movups xmmword [r13 + 0x52d4], xmm0
mov byte [rsp + 0x62], al
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x5c], al
cmp edx, 6
jb 0x140050960
mov rax, qword [0x14011d300]
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.14001b4e0
mov ecx, eax
xor edx, edx
call fcn.140029c80
movss xmm1, dword [r13 + 0x3f7c]
movss xmm0, dword [r13 + 0x3848]
addss xmm1, xmm9
addss xmm0, dword [r13 + 0x3f88]
mov rax, qword [0x14011d300]
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 0x140050a3f
mov dword [rsp + 0x48], 0xecf9f9f6
mov edx, ebx
mov dword [rsp + 0x4c], 0xefe2fc
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050a20
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a160
xor eax, eax
mov dword [rsp + 0x5c], 0xf3f4ffe5
mov byte [rsp + 0x62], al
mov edx, ebx
mov word [rsp + 0x60], 0xe8fc
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + rcx + 0x5c], al
cmp edx, 6
jb 0x140050a60
mov rcx, qword [0x14011d300]
mov byte [rsp + 0x62], bl
mov eax, dword [rcx + 0x4090]
cmp dword [rcx + 0x4080], eax
jg 0x140050bc4
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 0x140050b03
test sil, sil
js 0x140050b03
movss xmm1, dword [r13 + 0x384c]
movaps xmm0, xmm9
call fcn.140028c80
mov rcx, r9
xor r8d, r8d
mov rdx, r15
call fcn.140044cf0
movaps xmm9, xmmword [rsp + 0x1b0]
test r12b, r12b
je 0x140050d9e
test r14, r14
jne 0x140050d9e
cmp byte [rsp + 0x58], bl
jne 0x140050b38
movdqu xmm0, xmmword [rbp - 0x48]
cvtdq2ps xmm1, xmm0
divps xmm1, xmmword [0x1400ba9e0]
movups xmmword [rsp + 0x78], xmm1
mov eax, esi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x140050d20
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.14001b9e0
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.14001b880
mov dword [r13 + 0x52d0], eax
jmp 0x140050d32
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.14001b4e0
mov ecx, eax
call fcn.14002a040
test al, al
je 0x140050a94
mov rax, qword [rbp + 0x140]
mov r14, qword [r13 + 0x3ea8]
cmp rax, r15
je 0x140050c4f
xor r8d, r8d
mov rdx, r15
mov rcx, rax
call fcn.140044cf0
mov rcx, qword [0x14011d300]
mov rax, qword [rcx + 0x3ea8]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea8]
cmp byte [rax + 0x9b], bl
jne 0x140050c4f
movaps xmm1, xmm15
mov qword [rbp - 0x68], rbx
lea rcx, [rbp - 0x68]
call fcn.140028980
mov rax, qword [0x14011d300]
mov edx, ebx
mov r8d, dword [rbp]
mulss xmm12, dword [0x1400ba390]
and r8d, 0x1f890002
or r8d, 0x740080
mov dword [rbp - 0x68], 0xf1e7b5b6
or dword [rax + 0x3f5c], 1
mov dword [rbp - 0x64], 0xeefef1fa
movss dword [rax + 0x3f60], xmm12
xor eax, eax
mov byte [rbp - 0x60], al
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rbp + rcx - 0x68], al
cmp edx, 8
jb 0x140050ca0
lea r9, [r13 + 0x52d4]
mov byte [rbp - 0x60], bl
mov rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.140051270
mov rdi, qword [0x14011d300]
movzx r12d, byte [rbp + 0x158]
or r12b, al
mov rax, qword [rdi + 0x3ea8]
cmp qword [rdi + 0x40b8], rax
jne 0x140050d00
cmp byte [rdi + 0x4115], bl
je 0x140050d00
cmp dword [rdi + 0x40f4], ebx
jne 0x140050d00
or dword [rdi + 0x4118], 2
test dword [rax + 0xc], 0x1000000
je 0x140050d10
mov byte [rdi + 0x3e36], 1
call fcn.1400273b0
mov byte [rdi + 0x3e36], bl
jmp 0x140050a9c
movss xmm8, dword [rbp - 0x80]
movss xmm7, dword [rsp + 0x7c]
movss xmm6, dword [rsp + 0x78]
cmp dword [rbp + 4], 0x10100000
jne 0x140050d74
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.14001b930
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 0x140050da5
movss xmm0, dword [rbp - 0x7c]
movss dword [r15 + 0xc], xmm0
jmp 0x140050da5
mov r15, qword [rbp + 0x148]
mov rax, qword [0x14011d300]
mov rcx, qword [rax + 0x3ea8]
dec dword [rcx + 0xd0]
call fcn.140029090
test byte [r13 + 0x3f78], 1
movaps xmm8, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmm6, xmmword [rsp + 0x1e0]
je 0x140050fc9
bt esi, 9
jb 0x140050fc9
mov r10, qword [0x14011d300]
cmp byte [r10 + 0x424c], bl
je 0x140050fd0
mov edx, dword [r10 + 0x3f78]
mov rcx, qword [r10 + 0x3ea8]
test dl, 1
je 0x140050fd0
mov rax, qword [r10 + 0x3eb8]
test rax, rax
je 0x140050fd0
mov rax, qword [rax + 0x360]
cmp qword [rcx + 0x360], rax
jne 0x140050fd0
cmp byte [rcx + 0x9b], bl
jne 0x140050fd0
test dl, 2
mov eax, 0x3f7c
mov r11d, 0x3f9c
cmove r11d, eax
mov eax, dword [r10 + 0x3f70]
add r11, r10
test eax, eax
jne 0x140050e93
mov rdx, r11
call fcn.14001d600
cmp dword [r10 + 0x3ef4], eax
jne 0x140050e82
mov dword [r10 + 0x3ef8], eax
cmp dword [r10 + 0x3f40], eax
jne 0x140050e93
mov byte [r10 + 0x3f44], 1
cmp dword [r10 + 0x426c], eax
je 0x140050fd0
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], 0xd4d8d5ca
mov word [rbp + 0x15c], 0xdcaa
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x6b]
inc edx
xor byte [rbp + rcx + 0x158], al
cmp edx, 6
jb 0x140050ee0
lea rcx, [rbp + 0x158]
mov byte [rbp + 0x15e], bl
call fcn.14002e920
test rax, rax
je 0x140050f25
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], 0xd4d8d5ca
mov byte [rbp + 0x15e], al
mov word [rbp + 0x15c], 0xdcad
movsxd rcx, ebx
lea eax, [rbx - 0x6b]
inc ebx
xor byte [rbp + rcx + 0x158], al
cmp ebx, 6
jb 0x140050f40
lea rcx, [rbp + 0x158]
mov byte [rbp + 0x15e], 0
call fcn.14002e920
test rax, rax
je 0x140050f84
mov r8d, dword [rbp - 0x6c]
mov rcx, r15
mov rdx, qword [rax]
shl r8, 2
call fcn.140079910
mov r12b, 1
jmp 0x140050f89
test dil, dil
je 0x140050fb8
bt esi, 0x1c
jae 0x140050fb8
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.14001b930
mov r10, qword [0x14011d300]
mov byte [r10 + 0x424e], 0
jmp 0x140050fd0
mov r10, qword [0x14011d300]
mov r15, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x200]
test r14, r14
je 0x140051000
mov ecx, dword [r13 + 0x3ef4]
test ecx, ecx
je 0x140051000
cmp qword [r13 + 0x3f30], r14
jne 0x140051000
mov dword [r13 + 0x3f70], ecx
test r12b, r12b
je 0x140051017
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