Function at 0x140049b20
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [r11 + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [r11 - 0x3f]
sub rsp, 0x100
mov rdi, qword [0x140125820]
mov r14, rcx
movaps xmmword [r11 - 0x48], xmm6
movaps xmmword [r11 - 0x68], xmm8
movaps xmmword [r11 - 0x78], xmm9
movaps xmm9, xmm3
mov rax, qword [rdi + 0x3ea8]
mov byte [rax + 0x98], 1
mov rsi, qword [rdi + 0x3ea8]
cmp byte [rsi + 0x9b], 0
jne 0x14004a191
movsxd rdx, dword [rsi + 0xd0]
mov rax, qword [rsi + 0xd8]
movaps xmmword [r11 - 0x58], xmm7
mov r8d, dword [rax + rdx*4 - 4]
xor edx, edx
call fcn.14001b790
mov ebx, eax
call fcn.140029090
movaps xmm7, xmm0
mov rcx, r14
cmp r14, 0xffffffffffffffff
jae 0x140049bcb
movzx edx, byte [rcx]
test dl, dl
je 0x140049bcb
cmp dl, 0x23
jne 0x140049bc2
cmp byte [rcx + 1], dl
je 0x140049bcb
inc rcx
cmp rcx, 0xffffffffffffffff
jb 0x140049bb1
movss xmm1, dword [rdi + 0x3c18]
xorps xmm6, xmm6
cmp r14, rcx
jne 0x140049be1
xorps xmm8, xmm8
jmp 0x140049c36
movss xmm0, dword [0x1400bd5a0]
lea rdx, [rsp + 0x40]
movss xmm3, dword [0x1400bd578]
movaps xmm2, xmm1
mov qword [rsp + 0x30], rcx
mov rcx, qword [rdi + 0x3c10]
mov qword [rsp + 0x28], r14
movss dword [rsp + 0x20], xmm0
call fcn.14003fcc0
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [0x1400bd420]
movss xmm1, dword [rsp + 0x44]
cvttss2si eax, xmm0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
comiss xmm8, xmm6
movss xmm3, dword [rsi + 0xe0]
movss xmm4, dword [rdi + 0x3838]
movaps xmm2, xmm3
addss xmm2, xmm7
movaps xmm0, xmm4
movaps xmm7, xmmword [rsp + 0xd0]
addss xmm0, xmm4
addss xmm0, xmm1
addss xmm0, dword [rsi + 0xe4]
movss dword [rsp + 0x48], xmm3
movss xmm5, dword [rsi + 0xe4]
movss dword [rsp + 0x4c], xmm5
movss dword [rsp + 0x50], xmm2
movss dword [rsp + 0x54], xmm0
jbe 0x140049c9c
movaps xmm1, xmm8
addss xmm1, dword [rdi + 0x384c]
jmp 0x140049c9f
xorps xmm1, xmm1
addss xmm1, xmm2
movss dword [rsp + 0x58], xmm3
addss xmm0, xmm6
movss dword [rsp + 0x5c], xmm5
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x60], xmm1
subss xmm1, xmm3
movss dword [rsp + 0x64], xmm0
subss xmm0, xmm5
movss dword [rsp + 0x40], xmm1
movaps xmm1, xmm4
movss dword [rsp + 0x44], xmm0
call fcn.140028c30
lea r8, [rsp + 0x48]
mov edx, ebx
lea rcx, [rsp + 0x58]
mov r9d, 0x100
call fcn.140028da0
test al, al
je 0x14004a191
mov r14, qword [rbp + 0x77]
test r14, r14
jne 0x140049d1d
movsxd rax, dword [rbp + 0x4f]
lea r14, [0x1400ee6e0]
shl rax, 5
mov r14, qword [rax + r14]
jmp 0x140049d95
cmp dword [rbp + 0x4f], 4
jne 0x140049d95
xor eax, eax
mov word [rbp + 0x7f], 0x8ecc
xor ecx, ecx
mov byte [rbp + 0x81], al
xor edx, edx
nop word [rax + rax]
lea eax, [rcx - 0x17]
inc ecx
xor byte [rbp + rdx + 0x7f], al
movsxd rdx, ecx
cmp rdx, 2
jb 0x140049d40
lea r9, [rbp + 0x7f]
mov byte [rbp + 0x81], 0
sub r9, r14
mov rax, r14
nop dword [rax]
nop word [rax + rax]
movzx r8d, byte [rax]
movzx edx, byte [rax + r9]
sub r8d, edx
jne 0x140049d85
inc rax
test edx, edx
jne 0x140049d70
test r8d, r8d
je 0x140049d95
mov rcx, r14
call fcn.140049060
mov r14, rax
mov qword [rsp + 0x148], r12
lea rcx, [rsp + 0x48]
mov qword [rsp + 0xf8], r13
mov edx, ebx
mov qword [rsp + 0xf0], r15
call fcn.14001dc30
mov rcx, qword [0x140125820]
movzx edx, al
mov byte [rbp + 0x7f], al
cmp dword [rcx + 0x3ef4], ebx
jne 0x140049dda
cmp dword [rcx + 0x52c0], ebx
je 0x140049ef7
mov r15d, dword [rdi + 0x3f78]
xor al, al
and r15d, 0x100
test dl, dl
je 0x140049dfb
cmp byte [rdi + 0x36b0], al
je 0x140049dfb
mov r13b, 1
jmp 0x140049e02
xor r13b, r13b
test dl, dl
je 0x140049e11
cmp word [rdi + 0x36ba], 2
jne 0x140049e11
mov r12b, 1
jmp 0x140049e14
xor r12b, r12b
test r15d, r15d
jne 0x140049e33
test r13b, r13b
jne 0x140049e33
test r12b, r12b
jne 0x140049e33
cmp dword [rdi + 0x40c8], ebx
je 0x140049e33
cmp dword [rdi + 0x40d4], ebx
jne 0x140049e85
mov rdx, rsi
mov ecx, ebx
call fcn.14001daf0
call fcn.14002ac10
mov rcx, rsi
call fcn.140027850
mov dword [rdi + 0x3f08], 3
test r15d, r15d
jne 0x140049e78
test r13b, r13b
je 0x140049e67
cmp byte [rdi + 0xdac], r15b
jne 0x140049e78
test r12b, r12b
jne 0x140049e78
cmp dword [rdi + 0x40d4], ebx
je 0x140049e78
xor al, al
jmp 0x140049e7a
mov al, 1
movzx edx, byte [rbp + 0x7f]
mov rcx, qword [0x140125820]
cmp byte [rdi + 0x74], 0
je 0x140049ef3
test al, al
jne 0x140049ef7
cmp dword [rdi + 0x3ef4], ebx
jne 0x140049f73
test dl, dl
je 0x140049f64
cmp byte [rdi + 0x36ce], al
je 0x140049f64
movss xmm1, dword [rdi + 0x38]
mulss xmm1, dword [0x1400bd3d4]
comiss xmm6, xmm1
jbe 0x140049ec6
movss xmm1, dword [rcx + 0x38]
movss xmm0, dword [rcx + 0x3708]
mulss xmm1, xmm1
comiss xmm0, xmm1
jae 0x140049f64
mov dword [rdi + 0x40d4], ebx
mov dword [rdi + 0x40c8], ebx
mov dword [rdi + 0x40d8], 1
jmp 0x140049ef7
test al, al
je 0x140049f64
mov rax, qword [rbp + 0x57]
lea rcx, [rsp + 0x48]
mov r9d, dword [rbp + 0x4f]
mov edx, ebx
mov r8, qword [rbp + 0x47]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.14004a8d0
mov r13, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x148]
mov r15, qword [rsp + 0xf0]
lea r11, [rsp + 0x100]
movaps xmm6, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm9, xmmword [r11 - 0x50]
mov rsp, r11
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp dword [rdi + 0x3ef4], ebx
jne 0x140049f73
mov eax, 9
jmp 0x140049f7e
xor eax, eax
test dl, dl
setne al
add rax, 7
add rax, rax
mov r8d, 1
mov edx, ebx
movups xmm0, xmmword [rcx + rax*8 + 0x38c0]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x37f8]
lea rcx, [rsp + 0x48]
movss dword [rsp + 0x64], xmm0
call fcn.14001c860
lea rcx, [rsp + 0x58]
call fcn.14001bb30
movss xmm0, dword [rdi + 0x383c]
mov r8d, eax
mov rdx, qword [rsp + 0x50]
mov r9b, 1
mov rcx, qword [rsp + 0x48]
movss dword [rsp + 0x20], xmm0
call fcn.14001c570
mov rax, qword [rbp + 0x6f]
movaps xmm3, xmm9
mov r13, qword [rbp + 0x57]
mov ecx, ebx
mov r15d, dword [rbp + 0x4f]
mov r8, r13
mov qword [rsp + 0x30], r14
mov edx, r15d
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x67]
mov qword [rsp + 0x20], rax
call fcn.1400496f0
mov rsi, qword [0x140125820]
movzx r12d, al
test al, al
je 0x14004a02e
or dword [rsi + 0x3f78], 4
mov word [rsi + 0x3f04], 0x101
cmp r15d, 4
je 0x14004a05e
cmp r15d, 8
jne 0x14004a05a
movss xmm3, dword [r13]
lea edx, [r15 + 0x38]
cvtps2pd xmm3, xmm3
mov r8, r14
lea rcx, [rbp - 0x79]
movq r9, xmm3
call fcn.14001b680
jmp 0x14004a073
xor eax, eax
jmp 0x14004a07a
mov r9d, dword [r13]
lea rcx, [rbp - 0x79]
mov r8, r14
mov edx, 0x40
call fcn.14001b680
mov rsi, qword [0x140125820]
cdqe
lea rcx, [rbp - 0x79]
add rcx, rax
cmp byte [rdi + 0x53d4], 0
je 0x14004a0a8
lea rax, [0x1400bc88c]
mov qword [rsi + 0x53f0], rax
lea rax, [0x1400bc888]
mov qword [rsi + 0x53f8], rax
test rcx, rcx
mov dword [rsp + 0x40], 0x3f000000
mov rax, 0xffffffffffffffff
mov dword [rsp + 0x44], 0x3f000000
cmove rcx, rax
lea rbx, [rbp - 0x79]
lea rax, [rbp - 0x79]
cmp rax, rcx
jae 0x14004a0eb
movzx eax, byte [rbx]
test al, al
je 0x14004a0eb
cmp al, 0x23
jne 0x14004a0e3
cmp byte [rbx + 1], al
je 0x14004a0eb
inc rbx
cmp rbx, rcx
jb 0x14004a0d3
lea rcx, [rbp - 0x79]
cmp ebx, ecx
je 0x14004a14f
mov rcx, qword [rsi + 0x3ea8]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], 0
lea r9, [rbp - 0x79]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x50]
mov qword [rsp + 0x28], 0
lea rdx, [rsp + 0x48]
mov rcx, qword [rcx + 0x280]
mov qword [rsp + 0x20], rbx
call fcn.14001c210
cmp byte [rsi + 0x53d4], 0
je 0x14004a14f
mov r8, rbx
lea rdx, [rbp - 0x79]
lea rcx, [rsp + 0x48]
call fcn.14002edc0
comiss xmm8, xmm6
jbe 0x14004a188
movss xmm0, dword [rsp + 0x50]
mov r9b, 1
movss xmm1, dword [rsp + 0x4c]
xor r8d, r8d
addss xmm0, dword [rdi + 0x384c]
addss xmm1, dword [rdi + 0x3838]
mov rdx, qword [rbp + 0x47]
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.14001c090
movzx eax, r12b
jmp 0x140049f2b
xor al, al
jmp 0x140049f43