Function at 0x14004f950
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 0x14004f9bd
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.140028e20
movaps xmm11, xmm0
xorps xmm9, xmm9
test sil, 0x10
je 0x14004fa54
xorps xmm6, xmm6
jmp 0x14004fa61
movaps xmm6, xmm12
addss xmm6, dword [r13 + 0x384c]
mov qword [rbp - 0x68], r14
subss xmm11, xmm6
mov r15, r14
cmp r14, 0xffffffffffffffff
jae 0x14004fa92
movzx eax, byte [r15]
test al, al
je 0x14004fa8e
cmp al, 0x23
jne 0x14004fa85
cmp byte [r15 + 1], al
je 0x14004fa8e
inc r15
cmp r15, 0xffffffffffffffff
jb 0x14004fa73
mov qword [rbp - 0x68], r15
xor ebx, ebx
mov dword [r13 + 0x3f5c], ebx
call fcn.140028fa0
mov rcx, r14
call fcn.140027dd0
mov dword [rbp], esi
test sil, 0x20
je 0x14004fabd
and esi, 0xff9fffff
or esi, 0x100008
test sil, 8
jne 0x14004facd
mov edx, esi
mov rcx, rdi
call fcn.140054590
mov ecx, dword [r13 + 0x52c4]
test esi, 0x700000
jne 0x14004fae5
mov eax, ecx
and eax, 0x700000
or esi, eax
test esi, 0x1800000
jne 0x14004faf6
mov eax, ecx
and eax, 0x1800000
or esi, eax
test esi, 0x6000000
jne 0x14004fb07
mov eax, ecx
and eax, 0x6000000
or esi, eax
test esi, 0x18000000
jne 0x14004fb18
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 0x14004fb77
movss xmm0, dword [rdi + 0xc]
jmp 0x14004fb7b
movaps xmm0, xmm10
mov eax, esi
movss dword [rbp - 0x7c], xmm0
and eax, 0x10100000
mov dword [rbp + 4], eax
cmp eax, 0x10100000
jne 0x14004fbb3
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.14001ba20
jmp 0x14004fbf7
mov eax, esi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x14004fc13
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.14001b970
lea r9, [rbp - 0x80]
mov rcx, rdi
lea r8, [rsp + 0x7c]
lea rdx, [rsp + 0x78]
call fcn.14004f8a0
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 0x14004fc2f
movaps xmm8, xmm4
jmp 0x14004fc33
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 0x14004fc56
movaps xmm3, xmm4
jmp 0x14004fc59
movaps xmm3, xmm5
comiss xmm2, xmm9
mulss xmm1, xmm7
addss xmm1, xmm3
cvttss2si eax, xmm1
mov dword [rbp - 0x44], eax
jb 0x14004fc73
movaps xmm1, xmm4
jmp 0x14004fc76
movaps xmm1, xmm5
comiss xmm0, xmm9
mulss xmm2, xmm7
addss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [rbp - 0x40], eax
jae 0x14004fc8e
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 0x14004fcca
movaps xmm6, xmm9
movss xmm15, dword [0x1400ba470]
movaps xmm0, xmm13
addss xmm0, xmm6
movss dword [r12 + 0xe0], xmm0
test esi, 0x300000
je 0x1400505d5
test sil, 0x20
jne 0x1400505d5
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.14003fa50
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 0x14004fedc
lea rcx, [0x14011d8fc]
call fcn.140077ac0
cmp dword [0x14011d8fc], 0xffffffff
jne 0x14004fedc
mov dword [rsp + 0x50], 0x9fe5e6
mov edx, ebx
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004fe20
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x9ee5e6
mov qword [0x14011d650], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004fe50
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x9de5e6
mov qword [0x14011d658], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004fe80
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x90e5e6
mov qword [0x14011d660], rax
mov r8d, ebx
nop dword [rax + rax]
movsxd rdx, r8d
lea eax, [r8 - 0x3b]
inc r8d
xor byte [rsp + rdx + 0x50], al
cmp r8d, 3
jb 0x14004feb0
lea rax, [rsp + 0x50]
lea rcx, [0x14011d8fc]
mov qword [0x14011d668], rax
call fcn.140077a60
mov eax, dword [r12 + rdi]
cmp dword [0x14011d900], eax
jle 0x14005014c
lea rcx, [0x14011d900]
call fcn.140077ac0
cmp dword [0x14011d900], 0xffffffff
jne 0x14005014c
mov dword [rsp + 0x50], 0xa3f5e0
mov edx, ebx
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004ff10
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xa3f5e0
mov qword [0x14011d6d0], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004ff40
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xa3f5e0
mov qword [0x14011d6d8], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004ff70
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0xa3f5e0
mov qword [0x14011d6e0], rax
mov edx, ebx
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 3
jb 0x14004ffa0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x40], 0xfbe2fc97
mov qword [0x14011d6e8], rax
mov edx, ebx
mov word [rsp + 0x44], 0xad
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x14004ffd0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xfbe2fc82
mov qword [0x14011d6f0], rax
mov edx, ebx
mov word [rsp + 0x44], 0xad
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050000
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xfbe2fc87
mov qword [0x14011d6f8], rax
mov edx, ebx
mov word [rsp + 0x44], 0xad
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050030
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xfbe2fc84
mov qword [0x14011d700], rax
mov edx, ebx
mov word [rsp + 0x44], 0xad
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050060
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xfbe2fc8d
mov qword [0x14011d708], rax
mov edx, ebx
mov word [rsp + 0x44], 0xad
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050090
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xfbe2fc96
mov qword [0x14011d710], rax
mov edx, ebx
mov word [rsp + 0x44], 0xad
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400500c0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xfbe2fc93
mov qword [0x14011d718], rax
mov edx, ebx
mov word [rsp + 0x44], 0xad
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400500f0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xfbe2fc84
mov qword [0x14011d720], rax
mov r8d, ebx
mov word [rsp + 0x44], 0xad
nop
movsxd rdx, r8d
lea eax, [r8 - 0x3b]
inc r8d
xor byte [rsp + rdx + 0x40], al
cmp r8d, 5
jb 0x140050120
lea rax, [rsp + 0x40]
lea rcx, [0x14011d900]
mov qword [0x14011d728], rax
call fcn.140077a60
mov eax, dword [r12 + rdi]
cmp dword [0x14011d8f8], eax
jle 0x1400503cc
lea rcx, [0x14011d8f8]
call fcn.140077ac0
cmp dword [0x14011d8f8], 0xffffffff
jne 0x1400503cc
mov dword [rsp + 0x40], 0xfbe9f6e0
mov edx, ebx
mov word [rsp + 0x44], 0xaf
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050190
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xfbe9f6e0
mov qword [0x14011d670], rax
mov edx, ebx
mov word [rsp + 0x44], 0xaf
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400501c0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xfbe9f6e0
mov qword [0x14011d678], rax
mov edx, ebx
mov word [rsp + 0x44], 0xaf
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x1400501f0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], 0xfbe9f6e0
mov qword [0x14011d680], rax
mov edx, ebx
mov word [rsp + 0x44], 0xaf
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 5
jb 0x140050220
lea rax, [rsp + 0x40]
mov dword [rsp + 0x48], 0xf8e2fc97
mov qword [0x14011d688], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xadf9e7
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050250
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xf8e2fc82
mov qword [0x14011d690], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xadf9e7
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050280
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xf8e2fc87
mov qword [0x14011d698], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xadf9e7
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400502b0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xf8e2fc84
mov qword [0x14011d6a0], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xadf9e7
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400502e0
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xf8e2fc8d
mov qword [0x14011d6a8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xadf9e7
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050310
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xf8e2fc96
mov qword [0x14011d6b0], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xadf9e7
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050340
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xf8e2fc93
mov qword [0x14011d6b8], rax
mov edx, ebx
mov dword [rsp + 0x4c], 0xadf9e7
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050370
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], 0xf8e2fc84
mov qword [0x14011d6c0], rax
mov r8d, ebx
mov dword [rsp + 0x4c], 0xadf9e7
movsxd rdx, r8d
lea eax, [r8 - 0x3b]
inc r8d
xor byte [rsp + rdx + 0x48], al
cmp r8d, 7
jb 0x1400503a0
lea rax, [rsp + 0x48]
lea rcx, [0x14011d8f8]
mov qword [0x14011d6c8], rax
call fcn.140077a60
mov rdi, rbx
test r14b, r14b
jne 0x1400503df
bt esi, 0x15
setb dil
inc rdi
mov edx, dword [rbp - 0x6c]
mov r8d, ebx
mov r12d, edx
test edx, edx
je 0x140050598
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 0x140050441
mov rax, qword [rbp - 0x28]
movaps xmm0, xmm9
movss xmm1, dword [rax + 0x384c]
call fcn.140028cc0
lea rcx, [0x140000000]
lea r15d, [r8 + 1]
cmp r15d, edx
jge 0x14005044f
movaps xmm0, xmm7
jmp 0x140050453
movaps xmm0, xmm8
mov rax, qword [0x14011d300]
or dword [rax + 0x3f5c], 1
movss dword [rax + 0x3f60], xmm0
cmp dword [rsp + 0x5c], ebx
je 0x1400504db
mov rcx, qword [rdi + rcx + 0x11d670]
cmp byte [rbp - 0x30], bl
je 0x140050482
movaps xmm0, xmm9
jmp 0x140050486
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.1400498b0
movzx ecx, byte [rbp + 0x158]
or cl, al
or byte [rsp + 0x58], cl
mov byte [rbp + 0x158], cl
jmp 0x140050530
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.1400498b0
or byte [rbp + 0x158], al
test esi, esi
jne 0x14005056f
mov dword [rsp + 0x48], 0xbca9a9a6
mov edx, ebx
mov dword [rsp + 0x4c], 0xbfb2ac
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050550
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a1a0
mov edx, dword [rbp - 0x6c]
lea rcx, [0x140000000]
add rdi, 8
mov r8d, r15d
sub r12, 1
jne 0x140050420
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 0x140050ad4
test sil, 0x20
jne 0x1400508d4
cmp dword [r13 + 0x388c], ebx
je 0x1400508d4
addss xmm11, dword [r13 + 0x384c]
jmp 0x1400508d8
mov eax, esi
and eax, 0x400020
cmp eax, 0x400000
jne 0x1400505a3
mov r14d, 0xff
test cl, cl
je 0x14005069a
mov r11d, dword [rbp - 0x3c]
test r11d, r11d
jns 0x1400505ff
mov r11d, ebx
jmp 0x140050606
cmp r11d, r14d
cmovg r11d, r14d
mov r10d, dword [rbp - 0x40]
test r10d, r10d
jns 0x140050614
mov r10d, ebx
jmp 0x14005061b
cmp r10d, r14d
cmovg r10d, r14d
mov r8d, dword [rbp - 0x44]
test r8d, r8d
jns 0x140050629
mov r8d, ebx
jmp 0x140050630
cmp r8d, r14d
cmovg r8d, r14d
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x14005063e
mov r9d, ebx
jmp 0x140050645
cmp r9d, r14d
cmovg r9d, r14d
movdqa xmm0, xmmword [0x1400bb1a0]
mov edx, ebx
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 8], 0x8d
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rbp + rcx - 0x18], al
cmp edx, 0x11
jb 0x140050660
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.14001b410
jmp 0x140050732
mov r10d, dword [rbp - 0x40]
test r10d, r10d
jns 0x1400506a8
mov r10d, ebx
jmp 0x1400506af
cmp r10d, r14d
cmovg r10d, r14d
mov r8d, dword [rbp - 0x44]
test r8d, r8d
jns 0x1400506bd
mov r8d, ebx
jmp 0x1400506c4
cmp r8d, r14d
cmovg r8d, r14d
mov r9d, dword [rbp - 0x48]
test r9d, r9d
jns 0x1400506d2
mov r9d, ebx
jmp 0x1400506d9
cmp r9d, r14d
cmovg r9d, r14d
mov dword [rsp + 0x64], 0xfaf7e3e6
mov edx, ebx
mov dword [rsp + 0x68], 0xfefbef91
mov dword [rsp + 0x6c], 0xe2ffeb95
mov word [rsp + 0x70], 0x89
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0xd
jb 0x140050700
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.14001b410
mov rax, qword [0x14011d300]
mov edx, ebx
mov dword [rsp + 0x40], 0xad93e5e6
mov word [rsp + 0x44], 0xbeb1
or dword [rax + 0x3f5c], 1
movss dword [rax + 0x3f60], xmm11
xor eax, eax
mov byte [rsp + 0x46], al
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 6
jb 0x140050760
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.14004c750
test al, al
je 0x140050893
mov byte [rbp + 0x158], 1
lea r10, [rbp + 0x10]
nop dword [rax]
movzx eax, byte [r10]
cmp al, 0x23
je 0x1400507d0
cmp al, 0x20
je 0x1400507d0
cmp al, 9
jne 0x1400507d5
inc r10
jmp 0x1400507c0
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 0x14005083e
movdqa xmm0, xmmword [0x1400bac10]
movdqu xmmword [rsp + 0x64], xmm0
mov byte [rsp + 0x74], al
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0x10
jb 0x140050800
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.1400197a0
jmp 0x140050893
mov dword [rsp + 0x64], 0x90f5f6e0
mov dword [rsp + 0x68], 0x94f9faec
mov dword [rsp + 0x6c], 0x88fdfee8
mov byte [rsp + 0x70], al
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x64], al
cmp edx, 0xc
jb 0x140050860
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.1400197a0
test sil, 8
jne 0x1400505a3
mov dword [rsp + 0x48], 0xbca9a9a6
mov edx, ebx
mov dword [rsp + 0x4c], 0xbfb2ac
nop
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x1400508b0
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a1a0
jmp 0x1400505a3
movaps xmm11, xmm9
addss xmm13, xmm11
movss dword [r12 + 0xe4], xmm14
movss dword [r12 + 0xe0], xmm13
cmp byte [rbp - 0x70], bl
je 0x1400508fc
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], 0xa784e5e6
mov dword [rbp - 0x54], 0x8eb9a5a5
mov dword [rbp - 0x50], 0xbfbbbab8
mov word [rbp - 0x4c], 0xbf
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rbp + rcx - 0x58], al
cmp edx, 0xd
jb 0x140050940
lea r9, [rbp - 0x20]
mov byte [rbp - 0x4b], bl
mov r8d, esi
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x58]
call fcn.1400536c0
test al, al
je 0x140050a3a
test sil, 4
jne 0x140050a3a
movups xmm0, xmmword [rbp - 0x18]
xor eax, eax
mov dword [rsp + 0x5c], 0xa3a4afb5
mov word [rsp + 0x60], 0xb8ac
mov edx, ebx
movups xmmword [r13 + 0x52d4], xmm0
mov byte [rsp + 0x62], al
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x5c], al
cmp edx, 6
jb 0x1400509a0
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.14001b520
mov ecx, eax
xor edx, edx
call fcn.140029cc0
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 0x140050a7f
mov dword [rsp + 0x48], 0xbca9a9a6
mov edx, ebx
mov dword [rsp + 0x4c], 0xbfb2ac
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x48], al
cmp edx, 7
jb 0x140050a60
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x4f], bl
call fcn.14002a1a0
xor eax, eax
mov dword [rsp + 0x5c], 0xa3a4afb5
mov byte [rsp + 0x62], al
mov edx, ebx
mov word [rsp + 0x60], 0xb8ac
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rsp + rcx + 0x5c], al
cmp edx, 6
jb 0x140050aa0
mov rcx, qword [0x14011d300]
mov byte [rsp + 0x62], bl
mov eax, dword [rcx + 0x4090]
cmp dword [rcx + 0x4080], eax
jg 0x140050c04
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 0x140050b43
test sil, sil
js 0x140050b43
movss xmm1, dword [r13 + 0x384c]
movaps xmm0, xmm9
call fcn.140028cc0
mov rcx, r9
xor r8d, r8d
mov rdx, r15
call fcn.140044d30
movaps xmm9, xmmword [rsp + 0x1b0]
test r12b, r12b
je 0x140050dde
test r14, r14
jne 0x140050dde
cmp byte [rsp + 0x58], bl
jne 0x140050b78
movdqu xmm0, xmmword [rbp - 0x48]
cvtdq2ps xmm1, xmm0
divps xmm1, xmmword [0x1400baa40]
movups xmmword [rsp + 0x78], xmm1
mov eax, esi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x140050d60
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.14001ba20
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.14001b8c0
mov dword [r13 + 0x52d0], eax
jmp 0x140050d72
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.14001b520
mov ecx, eax
call fcn.14002a080
test al, al
je 0x140050ad4
mov rax, qword [rbp + 0x140]
mov r14, qword [r13 + 0x3ea8]
cmp rax, r15
je 0x140050c8f
xor r8d, r8d
mov rdx, r15
mov rcx, rax
call fcn.140044d30
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 0x140050c8f
movaps xmm1, xmm15
mov qword [rbp - 0x68], rbx
lea rcx, [rbp - 0x68]
call fcn.1400289c0
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], 0xa1b7e5e6
or dword [rax + 0x3f5c], 1
mov dword [rbp - 0x64], 0xbeaea1aa
movss dword [rax + 0x3f60], xmm12
xor eax, eax
mov byte [rbp - 0x60], al
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rbp + rcx - 0x68], al
cmp edx, 8
jb 0x140050ce0
lea r9, [r13 + 0x52d4]
mov byte [rbp - 0x60], bl
mov rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.1400512b0
mov rdi, qword [0x14011d300]
movzx r12d, byte [rbp + 0x158]
or r12b, al
mov rax, qword [rdi + 0x3ea8]
cmp qword [rdi + 0x40b8], rax
jne 0x140050d40
cmp byte [rdi + 0x4115], bl
je 0x140050d40
cmp dword [rdi + 0x40f4], ebx
jne 0x140050d40
or dword [rdi + 0x4118], 2
test dword [rax + 0xc], 0x1000000
je 0x140050d50
mov byte [rdi + 0x3e36], 1
call fcn.1400273f0
mov byte [rdi + 0x3e36], bl
jmp 0x140050adc
movss xmm8, dword [rbp - 0x80]
movss xmm7, dword [rsp + 0x7c]
movss xmm6, dword [rsp + 0x78]
cmp dword [rbp + 4], 0x10100000
jne 0x140050db4
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.14001b970
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 0x140050de5
movss xmm0, dword [rbp - 0x7c]
movss dword [r15 + 0xc], xmm0
jmp 0x140050de5
mov r15, qword [rbp + 0x148]
mov rax, qword [0x14011d300]
mov rcx, qword [rax + 0x3ea8]
dec dword [rcx + 0xd0]
call fcn.1400290d0
test byte [r13 + 0x3f78], 1
movaps xmm8, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmm6, xmmword [rsp + 0x1e0]
je 0x140051009
bt esi, 9
jb 0x140051009
mov r10, qword [0x14011d300]
cmp byte [r10 + 0x424c], bl
je 0x140051010
mov edx, dword [r10 + 0x3f78]
mov rcx, qword [r10 + 0x3ea8]
test dl, 1
je 0x140051010
mov rax, qword [r10 + 0x3eb8]
test rax, rax
je 0x140051010
mov rax, qword [rax + 0x360]
cmp qword [rcx + 0x360], rax
jne 0x140051010
cmp byte [rcx + 0x9b], bl
jne 0x140051010
test dl, 2
mov eax, 0x3f7c
mov r11d, 0x3f9c
cmove r11d, eax
mov eax, dword [r10 + 0x3f70]
add r11, r10
test eax, eax
jne 0x140050ed3
mov rdx, r11
call fcn.14001d640
cmp dword [r10 + 0x3ef4], eax
jne 0x140050ec2
mov dword [r10 + 0x3ef8], eax
cmp dword [r10 + 0x3f40], eax
jne 0x140050ed3
mov byte [r10 + 0x3f44], 1
cmp dword [r10 + 0x426c], eax
je 0x140051010
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], 0x8488859a
mov word [rbp + 0x15c], 0x8cfa
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x3b]
inc edx
xor byte [rbp + rcx + 0x158], al
cmp edx, 6
jb 0x140050f20
lea rcx, [rbp + 0x158]
mov byte [rbp + 0x15e], bl
call fcn.14002e960
test rax, rax
je 0x140050f65
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], 0x8488859a
mov byte [rbp + 0x15e], al
mov word [rbp + 0x15c], 0x8cfd
movsxd rcx, ebx
lea eax, [rbx - 0x3b]
inc ebx
xor byte [rbp + rcx + 0x158], al
cmp ebx, 6
jb 0x140050f80
lea rcx, [rbp + 0x158]
mov byte [rbp + 0x15e], 0
call fcn.14002e960
test rax, rax
je 0x140050fc4
mov r8d, dword [rbp - 0x6c]
mov rcx, r15
mov rdx, qword [rax]
shl r8, 2
call fcn.140079a30
mov r12b, 1
jmp 0x140050fc9
test dil, dil
je 0x140050ff8
bt esi, 0x1c
jae 0x140050ff8
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.14001b970
mov r10, qword [0x14011d300]
mov byte [r10 + 0x424e], 0
jmp 0x140051010
mov r10, qword [0x14011d300]
mov r15, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x200]
test r14, r14
je 0x140051040
mov ecx, dword [r13 + 0x3ef4]
test ecx, ecx
je 0x140051040
cmp qword [r13 + 0x3f30], r14
jne 0x140051040
mov dword [r13 + 0x3f70], ecx
test r12b, r12b
je 0x140051057
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