Function at 0x140024ea0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rbp
push rsi
push r12
push r14
push r15
lea rbp, [r11 - 0x38]
sub rsp, 0x110
mov rax, qword [0x140079008]
xor rax, rsp
mov qword [rbp], rax
mov eax, dword [rcx + 0xc]
xor esi, esi
mov qword [r11 + 0x10], rdi
mov r12d, esi
mov r15d, esi
mov dword [rsp + 0x38], esi
mov rbx, rcx
mov qword [r11 + 0x18], r13
mov r14d, 0x101
test eax, eax
jne 0x140024eff
lea edx, [rax + 5]
mov rcx, rbx
call fcn.14000e6c0
test eax, eax
jne 0x140025cf2
mov rax, qword [rbx + 0xc0]
cmp byte [rax], 0x16
jne 0x140025ced
movzx ecx, byte [rax + 1]
mov rax, qword [rbx]
mov edx, dword [rax + 0x17c]
mov eax, r14d
sub eax, ecx
and edx, 2
cmove eax, ecx
cmp eax, 3
jl 0x140025ced
test edx, edx
je 0x140024f90
cmp dword [rbx + 0xc], esi
jne 0x140024f90
mov rcx, qword [rbx + 0xb8]
cmp byte [rcx], sil
jne 0x140025ced
cmp byte [rcx + 1], sil
jne 0x140025ced
mov eax, dword [rcx + 2]
mov dword [rbx + 0x182], eax
movzx eax, word [rcx + 6]
mov rcx, rbx
mov word [rbx + 0x186], ax
call fcn.14000f730
test eax, eax
je 0x140024f88
mov qword [rbx + 0x108], rsi
mov eax, esi
mov qword [rbx + 0xf8], rsi
jmp 0x140024ee8
mov rcx, rbx
call fcn.14000f7b0
mov rax, qword [rbx + 0xc8]
movzx edi, byte [rax]
movzx eax, byte [rax + 1]
shl rdi, 8
or rdi, rax
cmp dword [rbx + 0xc], esi
je 0x140024fb3
mov rdi, qword [rbx + 0x120]
jmp 0x140025013
cmp rdi, 0x4000
ja 0x140025ced
mov rax, qword [rbx]
mov rcx, rbx
mov edx, dword [rax + 0x17c]
and edx, 2
shl rdx, 2
or rdx, 5
add rdx, rdi
call fcn.14000e6c0
test eax, eax
jne 0x140025cf2
mov rax, qword [rbx]
mov ecx, dword [rax + 0x17c]
test cl, 2
je 0x14002500c
and ecx, 2
shl rcx, 2
or rcx, 5
add rcx, rdi
mov qword [rbx + 0x108], rcx
jmp 0x140025013
mov qword [rbx + 0xf8], rsi
mov rsi, qword [rbx + 0xd8]
mov r8, rdi
mov rax, qword [rbx + 0x70]
mov rdx, rsi
mov rcx, rbx
call qword [rax + 0x680]
mov rax, qword [rbx]
mov r8d, dword [rax + 0x17c]
mov edx, r8d
and edx, 2
or rdx, 1
lea rax, [rdx*4]
cmp rdi, rax
jb 0x140025ced
cmp byte [rsi], 1
jne 0x140025ced
cmp byte [rsi + 1], r12b
jne 0x140025ced
movzx eax, byte [rsi + 3]
movzx ecx, byte [rsi + 2]
shl rcx, 8
or rcx, rax
lea rax, [rcx + rdx*4]
cmp rdi, rax
jne 0x140025ced
test r8b, 2
je 0x140025105
mov rax, qword [rbx + 0xd8]
mov rdx, qword [rbx + 0x70]
movzx ecx, byte [rax + 4]
movzx eax, byte [rax + 5]
shl ecx, 8
or ecx, eax
cmp dword [rbx + 0xc], 1
jne 0x1400250bd
mov eax, dword [rdx + 0x3ac]
cmp ecx, eax
jne 0x140025ced
inc eax
mov dword [rdx + 0x3ac], eax
jmp 0x1400250cf
mov dword [rdx + 0x3a8], ecx
inc ecx
mov rax, qword [rbx + 0x70]
mov dword [rax + 0x3ac], ecx
mov rcx, qword [rbx + 0xd8]
cmp byte [rcx + 6], r12b
jne 0x1400250fb
cmp byte [rcx + 7], r12b
jne 0x1400250fb
cmp byte [rcx + 8], r12b
jne 0x1400250fb
movzx eax, word [rcx + 1]
cmp ax, word [rcx + 9]
jne 0x1400250fb
movzx eax, byte [rcx + 3]
cmp al, byte [rcx + 0xb]
je 0x140025105
mov eax, 0xffff8f80
jmp 0x140025cf2
mov rax, qword [rbx]
mov edx, dword [rax + 0x17c]
mov eax, edx
and eax, 2
or rax, 1
lea rax, [rax*4]
add rsi, rax
sub rdi, rax
cmp rdi, 0x26
jb 0x140025ced
movzx ecx, byte [rsi]
mov r13d, 2
test r13b, dl
je 0x14002515b
sub r14d, ecx
mov ecx, pe_nt_image_headers64
mov dword [rbx + 0x14], r14d
movzx eax, byte [rsi + 1]
sub ecx, eax
cmp ecx, 1
cmove ecx, r13d
mov dword [rbx + 0x18], ecx
jmp 0x140025168
mov dword [rbx + 0x14], ecx
mov r14d, ecx
movzx eax, byte [rsi + 1]
mov dword [rbx + 0x18], eax
mov rax, qword [rbx + 0x70]
mov dword [rax + 0xb18], r14d
mov rcx, qword [rbx + 0x70]
mov eax, dword [rbx + 0x18]
mov dword [rcx + 0xb1c], eax
mov rcx, qword [rbx]
mov r8d, dword [rbx + 0x14]
movzx eax, byte [rcx + 0x17a]
cmp r8d, eax
jl 0x140025d26
movzx eax, byte [rcx + 0x17b]
mov edx, dword [rbx + 0x18]
cmp edx, eax
jl 0x140025d26
movzx eax, byte [rcx + 0x178]
cmp r8d, eax
jle 0x1400251c1
mov dword [rbx + 0x14], eax
movzx eax, byte [rcx + 0x179]
jmp 0x1400251cc
movzx eax, byte [rcx + 0x179]
cmp edx, eax
jle 0x1400251cf
mov dword [rbx + 0x18], eax
mov rax, qword [rbx + 0x70]
movups xmm0, xmmword [rsi + 2]
movups xmmword [rax + 0x6b0], xmm0
movups xmm1, xmmword [rsi + 0x12]
movups xmmword [rax + 0x6c0], xmm1
movzx r14d, byte [rsi + 0x22]
cmp r14, 0x20
ja 0x140025cb8
lea rax, [r14 + 0x24]
cmp rax, rdi
ja 0x140025cb8
mov rax, qword [rbx + 0x68]
lea rdx, [rsi + 0x23]
xorps xmm0, xmm0
mov qword [rax + 0x10], r14
mov rax, qword [rbx + 0x68]
movups xmmword [rax + 0x18], xmm0
movups xmmword [rax + 0x28], xmm0
mov r8, qword [rbx + 0x68]
lea rcx, [r8 + 0x18]
mov r8, qword [r8 + 0x10]
call fcn.14004e150
mov r10, qword [rbx]
lea rcx, [r14 + 0x23]
test byte [r10 + 0x17c], r13b
je 0x1400252df
movzx r8d, byte [rcx + rsi]
lea rdx, [rcx + rsi]
lea r14, [r8 + rcx]
lea rax, [r14 + 3]
cmp rax, rdi
jbe 0x14002528f
test r10, r10
je 0x140025ced
mov rax, qword [rbx + 0x160]
mov dword [rbx + 0x168], 0x15
mov qword [rbx + 0x170], r13
mov byte [rax], r13b
mov rax, qword [rbx + 0x160]
mov byte [rax + 1], 0x46
jmp 0x140025ce3
mov r11, qword [r10 + 0x90]
test r11, r11
je 0x1400252d2
cmp dword [rbx + 0xc], r12d
jne 0x1400252d2
mov rax, qword [rbx + 0x1a8]
inc rdx
mov r9, qword [rbx + 0x1a0]
mov rcx, qword [r10 + 0x98]
mov qword [rsp + 0x20], rax
call r11
mov rcx, qword [rbx + 0x70]
test eax, eax
setne al
mov byte [rcx + 0x3b8], al
jmp 0x1400252db
test r8, r8
jne 0x140025ced
lea rcx, [r14 + 1]
movzx eax, byte [rcx + rsi]
lea r13, [rcx + rsi]
movzx r9d, byte [r13 + 1]
shl rax, 8
or r9, rax
mov qword [rsp + 0x40], r9
cmp r9, 2
jb 0x140025384
lea rdx, [r9 + rcx]
lea rax, [rdx + 3]
cmp rax, rdi
ja 0x140025384
test r9b, 1
jne 0x140025384
movzx ecx, byte [rdx + rsi + 2]
lea rax, [rcx - 1]
cmp rax, 0xf
ja 0x140025384
add rcx, 3
add rcx, rdx
cmp rcx, rdi
ja 0x140025384
mov rax, qword [rbx + 0x68]
mov dword [rax + 0xc], r12d
mov rax, qword [rbx]
test byte [rax + 0x17c], 2
je 0x14002534c
mov rax, qword [rbx + 0x68]
mov dword [rax + 0xc], r12d
cmp rdi, rcx
jbe 0x1400253b1
lea rax, [rcx + 2]
cmp rdi, rax
jb 0x140025384
movzx eax, byte [rcx + rsi]
lea rdx, [rcx + rsi]
movzx r14d, byte [rdx + 1]
shl rax, 8
or r14, rax
lea rax, [r14 - 1]
cmp rax, 2
jbe 0x140025384
lea rax, [rcx + 2]
add rax, r14
cmp rdi, rax
je 0x1400253b8
cmp qword [rbx], r12
je 0x140025ced
mov rax, qword [rbx + 0x160]
mov dword [rbx + 0x168], 0x15
mov qword [rbx + 0x170], 2
mov byte [rax], 2
jmp 0x140025cd8
xor r14d, r14d
lea rdx, [rcx + rsi]
lea rdi, [rdx + 2]
test r14, r14
je 0x140025478
lea r8, [0x140000000]
nop dword [rax]
cmp r14, 4
jb 0x140025951
movzx edx, byte [rdi + 2]
movzx eax, byte [rdi + 3]
shl edx, 8
or edx, eax
lea r15d, [rdx + 4]
cmp r15, r14
ja 0x140025951
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
shl ecx, 8
or ecx, eax
cmp ecx, 0xff01
ja case.0x140025427.10
je 0x14002583b
cmp ecx, 0x23
ja case.0x140025427.10
movzx eax, byte [r8 + rcx + 0x25d90]
mov ecx, dword [r8 + rax*4 + 0x25d64]
add rcx, r8
jmp rcx
mov rax, qword [rbx]
cmp qword [rax + 0x58], 0
je case.0x140025427.10
mov r8d, edx
mov rcx, rbx
lea rdx, [rdi + 4]
call fcn.140024500
test eax, eax
jne 0x140025cf2
lea r8, [0x140000000]
sub r14, r15
add rdi, r15
lea rax, [r14 - 1]
cmp rax, 2
jbe 0x140025951
test r14, r14
jne 0x1400253d0
mov r15d, dword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
lea r8, [r13 + 2]
xor eax, eax
mov qword [rsp + 0x48], r8
mov rcx, r8
cmp byte [rcx], 0x56
jne 0x140025497
cmp byte [r8 + rax + 1], 0
je 0x14002595a
add rcx, 2
add rax, 2
cmp rax, r9
jb 0x140025486
mov r10d, 4
test r15d, r15d
jne 0x1400254ec
mov rax, qword [rbx]
mov rcx, qword [rax + 0xf0]
test rcx, rcx
je 0x1400254d6
mov eax, dword [rcx]
test eax, eax
je 0x1400254d6
cmp eax, r10d
je 0x1400259a5
add rcx, r10
mov eax, dword [rcx]
test eax, eax
jne 0x1400254c4
mov eax, 0xffffffff
xor ecx, ecx
test eax, eax
mov rax, qword [rbx + 0x70]
cmove ecx, r10d
mov dword [rax], ecx
mov dword [rax + 4], ecx
mov rcx, r8
xor eax, eax
cmp byte [rcx], 0
jne 0x140025502
cmp byte [rax + r8 + 1], 0xff
je 0x1400259ac
add rcx, 2
add rax, 2
cmp rax, r9
jb 0x1400254f1
jmp 0x1400259c2
mov r8d, edx
mov rcx, rbx
lea rdx, [rdi + 4]
call fcn.1400246b0
test eax, eax
jne 0x140025cf2
mov dword [rsp + 0x38], 1
jmp 0x14002544a
mov r8d, edx
mov rcx, rbx
lea rdx, [rdi + 4]
call fcn.140024870
jmp 0x140025442
mov rax, qword [rbx + 0x70]
mov r8d, edx
or dword [rax + 0xb20], 1
test edx, edx
je 0x140025951
movzx ecx, byte [rdi + 4]
lea rax, [rcx + 1]
cmp rax, r8
jne 0x140025951
lea rax, [rdi + 5]
test rcx, rcx
je 0x14002544a
movzx edx, byte [rax]
cmp dl, 2
jb 0x140025596
inc rax
sub rcx, 1
jne 0x140025580
jmp 0x14002544a
mov rax, qword [rbx + 0x70]
mov dword [rax + 0x2b8], edx
jmp 0x14002544a
cmp edx, 1
jne 0x140025918
movzx ecx, byte [rdi + 4]
cmp cl, 5
jae 0x140025918
mov rax, qword [rbx + 0x68]
mov byte [rax + 0x8c], cl
jmp case.0x140025427.10
test edx, edx
jne 0x140025951
mov rax, qword [rbx]
test dword [rax + 0x17c], 0x8000
je case.0x140025427.10
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x90], 1
jmp case.0x140025427.10
test edx, edx
jne 0x140025951
mov rax, qword [rbx]
test dword [rax + 0x17c], 0x400
je case.0x140025427.10
cmp dword [rbx + 0x18], edx
je case.0x140025427.10
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x94], 1
jmp case.0x140025427.10
test edx, edx
jne 0x140025951
mov rax, qword [rbx]
test dword [rax + 0x17c], 0x800
je case.0x140025427.10
cmp dword [rbx + 0x18], edx
je case.0x140025427.10
mov rax, qword [rbx + 0x70]
mov dword [rax + 0xb28], 1
jmp case.0x140025427.10
xorps xmm0, xmm0
mov r9d, edx
xor eax, eax
mov qword [rbp - 0x10], rax
mov rax, qword [rbx]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
cmp qword [rax + 0xa8], 0
je case.0x140025427.10
cmp qword [rax + 0xa0], 0
je case.0x140025427.10
mov rax, qword [rbx + 0x70]
mov dword [rax + 0xb24], 1
test edx, edx
je case.0x140025427.10
cmp dword [rbx + 0xc], 0
jne case.0x140025427.10
mov rax, qword [rbx]
lea r8, [rdi + 4]
lea rdx, [rsp + 0x60]
mov rcx, qword [rax + 0xb0]
call qword [rax + 0xa8]
test eax, eax
je 0x140025737
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140025713
call fcn.14001b1f0
mov rcx, qword [rbp - 0x38]
call fcn.14004f7d8
mov qword [rbp - 0x38], 0
mov rcx, qword [rbp - 0x28]
call fcn.14004f7d8
mov rax, qword [fcn.14004d760]
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8d, 0x98
call rax
jmp 0x14002544a
mov rsi, qword [rbx + 0x68]
lea rcx, [rsp + 0x78]
mov r8, qword [rsi + 0x10]
lea rdx, [rsi + 0x18]
mov qword [rsp + 0x70], r8
call fcn.14004e150
test rsi, rsi
je 0x140025793
mov rcx, qword [rsi + 0x68]
test rcx, rcx
je 0x140025776
call fcn.14001b1f0
mov rcx, qword [rsi + 0x68]
call fcn.14004f7d8
mov qword [rsi + 0x68], 0
mov rcx, qword [rsi + 0x78]
call fcn.14004f7d8
mov rax, qword [fcn.14004d760]
xor edx, edx
mov r8d, 0x98
mov rcx, rsi
call rax
mov rax, qword [rbx + 0x68]
lea rcx, [rsp + 0x60]
movaps xmm0, xmmword [rsp + 0x60]
xor edx, edx
mov r8d, 0x98
movups xmmword [rax], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [rbp - 0x80]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [rbp - 0x70]
movups xmmword [rax + 0x30], xmm1
movaps xmm0, xmmword [rbp - 0x60]
movups xmmword [rax + 0x40], xmm0
movaps xmm1, xmmword [rbp - 0x50]
movups xmmword [rax + 0x50], xmm1
movaps xmm0, xmmword [rbp - 0x40]
movups xmmword [rax + 0x60], xmm0
movaps xmm1, xmmword [rbp - 0x30]
movups xmmword [rax + 0x70], xmm1
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [rax + 0x80], xmm0
movsd xmm1, qword [rbp - 0x10]
movsd qword [rax + 0x90], xmm1
mov rax, qword [fcn.14004d760]
call rax
mov rax, qword [rbx + 0x70]
mov dword [rax + 0xb14], 1
mov rax, qword [rbx + 0x70]
mov dword [rax + 0xb24], 0
jmp 0x14002544a
mov r8d, edx
mov rcx, rbx
lea rdx, [rdi + 4]
call fcn.140024a00
jmp 0x140025442
cmp dword [rbx + 0xc], 0
mov r12d, 1
mov ecx, edx
je 0x140025901
mov rdx, qword [rbx + 0x1b8]
lea rax, [rdx + 1]
cmp rcx, rax
jne 0x1400258c4
movzx eax, byte [rdi + 4]
cmp rax, rdx
jne 0x1400258c4
cmp qword [rbx + 0x1b8], 0
lea r8, [rdi + 5]
lea r9, [rbx + 0x1cc]
mov byte [rsp + 0x30], 0
jbe 0x1400258b7
mov rdx, r9
sub r8, r9
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
movzx ecx, byte [rdx]
inc rdx
xor cl, al
movzx eax, byte [rsp + 0x30]
or cl, al
mov rax, rdx
sub rax, r9
mov byte [rsp + 0x30], cl
cmp rax, qword [rbx + 0x1b8]
jb 0x140025890
movzx eax, byte [rsp + 0x30]
test al, al
je 0x14002544a
cmp qword [rbx], 0
je 0x140025ced
mov rax, qword [rbx + 0x160]
movzx edx, r12b
mov dword [rbx + 0x168], 0x15
mov qword [rbx + 0x170], 2
mov byte [rax], 2
mov rax, qword [rbx + 0x160]
mov byte [rax + 1], 0x28
jmp 0x140025ce5
cmp rcx, r12
jne 0x1400258c4
cmp byte [rdi + 4], 0
jne 0x1400258c4
mov dword [rbx + 0x1b0], r12d
jmp case.0x140025427.10
cmp qword [rbx], 0
je 0x140025ced
mov rax, qword [rbx + 0x160]
mov dword [rbx + 0x168], 0x15
mov qword [rbx + 0x170], 2
mov byte [rax], 2
mov rax, qword [rbx + 0x160]
mov byte [rax + 1], 0x2f
jmp 0x140025ce3
cmp qword [rbx], 0
jmp 0x140025387
mov rcx, qword [rbx]
movzx eax, byte [rcx + 0x179]
cmp dword [rbx + 0x18], eax
jge 0x1400254a4
test rcx, rcx
je 0x140025ced
mov rax, qword [rbx + 0x160]
mov dword [rbx + 0x168], 0x15
mov qword [rbx + 0x170], 2
mov byte [rax], 2
mov rax, qword [rbx + 0x160]
mov byte [rax + 1], 0x56
jmp 0x140025ce3
xor eax, eax
jmp 0x1400254db
cmp dword [rbx + 0xc], 1
jne 0x1400259b8
cmp qword [rbx], 0
jmp 0x140025a0a
mov dword [rbx + 0x1b0], 1
mov edx, dword [rbx + 0x1b0]
cmp edx, 1
je 0x1400259dc
mov rcx, qword [rbx]
mov eax, dword [rcx + 0x17c]
and al, 0x30
cmp al, 0x20
je 0x140025a07
cmp dword [rbx + 0xc], 1
jne 0x140025a3f
cmp edx, 1
jne 0x1400259f1
test r12d, r12d
jne 0x140025a3f
mov rcx, qword [rbx]
jmp 0x140025a07
test edx, edx
jne 0x140025a3f
mov rcx, qword [rbx]
test byte [rcx + 0x17c], 0x30
je 0x140025a07
cmp r12d, 1
jne 0x140025a3f
test rcx, rcx
je 0x140025ced
mov rax, qword [rbx + 0x160]
mov dword [rbx + 0x168], 0x15
mov qword [rbx + 0x170], 2
mov byte [rax], 2
mov rax, qword [rbx + 0x160]
mov byte [rax + 1], 0x28
jmp 0x140025ce3
mov rax, qword [rbx]
xor r13d, r13d
movsxd rcx, dword [rbx + 0x18]
xor esi, esi
mov rcx, qword [rax + rcx*8]
xor eax, eax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x38], rax
cmp dword [rcx], eax
je 0x140025c77
mov r12, rcx
nop word [rax + rax]
xor r15d, r15d
mov r14, r8
nop word [rax + rax]
mov ecx, dword [r12]
mov eax, ecx
sar eax, 8
cmp byte [r14], al
jne 0x140025bc9
cmp byte [r14 + 1], cl
jne 0x140025bc9
mov r13d, 1
lea rdi, [0x140068c00]
mov eax, 0xcca8
nop
cmp eax, ecx
je 0x140025ac9
mov eax, dword [rdi + 0x30]
add rdi, 0x30
test eax, eax
jne 0x140025ab0
mov eax, 0xffff9400
jmp 0x140025cf2
test rdi, rdi
je 0x140025abf
mov r9d, dword [rbx + 0x18]
cmp dword [rdi + 0x20], r9d
jg 0x140025bbf
cmp dword [rdi + 0x28], r9d
jl 0x140025bbf
mov rdx, qword [rbx]
mov eax, dword [rdx + 0x17c]
test al, 2
je 0x140025afd
test byte [rdi + 0x2c], 4
jne 0x140025bbf
test al, 0x40
je 0x140025b0b
cmp dword [rdi + 0x10], 0x2a
je 0x140025bbf
mov ecx, dword [rdi + 0x18]
cmp ecx, 3
jl 0x140025b3e
cmp ecx, 4
jle 0x140025b20
lea eax, [rcx - 8]
cmp eax, 3
ja 0x140025b3e
mov rax, qword [rbx + 0x70]
mov r8, qword [rax + 0x368]
test r8, r8
je 0x140025bbf
cmp qword [r8], 0
je 0x140025bbf
lea eax, [rcx - 5]
cmp eax, 3
ja 0x140025b75
cmp qword [rdx + 0x78], 0
jne 0x140025b75
cmp qword [rdx + 0x148], 0
je 0x140025bbf
cmp qword [rdx + 0x140], 0
je 0x140025bbf
cmp qword [rdx + 0x130], 0
je 0x140025bbf
cmp qword [rdx + 0x138], 0
je 0x140025bbf
cmp r9d, 3
jne 0x140025ba8
test ecx, ecx
jle 0x140025ba8
cmp ecx, r9d
jle 0x140025b8e
cmp ecx, 4
jne 0x140025ba8
mov ecx, r10d
jmp 0x140025b91
mov ecx, r13d
mov rdx, qword [rbx + 0x70]
sub ecx, r13d
je 0x140025ba3
cmp ecx, 3
jne 0x140025bbf
add rdx, 4
cmp dword [rdx], 0
je 0x140025bbf
mov rdx, rdi
mov rcx, rbx
call fcn.140024c20
test eax, eax
mov r10d, 4
cmove rsi, rdi
test rsi, rsi
jne 0x140025bf4
mov r9, qword [rsp + 0x40]
add r15, 2
add r14, 2
cmp r15, r9
jb 0x140025a80
inc qword [rsp + 0x38]
add r12, 4
cmp dword [r12], 0
je 0x140025c31
mov r8, qword [rsp + 0x48]
jmp 0x140025a70
mov rax, qword [rsp + 0x38]
mov rcx, qword [rbx + 0x68]
mov rdx, qword [rsp + 0x50]
mov eax, dword [rdx + rax*4]
mov dword [rcx + 8], eax
mov rax, qword [rbx + 0x70]
mov qword [rax + 0x6a0], rsi
mov rax, qword [rbx]
inc dword [rbx + 8]
test byte [rax + 0x17c], 2
je 0x140025c2a
mov rcx, rbx
call fcn.14000ee90
xor eax, eax
jmp 0x140025cf2
test r13d, r13d
je 0x140025c77
cmp qword [rbx], 0
je 0x140025c70
mov rax, qword [rbx + 0x160]
mov dl, 1
mov dword [rbx + 0x168], 0x15
mov rcx, rbx
mov qword [rbx + 0x170], 2
mov byte [rax], 2
mov rax, qword [rbx + 0x160]
mov byte [rax + 1], 0x28
call fcn.14000f210
mov eax, 0xffff9680
jmp 0x140025cf2
cmp qword [rbx], 0
je 0x140025cb1
mov rax, qword [rbx + 0x160]
mov dl, 1
mov dword [rbx + 0x168], 0x15
mov rcx, rbx
mov qword [rbx + 0x170], 2
mov byte [rax], 2
mov rax, qword [rbx + 0x160]
mov byte [rax + 1], 0x28
call fcn.14000f210
mov eax, 0xffff8c80
jmp 0x140025cf2
cmp qword [rbx], r12
je 0x140025ced
mov rax, qword [rbx + 0x160]
mov dword [rbx + 0x168], 0x15
mov qword [rbx + 0x170], r13
mov byte [rax], r13b
mov rax, qword [rbx + 0x160]
mov byte [rax + 1], 0x32
mov dl, 1
mov rcx, rbx
call fcn.14000f210
mov eax, 0xffff8700
mov r13, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x148]
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.14004c9e0
mov rbx, qword [rsp + 0x158]
add rsp, 0x110
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret
test rcx, rcx
je 0x140025d5b
mov rax, qword [rbx + 0x160]
mov dl, 1
mov dword [rbx + 0x168], 0x15
mov rcx, rbx
mov qword [rbx + 0x170], r13
mov byte [rax], r13b
mov rax, qword [rbx + 0x160]
mov byte [rax + 1], 0x46
call fcn.14000f210
mov eax, 0xffff9180
jmp 0x140025cf2