Function at 0x140022310
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xe8
mov r8, qword [0x1402f8248]
xor esi, esi
mov rbx, rcx
mov r15, r8
mov eax, dword [r8 + 0x4098]
and byte [rcx + 0xcc], 0xfb
mov dword [rcx + 0xac], eax
mov qword [rcx + 0xa0], rsi
mov qword [rcx + 0x98], rsi
cmp qword [rcx + 0x18], rsi
jne 0x140022497
call fcn.140021f30
xor eax, eax
mov ecx, eax
mov qword [rbp - 0x49], rax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x59], xmm0
cmp dword [rbx + 0x30], eax
jle 0x140022386
inc ecx
mov qword [rbp - 0x51], rbx
mov dword [rbp - 0x49], ecx
mov r8, rbx
jmp 0x14002238a
mov r8, qword [rbp - 0x51]
mov rdx, qword [rbp - 0x59]
mov eax, dword [rbx + 0x10]
shr eax, 0xb
test al, 1
cmovne rdx, rbx
mov qword [rbp - 0x59], rdx
cmp ecx, 1
jle 0x1400223a8
test rdx, rdx
jne 0x1400223e8
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x1400223c8
lea rdx, [rbp - 0x59]
mov rcx, rax
call fcn.140021eb0
mov ecx, dword [rbp - 0x49]
mov rdx, qword [rbp - 0x59]
mov r8, qword [rbp - 0x51]
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x1400223e8
lea rdx, [rbp - 0x59]
mov rcx, rax
call fcn.140021eb0
mov ecx, dword [rbp - 0x49]
mov rdx, qword [rbp - 0x59]
mov r8, qword [rbp - 0x51]
cmp ecx, 1
mov qword [rbx + 0x98], rdx
mov rax, rsi
mov dword [rbx + 0xa8], ecx
cmove rax, r8
mov qword [rbx + 0xa0], rax
cmp dword [rbx + 0xb8], esi
jne 0x14002241c
test r8, r8
je 0x14002247b
mov eax, dword [r8]
mov dword [rbx + 0xb8], eax
test r8, r8
je 0x14002247b
mov rax, qword [r8 + 0x38]
mov r9d, 1
mov rcx, qword [rax]
vmovups ymm0, ymmword [rcx + 0x20]
vmovups ymmword [rbx + 0x64], ymm0
movsxd rax, dword [r8 + 0x30]
cmp eax, r9d
jle 0x14002247b
mov r11, qword [r8 + 0x38]
mov r10, rax
mov r8d, r9d
lea rcx, [r11 + 8]
nop
mov rax, qword [rcx]
cmp byte [rax + 0x3d], sil
je 0x14002246a
inc r9d
inc r8
add rcx, 8
cmp r8, r10
jl 0x140022450
jmp 0x14002247b
movsxd rax, r9d
mov rcx, qword [r11 + rax*8]
vmovups ymm0, ymmword [rcx + 0x20]
vmovups ymmword [rbx + 0x64], ymm0
test rdx, rdx
je 0x140022490
or byte [rdx + 0xcc], 0x20
mov rdx, qword [rdx + 0x18]
test rdx, rdx
jne 0x140022480
mov r8, qword [0x1402f8248]
cmp qword [rbx + 0x40], rsi
je 0x1400224b9
mov eax, dword [rbx + 0x10]
shr eax, 0xc
test al, 1
je 0x1400224b9
mov rcx, rbx
vzeroupper
call fcn.140024950
mov r8, qword [0x1402f8248]
xor r9b, r9b
mov qword [rsp + 0x120], rdi
cmp qword [rbx + 0x18], rsi
jne 0x140022663
test dword [rbx + 0x10], 0x400
jne 0x140022663
mov edx, dword [rbx + 0x30]
cmp edx, 1
jg 0x140022503
cmp qword [rbx + 0x20], rsi
jne 0x140022503
cmp byte [r15 + 0x5a], sil
jne 0x140022503
test edx, edx
je 0x140022500
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax]
cmp byte [rcx + 0x3c], sil
jne 0x140022503
mov r9b, 1
cmp dword [rbx + 0xa8], esi
je 0x140022514
test r9b, r9b
je 0x140022663
cmp edx, 1
jne 0x140022602
mov rax, qword [rbx + 0x38]
mov rdi, qword [rax]
mov eax, dword [rbx + 0xc8]
and eax, 0xfffffebf
bts eax, 7
vmovsd xmm0, qword [rdi + 0x58]
and eax, 0xffffffd7
or eax, 0x10
and eax, 0xfffffffa
or eax, 2
vmovsd qword [rbx + 0x48], xmm0
vmovsd xmm1, qword [rdi + 0x68]
mov dword [rbx + 0xc8], eax
mov rax, qword [rbx + 0x88]
vmovsd qword [rbx + 0x50], xmm1
test rax, rax
je 0x14002257b
cmp qword [r15 + 0x4d00], rax
jne 0x14002257b
xor edx, edx
mov rcx, rdi
vzeroupper
call fcn.140012710
mov r8, qword [rbx + 0x88]
test r8, r8
je 0x1400225f9
test dword [r15 + 0x6294], 0x200
je 0x1400225b9
mov r8, qword [r8 + 0x40]
lea rcx, str._viewport__Node__08X_transfer_Viewport__08X___08X_to_Window__s_n
mov rax, qword [rdi + 8]
mov r9d, dword [rdi + 0x10]
mov edx, dword [rbx]
mov r8d, dword [r8]
mov qword [rsp + 0x20], rax
vzeroupper
call fcn.140029340
mov rax, qword [rbx + 0x88]
mov rdx, qword [rax + 0x40]
mov qword [rdi + 0x40], rdx
mov rax, qword [rbx + 0x88]
mov ecx, dword [rax + 0x48]
mov dword [rdi + 0x48], ecx
mov rax, qword [rbx + 0x88]
cmp byte [rax + 0xf2], sil
je 0x1400225f9
mov eax, dword [rdi + 0x10]
mov dword [rdx], eax
mov rax, qword [rdi + 0x40]
mov qword [rax + 0x60], rdi
mov byte [rdi + 0xf2], 1
mov eax, dword [rdi + 0x48]
mov dword [rbx + 0xc4], eax
mov rcx, rbx
vzeroupper
call fcn.140021e50
movzx eax, byte [rbx + 0xcc]
and al, 0xbf
mov dword [rbx + 0x14], 1
and al, 0xe7
mov dword [rbx + 0xc0], esi
test byte [rbx + 0xcd], 1
mov byte [rbx + 0xcc], al
mov eax, dword [r15 + 0x4098]
mov dword [rbx + 0xb0], eax
je 0x140023042
cmp dword [rbx + 0x30], 1
jne 0x140023042
mov rdx, qword [rbx + 0x38]
mov rcx, rbx
mov rdx, qword [rdx]
call fcn.1400222a0
jmp 0x140023042
test byte [rbx + 0xcc], 1
je 0x1400226e2
cmp qword [rbx + 0x88], rsi
jne 0x1400226e2
cmp qword [rbx + 0x18], rsi
jne 0x1400226e2
test dword [rbx + 0x10], 0x400
jne 0x1400226e2
cmp qword [rbx + 0x20], rsi
jne 0x1400226e2
mov edx, dword [rbx + 0xbc]
test edx, edx
je 0x1400226bd
mov rcx, qword [rbx + 0x38]
movsxd rax, dword [rbx + 0x30]
lea r9, [rcx + rax*8]
cmp rcx, r9
je 0x1400226bd
mov rax, qword [rcx]
cmp dword [rax + 0x10], edx
je 0x1400226b8
add rcx, 8
cmp rcx, r9
jne 0x1400226a5
jmp 0x1400226bd
test rax, rax
jne 0x1400226c4
mov rax, qword [rbx + 0x38]
mov rax, qword [rax]
cmp byte [rax + 0x110], sil
jg 0x1400226d6
cmp byte [rax + 0x111], sil
jle 0x1400226e2
mov dword [rbx + 0x14], 2
jmp 0x140023042
movsxd rdx, dword [rbx + 0x30]
mov qword [rsp + 0xd8], r13
mov r13d, dword [rbx + 0x10]
vmovaps xmmword [rsp + 0x80], xmm10
test edx, edx
jle 0x14002270a
bt r13d, 0xe
jb 0x14002270a
mov cl, 0x10
jmp 0x14002270c
xor cl, cl
movzx eax, byte [rbx + 0xcc]
and al, 0xef
or al, cl
mov ecx, r13d
and al, 0xf7
mov byte [rbx + 0xcc], al
mov r9, qword [rbx + 0x38]
lea r10, [r9 + rdx*8]
cmp r9, r10
je 0x140022777
nop
mov rdx, qword [r9]
movzx eax, byte [rbx + 0xcc]
movzx ecx, byte [rdx + 0xfd]
shl cl, 3
or cl, al
and al, 0xf7
and cl, 8
xor cl, al
cmp dword [rbx + 0x30], 1
mov byte [rbx + 0xcc], cl
movzx eax, byte [rdx + 0x43d]
setg cl
and al, 0xfe
add r9, 8
or cl, al
mov byte [rdx + 0x43d], cl
cmp r9, r10
jne 0x140022730
mov ecx, dword [rbx + 0x10]
bt r13d, 0xf
jae 0x140022785
and byte [rbx + 0xcc], 0xf7
shr ecx, 0xa
mov rdi, rsi
mov byte [rbp + 0x67], sil
vxorps xmm10, xmm10, xmm10
test cl, 1
je 0x1400227a5
mov rdi, qword [rbx + 0x88]
jmp 0x140022a1d
mov rax, qword [rbx + 0x18]
test rax, rax
jne 0x1400229de
test byte [rbx + 0xcc], 1
je 0x1400229f6
cmp dword [rbx + 0x30], esi
jle 0x1400227cd
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax]
jmp 0x1400227d0
mov rcx, rsi
mov eax, dword [rbx + 0xc8]
shl eax, 0x1d
sar eax, 0x1d
cmp eax, 2
jne 0x1400227f5
test rcx, rcx
je 0x140022829
or dword [r8 + 0x4b40], 1
vmovsd xmm0, qword [rcx + 0x58]
jmp 0x140022806
cmp eax, 1
jne 0x140022829
or dword [r8 + 0x4b40], eax
vmovsd xmm0, qword [rbx + 0x48]
mov byte [r8 + 0x4b80], 1
mov dword [r8 + 0x4b44], 1
mov qword [r8 + 0x4b5c], rsi
vmovsd qword [r8 + 0x4b54], xmm0
mov eax, dword [rbx + 0xc8]
shl eax, 0x1a
sar eax, 0x1d
cmp eax, 2
jne 0x14002284d
test rcx, rcx
je 0x140022873
or dword [r8 + 0x4b40], eax
vmovsd xmm0, qword [rcx + 0x68]
jmp 0x14002285f
cmp eax, 1
jne 0x140022873
or dword [r8 + 0x4b40], 2
vmovsd xmm0, qword [rbx + 0x50]
mov dword [r8 + 0x4b48], 1
vmovsd qword [r8 + 0x4b64], xmm0
mov eax, dword [rbx + 0xc8]
and al, 0x38
cmp al, 0x10
jne 0x1400228a5
test rcx, rcx
je 0x1400228a5
movzx eax, byte [rcx + 0xf6]
or dword [r8 + 0x4b40], 8
mov byte [r8 + 0x4b81], al
mov dword [r8 + 0x4b4c], 1
mov eax, dword [rbx + 0xc8]
and eax, 0x1c0
cmp eax, 0x80
jne 0x1400228dd
test rcx, rcx
je 0x1400228c1
mov eax, dword [rcx + 0x48]
jmp 0x1400228cb
mov eax, dword [rbx + 0xc4]
test eax, eax
je 0x1400228dd
or dword [r8 + 0x4b40], 0x200
mov dword [r8 + 0x4bac], eax
or dword [r8 + 0x4b40], 0x800
lea rcx, [rbp - 0x41]
vmovups ymm0, ymmword [rbx + 0x64]
vmovups ymmword [r8 + 0x4bb4], ymm0
mov r9d, dword [rbx]
lea r8, str.DockNode__02X
mov edx, 0x14
vzeroupper
call fcn.140003490
mov rax, qword [0x1402f8248]
lea rdx, [rbp + 0x67]
mov ecx, 2
vmovss dword [rbp + 0x67], xmm10
vmovss dword [rbp + 0x6b], xmm10
or dword [rax + 0x4b40], 0x40
mov dword [rax + 0x4ba8], esi
call fcn.140004b60
xor edx, edx
lea rcx, [rbp - 0x41]
mov r8d, 0x20021139
call fcn.14000f540
mov ecx, 1
call fcn.140004bf0
mov rax, qword [rbx + 0x88]
mov rdi, qword [r15 + 0x4140]
mov byte [rbp + 0x67], 1
test rax, rax
je 0x140022984
cmp rax, rdi
je 0x140022984
cmp qword [rax + 0x460], rbx
jne 0x140022984
mov qword [rax + 0x460], rsi
mov qword [rdi + 0x460], rbx
mov qword [rbx + 0x88], rdi
vmovss xmm0, dword [rdi + 0x58]
vmovss xmm1, dword [rdi + 0x5c]
vmovss dword [rdi + 0x140], xmm0
vmovss dword [rdi + 0x144], xmm1
mov rcx, qword [rbx + 0x88]
vmovss dword [rbx + 0x48], xmm0
vmovss dword [rbx + 0x4c], xmm1
vmovsd xmm0, qword [rdi + 0x60]
vmovsd qword [rbx + 0x50], xmm0
cmp byte [rcx + 0xf9], sil
je 0x1400229d5
call fcn.140012660
mov r8, qword [0x1402f8248]
jmp 0x1400229ec
mov rdi, qword [rax + 0x88]
mov qword [rbx + 0x88], rdi
and dword [rbx + 0xc8], 0xfffffe00
test byte [rbx + 0xcd], 1
je 0x140022a1d
mov rdx, qword [rbx + 0x88]
test rdx, rdx
je 0x140022a1d
mov rcx, rbx
vzeroupper
call fcn.1400222a0
mov r8, qword [0x1402f8248]
mov dword [rbx + 0xc4], esi
cmp qword [rbx + 0x18], rsi
jne 0x140022a9a
mov rdx, qword [r15 + 0x4d00]
test rdx, rdx
je 0x140022a9a
mov rdx, qword [rdx + 0x3c0]
test rdx, rdx
je 0x140022a9a
mov rcx, qword [rdx + 0x458]
test rcx, rcx
je 0x140022a9a
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x140022a6c
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140022a60
cmp rcx, rbx
je 0x140022a8b
mov rdx, qword [rcx + 0x88]
test rdx, rdx
je 0x140022a9a
mov rdx, qword [rdx + 0x3c0]
test rdx, rdx
jne 0x140022a41
jmp 0x140022a9a
mov rax, qword [rdx + 0x458]
mov ecx, dword [rax]
mov dword [rbx + 0xb8], ecx
cmp qword [rbx + 0x18], 0
mov rsi, qword [rbx + 0x98]
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0xd0], r14
vmovaps xmmword [rsp + 0xc0], xmm6
jne 0x140022c9a
test rdi, rdi
je 0x140022c9a
test r13b, 8
je 0x140022c9a
test rsi, rsi
je 0x140022c9a
cmp qword [rsi + 0x20], 0
jne 0x140022c9a
cmp dword [rsi + 0x30], 0
jne 0x140022c9a
cmp byte [r8 + 0x4f34], 0
mov r12b, 1
je 0x140022b4d
cmp dword [r8 + 0x4f5c], 0xffffffff
je 0x140022b4d
lea r14, [r8 + 0x4f48]
test r14, r14
je 0x140022b4d
cmp dword [r14 + 0x14], 0xffffffff
je 0x140022b4d
lea rdx, [r14 + 0x18]
lea rcx, str._IMWINDOW
vzeroupper
call fcn.14010e0a0
test eax, eax
jne 0x140022b4d
mov rdx, qword [r14]
mov rcx, rdi
mov rdx, qword [rdx]
call fcn.140024a70
test al, al
jne 0x140022c9d
mov rax, qword [rsi + 0x18]
mov rcx, rsi
vmovaps xmmword [rsp + 0xb0], xmm7
vmovaps xmmword [rsp + 0xa0], xmm8
vmovaps xmmword [rsp + 0x90], xmm9
test rax, rax
je 0x140022b80
mov rcx, rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140022b74
vmovss xmm2, dword [rsi + 0x48]
vmovss xmm0, dword [rcx + 0x48]
vaddss xmm3, xmm0, dword [rcx + 0x50]
vaddss xmm6, xmm2, dword [rsi + 0x50]
vcomiss xmm6, xmm3
vmovss xmm7, dword [0x1401442a4]
vmovss xmm8, dword [rcx + 0x4c]
vmovss xmm4, dword [rsi + 0x4c]
vaddss xmm9, xmm8, dword [rcx + 0x54]
vaddss xmm5, xmm4, dword [rsi + 0x54]
vcmpltss xmm0, xmm0, xmm2
vaddss xmm1, xmm2, xmm7
vblendvps xmm2, xmm2, xmm1, xmm0
jae 0x140022bc9
vsubss xmm6, xmm6, xmm7
vcomiss xmm4, xmm8
vmovaps xmm8, xmmword [rsp + 0xa0]
jbe 0x140022bdd
vaddss xmm4, xmm4, xmm7
vcomiss xmm5, xmm9
vmovaps xmm9, xmmword [rsp + 0x90]
jae 0x140022bf1
vsubss xmm5, xmm5, xmm7
vcomiss xmm2, xmm6
vmovaps xmm7, xmmword [rsp + 0xb0]
ja 0x140022caf
vcomiss xmm4, xmm5
ja 0x140022caf
mov rcx, qword [rdi + 0x3b0]
vsubss xmm0, xmm6, xmm2
vcvttss2si edx, xmm0
mov word [rbp + 0x6f], dx
vsubss xmm0, xmm5, xmm4
vcvttss2si r8d, xmm0
mov word [rbp + 0x71], r8w
mov eax, dword [rbp + 0x6f]
mov dword [rdi + 0x298], eax
vsubss xmm0, xmm2, dword [rdi + 0x58]
vsubss xmm1, xmm4, dword [rdi + 0x5c]
vcvttss2si eax, xmm0
mov word [rbp + 0x6f], ax
vcvttss2si eax, xmm1
mov word [rbp + 0x71], ax
mov eax, dword [rbp + 0x6f]
mov dword [rdi + 0x29c], eax
test rcx, rcx
je 0x140022c9d
mov word [rbp + 0x6f], dx
mov word [rbp + 0x71], r8w
mov eax, dword [rbp + 0x6f]
mov dword [rcx + 0x298], eax
vsubss xmm0, xmm2, dword [rcx + 0x58]
vsubss xmm1, xmm4, dword [rcx + 0x5c]
vcvttss2si eax, xmm0
mov word [rbp + 0x6f], ax
vcvttss2si eax, xmm1
mov word [rbp + 0x71], ax
mov eax, dword [rbp + 0x6f]
mov dword [rcx + 0x29c], eax
mov rax, qword [rbx + 0x18]
jmp 0x140022caa
xor r12b, r12b
mov rax, qword [rbx + 0x18]
test rdi, rdi
je 0x140022ddc
test rax, rax
jne 0x140022d0a
mov r8, qword [rdi + 0x60]
xor r9d, r9d
mov rdx, qword [rdi + 0x58]
mov rcx, rbx
vzeroupper
call fcn.1400268b0
lea rdx, [r15 + 0x3b30]
mov ecx, 0x1b
call fcn.140004a00
lea rdx, [r15 + 0x3ce0]
mov ecx, 0x1d
call fcn.140004a00
lea rdx, [r15 + 0x3cd0]
mov ecx, 0x1c
call fcn.140004a00
mov rcx, rbx
call fcn.140026cc0
mov ecx, 3
call fcn.140004a80
cmp qword [rbx + 0x20], 0
jne 0x140022ddc
cmp dword [rbx + 0x30], 0
jne 0x140022ddc
test byte [rbx + 0xcc], 1
je 0x140022ddc
mov rdx, qword [rdi + 0x2e0]
xor r8d, r8d
lea rcx, [rdx + 0xa8]
vzeroupper
call fcn.1400356a0
test r13b, 8
je 0x140022d5a
mov dword [rbx + 0x84], 0
jmp 0x140022dd5
mov rax, qword [0x1402f8248]
lea rcx, [rbp - 0x69]
vmovups xmm0, xmmword [rax + 0x3d50]
vmovups xmmword [rbp - 0x69], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
vmovss dword [rbp - 0x5d], xmm0
call fcn.140004140
mov dword [rbx + 0x84], eax
test eax, eax
je 0x140022dd5
vmovss xmm2, dword [rbx + 0x54]
mov rcx, qword [rdi + 0x2e0]
lea rdx, [rbx + 0x48]
vmovss xmm0, dword [rdx]
vaddss xmm1, xmm0, dword [rbx + 0x50]
vaddss xmm0, xmm2, dword [rdx + 4]
mov dword [rsp + 0x28], 0
lea r8, [rbp + 0x6f]
mov r9d, eax
vmovss dword [rbp + 0x73], xmm0
vmovss dword [rbp + 0x6f], xmm1
vmovss dword [rsp + 0x20], xmm10
call fcn.140034af0
or byte [rbx + 0xcc], 4
mov r14, qword [rsp + 0xd0]
vmovaps xmm6, xmmword [rsp + 0xc0]
test rdi, rdi
je 0x140022f45
cmp qword [rbx + 0x18], 0
jne 0x140022f16
test r13b, 8
je 0x140022f16
test byte [rbx + 0xcc], 1
je 0x140022f16
mov rdx, qword [rdi + 0x2e0]
xor r8d, r8d
lea rcx, [rdx + 0xa8]
vzeroupper
call fcn.1400356a0
mov rax, qword [0x1402f8248]
lea rcx, [rbp - 0x59]
vmovups xmm0, xmmword [rax + 0x3b00]
vmovups xmmword [rbp - 0x59], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
vmovss dword [rbp - 0x4d], xmm0
test r12b, r12b
je 0x140022ece
vmovss xmm1, dword [rsi + 0x48]
vaddss xmm0, xmm1, dword [rsi + 0x50]
vmovss xmm2, dword [rsi + 0x4c]
vmovss dword [rbp - 0x79], xmm1
vaddss xmm1, xmm2, dword [rsi + 0x54]
vmovss dword [rbp - 0x6d], xmm1
vmovss xmm1, dword [rbx + 0x4c]
vmovss dword [rbp - 0x71], xmm0
vmovss xmm0, dword [rbx + 0x48]
vmovss dword [rbp - 0x65], xmm1
vaddss xmm1, xmm1, dword [rbx + 0x54]
vmovss dword [rbp - 0x69], xmm0
vaddss xmm0, xmm0, dword [rbx + 0x50]
vmovss dword [rbp - 0x5d], xmm1
vmovss dword [rbp - 0x75], xmm2
vmovss dword [rbp - 0x61], xmm0
call fcn.140004140
mov rcx, qword [rdi + 0x2e0]
lea rdx, [rbp - 0x69]
mov r9d, eax
lea r8, [rbp - 0x79]
call fcn.140039f20
jmp 0x140022f16
vmovss xmm0, dword [rbx + 0x48]
vaddss xmm1, xmm0, dword [rbx + 0x50]
vmovss xmm2, dword [rbx + 0x4c]
vaddss xmm0, xmm2, dword [rbx + 0x54]
vmovss dword [rbp + 0x73], xmm0
vmovss dword [rbp + 0x6f], xmm1
call fcn.140004140
mov rcx, qword [rdi + 0x2e0]
lea rdx, [rbx + 0x48]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rbp + 0x6f]
vmovss dword [rsp + 0x20], xmm10
call fcn.140034af0
mov rdx, qword [rdi + 0x2e0]
mov r8d, 1
lea rcx, [rdx + 0xa8]
vzeroupper
call fcn.1400356a0
cmp dword [rbx + 0x30], 0
jle 0x140022f45
mov rdx, rdi
mov rcx, rbx
call fcn.140023370
jmp 0x140022f60
movzx eax, byte [rbx + 0xcc]
and al, 0xbf
mov dword [rbx + 0xc0], 0
and al, 0xfd
mov byte [rbx + 0xcc], al
mov rax, qword [rbx + 0x40]
mov r13, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
vmovaps xmm10, xmmword [rsp + 0x80]
test rax, rax
je 0x140022f91
mov ecx, dword [rax + 0x18]
test ecx, ecx
je 0x140022f91
mov dword [rbx + 0xbc], ecx
jmp 0x140022faa
cmp dword [rbx + 0x30], 0
jle 0x140022faa
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax]
mov eax, dword [rcx + 0xb8]
mov dword [rbx + 0xbc], eax
test rdi, rdi
je 0x140022fee
test byte [rbx + 0xcc], 1
je 0x140022fee
cmp qword [rbx + 0x18], 0
jne 0x140022fee
mov rax, qword [r15 + 0x4158]
test rax, rax
je 0x140022fd4
cmp qword [rax + 0x3d0], rdi
je 0x140022fee
mov rcx, rdi
vzeroupper
call fcn.140027f30
mov eax, dword [r15 + 0x4098]
mov dword [rbx + 0xb0], eax
jmp 0x140023000
mov eax, dword [r15 + 0x4098]
mov dword [rbx + 0xb0], eax
test rdi, rdi
je 0x140023034
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140023011
vzeroupper
call fcn.140022310
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x140023022
vzeroupper
call fcn.140022310
cmp qword [rbx + 0x18], 0
jne 0x140023034
mov rcx, rdi
vzeroupper
call fcn.14000e310
cmp byte [rbp + 0x67], 0
je 0x140023042
vzeroupper
call fcn.140012340
vzeroupper
mov rdi, qword [rsp + 0x120]
add rsp, 0xe8
pop r15
pop rsi
pop rbx
pop rbp
ret