Function at 0x140024690
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm10
mov rax, qword [0x14009c040]
xor rax, rsp
mov qword [rbp - 9], rax
mov rdi, rcx
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov r15d, 8
cmp byte [r15 + rbx], 0
jne 0x1400246f0
call fcn.140066538
mov r14d, 0x10
mov r13, qword [r14 + rbx]
mov eax, dword [r13 + 0x40a0]
mov dword [rdi + 0xac], eax
and byte [rdi + 0xcc], 0xfb
xor esi, esi
mov qword [rdi + 0xa0], rsi
mov qword [rdi + 0x98], rsi
cmp qword [rdi + 0x18], rsi
jne 0x140024870
mov rcx, rdi
call fcn.1400242b0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], rax
mov edx, eax
cmp dword [rdi + 0x30], eax
jle 0x140024752
mov r8, rdi
mov qword [rbp - 0x19], rdi
inc edx
mov dword [rbp - 0x11], edx
jmp 0x140024756
mov r8, qword [rbp - 0x19]
mov eax, dword [rdi + 0x10]
shr eax, 0xb
test al, 1
mov rcx, qword [rbp - 0x21]
cmovne rcx, rdi
mov qword [rbp - 0x21], rcx
cmp edx, 1
jle 0x140024774
test rcx, rcx
jne 0x1400247b4
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x140024794
lea rdx, [rbp - 0x21]
mov rcx, rax
call fcn.140024230
mov edx, dword [rbp - 0x11]
mov r8, qword [rbp - 0x19]
mov rcx, qword [rbp - 0x21]
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x1400247b4
lea rdx, [rbp - 0x21]
mov rcx, rax
call fcn.140024230
mov edx, dword [rbp - 0x11]
mov r8, qword [rbp - 0x19]
mov rcx, qword [rbp - 0x21]
mov qword [rdi + 0x98], rcx
mov rax, rsi
cmp edx, 1
cmove rax, r8
mov qword [rdi + 0xa0], rax
mov dword [rdi + 0xa8], edx
cmp dword [rdi + 0xb8], esi
jne 0x1400247e8
test r8, r8
je 0x140024858
mov eax, dword [r8]
mov dword [rdi + 0xb8], eax
test r8, r8
je 0x140024858
mov rax, qword [r8 + 0x38]
mov rax, qword [rax]
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x64], xmm0
movsd xmm1, qword [rax + 0x30]
movsd qword [rdi + 0x74], xmm1
mov eax, dword [rax + 0x38]
mov dword [rdi + 0x7c], eax
mov r9d, 1
movsxd r11, dword [r8 + 0x30]
cmp r11, r9
jle 0x140024858
mov edx, r9d
mov r10, qword [r8 + 0x38]
mov rax, qword [r10 + rdx*8]
cmp byte [rax + 0x39], sil
je 0x140024839
inc r9d
inc rdx
cmp rdx, r11
jl 0x140024822
jmp 0x140024858
movsxd rax, r9d
mov rax, qword [r10 + rax*8]
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x64], xmm0
movsd xmm1, qword [rax + 0x30]
movsd qword [rdi + 0x74], xmm1
mov eax, dword [rax + 0x38]
mov dword [rdi + 0x7c], eax
test rcx, rcx
je 0x140024870
nop dword [rax]
or byte [rcx + 0xcc], 0x20
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140024860
mov rbx, qword [rdi + 0x40]
test rbx, rbx
je 0x1400248b0
mov eax, dword [rdi + 0x10]
shr eax, 0xc
test al, 1
je 0x1400248b0
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x140024895
call fcn.140007e10
nop
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400248a4
call fcn.140007e10
nop
mov rcx, rbx
call fcn.140007e10
mov qword [rdi + 0x40], rsi
xor r8b, r8b
mov r9, qword [rdi + 0x18]
test r9, r9
jne 0x140024a4d
test dword [rdi + 0x10], 0x400
jne 0x140024a4d
mov edx, dword [rdi + 0x30]
cmp edx, 1
jg 0x1400248f5
cmp qword [rdi + 0x20], r9
jne 0x1400248f5
cmp byte [r13 + 0x5a], r8b
jne 0x1400248f5
test edx, edx
je 0x1400248f2
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax]
cmp byte [rcx + 0x38], r8b
jne 0x1400248f5
mov r8b, 1
cmp dword [rdi + 0xa8], 0
je 0x140024907
test r8b, r8b
je 0x140024a4d
cmp edx, 1
jne 0x1400249ef
mov rax, qword [rdi + 0x38]
mov rbx, qword [rax]
movsd xmm0, qword [rbx + 0x58]
movsd qword [rdi + 0x48], xmm0
movsd xmm1, qword [rbx + 0x68]
movsd qword [rdi + 0x50], xmm1
mov eax, dword [rdi + 0xc8]
and eax, 0xfffffebf
bts eax, 7
and eax, 0xffffffd7
or eax, 0x10
and eax, 0xfffffffa
or eax, 2
mov dword [rdi + 0xc8], eax
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x14002496b
cmp qword [r13 + 0x4ca8], rax
jne 0x14002496b
xor edx, edx
mov rcx, rbx
call fcn.140012510
mov r8, qword [rdi + 0x88]
test r8, r8
je 0x1400249e6
test dword [r13 + 0x61fc], 0x100
je 0x1400249a6
mov r8, qword [r8 + 0x40]
mov rax, qword [rbx + 8]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbx + 0x10]
mov r8d, dword [r8]
mov edx, dword [rdi]
lea rcx, str._viewport__Node__08X_transfer_Viewport__08X___08X_to_Window__s_n
call fcn.14002b890
mov rax, qword [rdi + 0x88]
mov rdx, qword [rax + 0x40]
mov qword [rbx + 0x40], rdx
mov rax, qword [rdi + 0x88]
mov ecx, dword [rax + 0x48]
mov dword [rbx + 0x48], ecx
mov rax, qword [rdi + 0x88]
cmp byte [rax + 0xf2], 0
je 0x1400249e6
mov eax, dword [rbx + 0x10]
mov dword [rdx], eax
mov rax, qword [rbx + 0x40]
mov qword [rax + 0x60], rbx
mov byte [rbx + 0xf2], 1
mov eax, dword [rbx + 0x48]
mov dword [rdi + 0xc4], eax
mov rcx, rdi
call fcn.140024190
mov dword [rdi + 0x14], 1
movzx eax, byte [rdi + 0xcc]
and al, 0xbf
mov dword [rdi + 0xc0], esi
and al, 0xe7
mov byte [rdi + 0xcc], al
mov eax, dword [r13 + 0x40a0]
mov dword [rdi + 0xb0], eax
test byte [rdi + 0xcd], 1
je 0x140025521
cmp dword [rdi + 0x30], 1
jne 0x140025521
mov rdx, qword [rdi + 0x38]
mov rdx, qword [rdx]
mov rcx, rdi
call fcn.140024600
jmp 0x140025521
test byte [rdi + 0xcc], 1
je 0x140024ac6
cmp qword [rdi + 0x88], 0
jne 0x140024ac6
test r9, r9
jne 0x140024ac6
test dword [rdi + 0x10], 0x400
jne 0x140024ac6
cmp qword [rdi + 0x20], r9
jne 0x140024ac6
mov edx, dword [rdi + 0xbc]
test edx, edx
je 0x140024aa1
mov rcx, qword [rdi + 0x38]
movsxd rax, dword [rdi + 0x30]
lea r8, [rcx + rax*8]
cmp rcx, r8
je 0x140024aa1
nop
mov rax, qword [rcx]
cmp dword [rax + 0x10], edx
je 0x140024aa8
add rcx, 8
cmp rcx, r8
jne 0x140024a90
mov rax, qword [rdi + 0x38]
mov rax, qword [rax]
cmp byte [rax + 0x110], 0
jg 0x140024aba
cmp byte [rax + 0x111], 0
jle 0x140024ac6
mov dword [rdi + 0x14], 2
jmp 0x140025521
mov r12d, dword [rdi + 0x10]
movsxd rdx, dword [rdi + 0x30]
test edx, edx
jle 0x140024add
bt r12d, 0xe
jb 0x140024add
mov cl, 0x10
jmp 0x140024adf
xor cl, cl
movzx eax, byte [rdi + 0xcc]
and al, 0xef
or al, cl
and al, 0xf7
mov byte [rdi + 0xcc], al
mov r8, qword [rdi + 0x38]
lea r9, [r8 + rdx*8]
mov ecx, r12d
cmp r8, r9
je 0x140024b49
mov rdx, qword [r8]
movzx eax, byte [rdi + 0xcc]
movzx ecx, byte [rdx + 0xfd]
shl cl, 3
or cl, al
and cl, 8
and al, 0xf7
xor cl, al
mov byte [rdi + 0xcc], cl
cmp dword [rdi + 0x30], 1
setg cl
movzx eax, byte [rdx + 0x435]
and al, 0xfe
or cl, al
mov byte [rdx + 0x435], cl
add r8, 8
cmp r8, r9
jne 0x140024b02
mov ecx, dword [rdi + 0x10]
bt r12d, 0xf
jae 0x140024b57
and byte [rdi + 0xcc], 0xf7
mov byte [rbp - 0x49], 0
shr ecx, 0xa
xorps xmm10, xmm10
test cl, 1
je 0x140024b73
mov rsi, qword [rdi + 0x88]
jmp 0x140024f88
mov rax, qword [rdi + 0x18]
test rax, rax
jne 0x140024f53
test byte [rdi + 0xcc], 1
je 0x140024f6b
cmp dword [rdi + 0x30], eax
jle 0x140024b9b
mov rax, qword [rdi + 0x38]
mov rbx, qword [rax]
jmp 0x140024b9d
xor ebx, ebx
mov eax, dword [rdi + 0xc8]
shl eax, 0x1d
sar eax, 0x1d
cmp eax, 2
jne 0x140024bf0
test rbx, rbx
je 0x140024c3f
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
cmp byte [r15 + rsi], 0
jne 0x140024bcf
call fcn.140066538
mov rcx, qword [r14 + rsi]
or dword [rcx + 0x4af8], 1
movsd xmm0, qword [rbx + 0x58]
xorps xmm1, xmm1
unpcklps xmm1, xmm10
movsd qword [rcx + 0x4b14], xmm1
jmp 0x140024c26
cmp eax, 1
jne 0x140024c3f
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
cmp byte [r15 + rsi], 0
jne 0x140024c0d
call fcn.140066538
mov rcx, qword [r14 + rsi]
or dword [rcx + 0x4af8], 1
movsd xmm0, qword [rdi + 0x48]
xor eax, eax
mov qword [rcx + 0x4b14], rax
mov byte [rcx + 0x4b38], 1
mov dword [rcx + 0x4afc], 1
movsd qword [rcx + 0x4b0c], xmm0
mov eax, dword [rdi + 0xc8]
shl eax, 0x1a
sar eax, 0x1d
cmp eax, 2
jne 0x140024c7f
test rbx, rbx
je 0x140024cbe
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
cmp byte [r15 + rsi], 0
jne 0x140024c6d
call fcn.140066538
mov rcx, qword [r14 + rsi]
or dword [rcx + 0x4af8], 2
movsd xmm0, qword [rbx + 0x68]
jmp 0x140024cac
cmp eax, 1
jne 0x140024cbe
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
cmp byte [r15 + rsi], 0
jne 0x140024c9c
call fcn.140066538
mov rcx, qword [r14 + rsi]
or dword [rcx + 0x4af8], 2
movsd xmm0, qword [rdi + 0x50]
mov dword [rcx + 0x4b00], 1
movsd qword [rcx + 0x4b1c], xmm0
mov eax, dword [rdi + 0xc8]
and al, 0x38
cmp al, 0x10
jne 0x140024d16
test rbx, rbx
je 0x140024d16
movzx r14d, byte [rbx + 0xf6]
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
cmp byte [r15 + rsi], 0
jne 0x140024cef
call fcn.140066538
mov eax, 0x10
mov rcx, qword [rax + rsi]
or dword [rcx + 0x4af8], 8
mov byte [rcx + 0x4b39], r14b
mov dword [rcx + 0x4b04], 1
mov r14d, 0x10
mov eax, dword [rdi + 0xc8]
and eax, 0x1c0
cmp eax, 0x80
jne 0x140024d90
test rbx, rbx
je 0x140024d57
mov esi, dword [rbx + 0x48]
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
cmp byte [r15 + rbx], 0
jne 0x140024d48
call fcn.140066538
mov eax, r14d
mov rcx, qword [rax + rbx]
mov dword [rcx + 0x4b64], esi
jmp 0x140024d86
mov ebx, dword [rdi + 0xc4]
test ebx, ebx
je 0x140024d90
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
cmp byte [r15 + rsi], 0
jne 0x140024d79
call fcn.140066538
mov eax, r14d
mov rcx, qword [rax + rsi]
mov dword [rcx + 0x4b64], ebx
or dword [rcx + 0x4af8], 0x200
mov rax, qword gs:[0x58]
mov r14, qword [rax]
cmp byte [r15 + r14], 0
jne 0x140024da8
call fcn.140066538
mov ebx, 0x10
mov rcx, qword [rbx + r14]
or dword [rcx + 0x4af8], 0x800
movups xmm0, xmmword [rdi + 0x64]
movups xmmword [rcx + 0x4b6c], xmm0
movsd xmm1, qword [rdi + 0x74]
movsd qword [rcx + 0x4b7c], xmm1
mov eax, dword [rdi + 0x7c]
mov dword [rcx + 0x4b84], eax
mov r9d, dword [rdi]
lea r8, str.DockNode__02X
mov edx, 0x14
lea rcx, [rbp - 0x21]
call fcn.140002e10
cmp byte [r15 + r14], 0
jne 0x140024e00
call fcn.140066538
mov rcx, qword [rbx + r14]
or dword [rcx + 0x4af8], 0x40
xor ebx, ebx
mov dword [rcx + 0x4b60], ebx
mov qword [rbp - 0x45], rbx
lea rdx, [rbp - 0x45]
lea ecx, [rbx + 2]
call fcn.140003b40
xor edx, edx
mov r8d, 0x20021139
lea rcx, [rbp - 0x21]
call fcn.14000f4a0
lea ecx, [rbx + 1]
call fcn.140003c00
mov byte [rbp - 0x49], 1
mov rsi, qword [r13 + 0x4148]
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x140024e68
cmp rax, rsi
je 0x140024e68
cmp qword [rax + 0x458], rdi
jne 0x140024e68
mov qword [rax + 0x458], rbx
mov qword [rsi + 0x458], rdi
mov qword [rdi + 0x88], rsi
movss xmm0, dword [rsi + 0x58]
movss xmm1, dword [rsi + 0x5c]
movss dword [rsi + 0x140], xmm0
movss dword [rsi + 0x144], xmm1
movss dword [rdi + 0x48], xmm0
movss dword [rdi + 0x4c], xmm1
movsd xmm0, qword [rsi + 0x60]
movsd qword [rdi + 0x50], xmm0
mov rbx, qword [rdi + 0x88]
cmp byte [rbx + 0xf9], 0
je 0x140024f61
cmp byte [r15 + r14], 0
jne 0x140024ec4
call fcn.140066538
mov eax, 0x10
mov r14, qword [rax + r14]
movsxd rdx, dword [r14 + 0x40e8]
mov r8, qword [r14 + 0x40f0]
mov rcx, qword [r8 + rdx*8 - 8]
cmp rcx, rbx
je 0x140024f61
cmp qword [rcx + 0x3d0], rbx
je 0x140024f61
add edx, 0xfffffffe
js 0x140024f61
movsxd rax, edx
lea rcx, [r8 + rax*8]
nop word [rax + rax]
cmp qword [rcx], rbx
je 0x140024f13
dec edx
sub rcx, 8
sub rax, 1
jns 0x140024f00
jmp 0x140024f61
mov r10, r8
movsxd r9, edx
mov eax, dword [r14 + 0x40e8]
sub eax, edx
dec eax
movsxd r8, eax
shl r8, 3
lea eax, [rdx + 1]
movsxd rcx, eax
lea rdx, [r10 + rcx*8]
lea rcx, [r10 + r9*8]
call sub.VCRUNTIME140.dll_memmove
movsxd rcx, dword [r14 + 0x40e8]
mov rax, qword [r14 + 0x40f0]
mov qword [rax + rcx*8 - 8], rbx
jmp 0x140024f61
mov rsi, qword [rax + 0x88]
mov qword [rdi + 0x88], rsi
and dword [rdi + 0xc8], 0xfffffe00
test byte [rdi + 0xcd], 1
je 0x140024f88
mov rdx, qword [rdi + 0x88]
test rdx, rdx
je 0x140024f88
mov rcx, rdi
call fcn.140024600
mov dword [rdi + 0xc4], 0
cmp qword [rdi + 0x18], 0
jne 0x14002500a
mov rdx, qword [r13 + 0x4ca8]
test rdx, rdx
je 0x14002500a
mov rdx, qword [rdx + 0x3c0]
test rdx, rdx
je 0x14002500a
mov rcx, qword [rdx + 0x450]
test rcx, rcx
je 0x14002500a
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x140024fdc
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140024fd0
cmp rcx, rdi
je 0x140024ffb
mov rax, qword [rcx + 0x88]
test rax, rax
je 0x14002500a
mov rdx, qword [rax + 0x3c0]
test rdx, rdx
jne 0x140024fb1
jmp 0x14002500a
mov rax, qword [rdx + 0x450]
mov ecx, dword [rax]
mov dword [rdi + 0xb8], ecx
mov r14, qword [rdi + 0x98]
cmp qword [rdi + 0x18], 0
jne 0x1400251e8
test rsi, rsi
je 0x1400251e8
test r12b, 8
je 0x1400251e8
test r14, r14
je 0x1400251e8
cmp qword [r14 + 0x20], 0
jne 0x1400251e8
cmp dword [r14 + 0x30], 0
jne 0x1400251e8
mov r15b, 1
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov eax, 8
cmp byte [rax + rbx], 0
jne 0x14002506d
call fcn.140066538
mov eax, 0x10
mov rbx, qword [rax + rbx]
cmp byte [rbx + 0x4ec0], 0
je 0x1400250c6
cmp dword [rbx + 0x4ee4], 0xffffffff
je 0x1400250c6
add rbx, 0x4ed0
je 0x1400250c6
cmp dword [rbx + 0x14], 0xffffffff
je 0x1400250c6
lea rdx, [rbx + 0x18]
lea rcx, str._IMWINDOW
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x1400250c6
mov rdx, qword [rbx]
mov rdx, qword [rdx]
mov rcx, rsi
call fcn.140026980
test al, al
je 0x1400250c6
mov rax, qword [rdi + 0x18]
jmp 0x1400251f8
mov rcx, r14
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x1400250de
mov rcx, rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1400250d2
movss xmm0, dword [rcx + 0x48]
movaps xmm6, xmm0
addss xmm6, dword [rcx + 0x50]
movss xmm8, dword [rcx + 0x4c]
addss xmm8, dword [rcx + 0x54]
movss xmm4, dword [r14 + 0x48]
movaps xmm3, xmm4
addss xmm3, dword [r14 + 0x50]
movss xmm2, dword [r14 + 0x4c]
movaps xmm1, xmm2
addss xmm1, dword [r14 + 0x54]
movss xmm5, dword [0x140090d0c]
comiss xmm4, xmm0
jbe 0x140025126
addss xmm4, xmm5
comiss xmm6, xmm3
jbe 0x14002512f
subss xmm3, xmm5
comiss xmm2, dword [rcx + 0x4c]
jbe 0x140025139
addss xmm2, xmm5
comiss xmm8, xmm1
jbe 0x140025143
subss xmm1, xmm5
comiss xmm4, xmm3
ja 0x1400250bd
comiss xmm2, xmm1
ja 0x1400250bd
subss xmm3, xmm4
cvttss2si edx, xmm3
mov word [rbp - 0x45], dx
subss xmm1, xmm2
cvttss2si r8d, xmm1
mov word [rbp - 0x43], r8w
mov eax, dword [rbp - 0x45]
mov dword [rsi + 0x298], eax
movaps xmm0, xmm4
subss xmm0, dword [rsi + 0x58]
cvttss2si eax, xmm0
mov word [rbp - 0x45], ax
movaps xmm1, xmm2
subss xmm1, dword [rsi + 0x5c]
cvttss2si eax, xmm1
mov word [rbp - 0x43], ax
mov eax, dword [rbp - 0x45]
mov dword [rsi + 0x29c], eax
mov rcx, qword [rsi + 0x3b0]
test rcx, rcx
je 0x1400251eb
mov word [rbp - 0x45], dx
mov word [rbp - 0x43], r8w
mov eax, dword [rbp - 0x45]
mov dword [rcx + 0x298], eax
subss xmm4, dword [rcx + 0x58]
cvttss2si eax, xmm4
mov word [rbp - 0x45], ax
subss xmm2, dword [rcx + 0x5c]
cvttss2si eax, xmm2
mov word [rbp - 0x43], ax
mov eax, dword [rbp - 0x45]
mov dword [rcx + 0x29c], eax
mov rax, qword [rdi + 0x18]
jmp 0x1400251f8
xor r15b, r15b
mov rax, qword [rdi + 0x18]
test rsi, rsi
je 0x14002544c
test rax, rax
jne 0x140025255
xor r9d, r9d
mov r8, qword [rsi + 0x60]
mov rdx, qword [rsi + 0x58]
mov rcx, rdi
call fcn.1400288a0
lea rdx, [r13 + 0x3b38]
mov ecx, 0x1b
call fcn.140003980
lea rdx, [r13 + 0x3ce8]
mov ecx, 0x1d
call fcn.140003980
lea rdx, [r13 + 0x3cd8]
mov ecx, 0x1c
call fcn.140003980
mov rcx, rdi
call fcn.140028d10
mov ecx, 3
call fcn.140003a00
cmp qword [rdi + 0x20], 0
jne 0x140025305
cmp dword [rdi + 0x30], 0
jne 0x140025305
test byte [rdi + 0xcc], 1
je 0x140025305
mov rdx, qword [rsi + 0x2e0]
lea rcx, [rdx + 0xa8]
xor r8d, r8d
call fcn.140038b20
test r12b, 8
je 0x14002529f
mov dword [rdi + 0x80], 0
jmp 0x1400252fe
movss xmm1, dword [0x140090cc0]
mov ecx, 0x27
call fcn.140003820
mov dword [rdi + 0x80], eax
test eax, eax
je 0x1400252fe
lea rdx, [rdi + 0x48]
movss xmm0, dword [rdi + 0x50]
addss xmm0, dword [rdx]
movss dword [rbp - 0x45], xmm0
movss xmm1, dword [rdi + 0x54]
addss xmm1, dword [rdx + 4]
movss dword [rbp - 0x41], xmm1
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x45]
mov rcx, qword [rsi + 0x2e0]
call fcn.140038250
or byte [rdi + 0xcc], 4
test rsi, rsi
je 0x14002544c
cmp qword [rdi + 0x18], 0
jne 0x140025420
test r12b, 8
je 0x140025420
test byte [rdi + 0xcc], 1
je 0x140025420
mov rdx, qword [rsi + 0x2e0]
lea rcx, [rdx + 0xa8]
xor r8d, r8d
call fcn.140038b20
movss xmm1, dword [0x140090cc0]
mov ecx, 2
test r15b, r15b
je 0x1400253d5
call fcn.140003820
movss xmm0, dword [r14 + 0x48]
movss dword [rbp - 0x45], xmm0
movss xmm1, dword [r14 + 0x4c]
movss dword [rbp - 0x41], xmm1
addss xmm0, dword [r14 + 0x50]
movss dword [rbp - 0x3d], xmm0
addss xmm1, dword [r14 + 0x54]
movss dword [rbp - 0x39], xmm1
movss xmm0, dword [rdi + 0x48]
movss dword [rbp - 0x35], xmm0
movss xmm1, dword [rdi + 0x4c]
movss dword [rbp - 0x31], xmm1
addss xmm0, dword [rdi + 0x50]
movss dword [rbp - 0x2d], xmm0
addss xmm1, dword [rdi + 0x54]
movss dword [rbp - 0x29], xmm1
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x45]
lea rdx, [rbp - 0x35]
mov rcx, qword [rsi + 0x2e0]
call fcn.14003cd10
jmp 0x140025420
mov rbx, qword [rsi + 0x2e0]
call fcn.140003820
lea rdx, [rdi + 0x48]
movss xmm0, dword [rdi + 0x50]
addss xmm0, dword [rdx]
movss dword [rbp - 0x45], xmm0
movss xmm1, dword [rdi + 0x54]
addss xmm1, dword [rdx + 4]
movss dword [rbp - 0x41], xmm1
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x45]
mov rcx, rbx
call fcn.140038250
mov rdx, qword [rsi + 0x2e0]
lea rcx, [rdx + 0xa8]
mov r8d, 1
call fcn.140038b20
cmp dword [rdi + 0x30], 0
jle 0x14002544c
mov rdx, rsi
mov rcx, rdi
call fcn.140025710
jmp 0x140025467
movzx eax, byte [rdi + 0xcc]
and al, 0xbf
mov dword [rdi + 0xc0], 0
and al, 0xfd
mov byte [rdi + 0xcc], al
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x14002547f
mov ecx, dword [rax + 0x18]
test ecx, ecx
je 0x14002547f
mov dword [rdi + 0xbc], ecx
jmp 0x140025498
cmp dword [rdi + 0x30], 0
jle 0x140025498
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax]
mov eax, dword [rcx + 0xb8]
mov dword [rdi + 0xbc], eax
test rsi, rsi
je 0x1400254d9
test byte [rdi + 0xcc], 1
je 0x1400254d9
cmp qword [rdi + 0x18], 0
jne 0x1400254d9
mov rax, qword [r13 + 0x4160]
test rax, rax
je 0x1400254c2
cmp qword [rax + 0x3d0], rsi
je 0x1400254d9
mov rcx, rsi
call fcn.14002a310
mov eax, dword [r13 + 0x40a0]
mov dword [rdi + 0xb0], eax
jmp 0x1400254eb
mov eax, dword [r13 + 0x40a0]
mov dword [rdi + 0xb0], eax
test rsi, rsi
je 0x140025516
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x1400254f9
call fcn.140024690
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x140025507
call fcn.140024690
cmp qword [rdi + 0x18], 0
jne 0x140025516
mov rcx, rsi
call fcn.14000df90
cmp byte [rbp - 0x49], 0
je 0x140025521
call fcn.1400121b0
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.1400664b0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm10, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret