Function at 0x18002e7e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2b0]
sub rsp, 0x3b0
xor esi, esi
movaps xmmword [rsp + 0x3a0], xmm6
mov dword [rbp + 0x2f0], esi
mov r13, rdx
mov r15, rcx
cmp byte [rcx], sil
jne 0x18002f58f
mov qword [rsp + 0x30], rsi
mov r12d, 3
mov qword [rsp + 0x40], 8
mov qword [rbp + 0x308], 0x10
mov rdx, qword [rbp + 0x308]
mov rax, qword [rsp + 0x40]
add rdx, rax
mov qword [rbp + 0x308], rdx
mov rcx, qword [rbp + 0x308]
mov rax, qword [rsp + 0x30]
nop
mov dword [rsp + 0x38], r12d
mov dword [rbp + 0x308], 0x31
mov ecx, dword [rbp + 0x308]
mov eax, dword [rsp + 0x38]
add ecx, eax
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], 0xa0
mov dword [rbp + 0x308], 0x27
mov ecx, dword [rbp + 0x308]
mov eax, dword [rsp + 0x38]
add ecx, eax
mov dword [rbp + 0x308], ecx
mov ecx, dword [rbp + 0x308]
mov rax, qword [rsp + 0x30]
movzx edx, al
mov eax, dword [rsp + 0x40]
movzx r8d, cl
mov rcx, qword [rsp + 0x30]
imul r8d, edx
add al, r8b
add cl, al
mov rax, qword [rsp + 0x30]
mov byte [rbp + rax + 0xf0], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], 8
mov qword [rbp + 0x308], 0x10
mov rcx, qword [rbp + 0x308]
mov rax, qword [rsp + 0x40]
add rcx, rax
mov qword [rbp + 0x308], rcx
mov rcx, qword [rbp + 0x308]
mov rax, qword [rsp + 0x30]
cmp rax, rcx
jb 0x18002e860
mov qword [rsp + 0x30], 0x13
lea r8, [r15 + 0x59]
mov qword [rbp + 0x308], 5
mov r12d, esi
mov rcx, qword [rbp + 0x308]
mov rax, qword [rsp + 0x30]
add rcx, rax
mov qword [rbp + 0x308], rcx
mov rdx, qword [rbp + 0x308]
mov qword [rsp + 0x30], 0x22
mov qword [rbp + 0x308], 0x5e
mov rcx, qword [rbp + 0x308]
mov rax, qword [rsp + 0x30]
add rcx, rax
mov qword [rsp + 0x28], rdx
mov qword [rbp + 0x308], rcx
lea rax, [rbp + 0xf0]
mov r9, qword [rbp + 0x308]
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x190]
mov qword [rsp + 0x20], rax
call fcn.18002cbe0
xor eax, eax
mov qword [rbp + 0xb0], rsi
mov byte [rbp + 0x2f2], al
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa0], xmm0
mov word [rbp + 0x2f0], 0xe5f1
movabs r14, 0xaaaaaaaaaaaaaaab
mov qword [rbp + 0x308], rsi
mov rax, qword [rbp + 0x308]
nop word [rax + rax]
mov rcx, qword [rbp + 0x308]
mov rax, qword [rbp + 0x308]
movzx r8d, byte [rbp + rax + 0x2f1]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x308]
shl dl, 3
sub cl, dl
mov edx, 0x5b1caec9
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x2f1], dl
mov rax, qword [rbp + 0x308]
inc rax
mov qword [rbp + 0x308], rax
mov rax, qword [rbp + 0x308]
cmp rax, 1
jb 0x18002e9f0
mov r9, rsi
movsx r11d, byte [rbp + 0x2f1]
mov byte [rbp + 0x2f2], sil
cmp byte [rbp + 0x110], sil
je 0x18002eab7
nop
lea rcx, [rbp + 0x2f1]
test r11b, r11b
je 0x18002eab7
movzx r8d, byte [rbp + r9 + 0x110]
movzx eax, r11b
nop dword [rax]
movzx edx, al
cmp r8b, al
je 0x18002eaa6
movzx eax, byte [rcx + 1]
inc rcx
movzx edx, al
test al, al
jne 0x18002ea90
test dl, dl
je 0x18002eab7
inc r9
cmp byte [rbp + r9 + 0x110], sil
jne 0x18002ea70
lea r10, [rbp + 0x110]
add r10, r9
movzx eax, byte [r10]
test al, al
je 0x18002ece4
mov r9, r10
mov rbx, rsi
nop dword [rax]
nop word [rax + rax]
movsx r8d, al
lea r9, [r9 + 1]
lea rcx, [rbp + 0x2f1]
cmp r11d, r8d
je 0x18002eb08
movzx edx, r11b
test dl, dl
je 0x18002eb08
movsx edx, byte [rcx + 1]
inc rcx
cmp edx, r8d
jne 0x18002eaf8
cmp byte [rcx], sil
jne 0x18002eb18
movzx eax, byte [r9]
inc rbx
test al, al
jne 0x18002eae0
add rbx, r10
cmp byte [rbx], sil
je 0x18002eb28
mov byte [rbx], sil
inc rbx
jmp 0x18002eb30
mov rbx, rsi
nop dword [rax + rax]
mov qword [rbp + 0xe0], rsi
mov r8, 0xffffffffffffffff
mov qword [rbp + 0xe8], 0xf
mov byte [rbp + 0xd0], sil
inc r8
cmp byte [r10 + r8], sil
jne 0x18002eb50
mov rdx, r10
lea rcx, [rbp + 0xd0]
call fcn.18023c100
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0xa0]
call fcn.18023abe0
lea rcx, [rbp + 0xd0]
call fcn.18023c0a0
xor eax, eax
mov word [rbp + 0x300], 0x6e63
mov byte [rbp + 0x302], al
mov qword [rbp + 0x308], rsi
mov rax, qword [rbp + 0x308]
nop word [rax + rax]
mov rcx, qword [rbp + 0x308]
mov rax, qword [rbp + 0x308]
movzx r8d, byte [rbp + rax + 0x301]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x308]
shl dl, 3
sub cl, dl
mov edx, 0x4627b42
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x301], dl
mov rax, qword [rbp + 0x308]
inc rax
mov qword [rbp + 0x308], rax
mov rax, qword [rbp + 0x308]
cmp rax, 1
jb 0x18002ebb0
mov byte [rbp + 0x302], sil
test rbx, rbx
jne 0x18002ec27
mov r10, rsi
jmp 0x18002ecdb
mov r9, rsi
movsx r11d, byte [rbp + 0x301]
cmp byte [rbx], sil
je 0x18002ec78
nop word [rax + rax]
lea rcx, [rbp + 0x301]
test r11b, r11b
je 0x18002ec78
movzx r8d, byte [r9 + rbx]
movzx eax, r11b
movzx edx, al
cmp r8b, al
je 0x18002ec6b
movzx eax, byte [rcx + 1]
inc rcx
movzx edx, al
test al, al
jne 0x18002ec55
test dl, dl
je 0x18002ec78
inc r9
cmp byte [r9 + rbx], sil
jne 0x18002ec40
movzx eax, byte [r9 + rbx]
lea r10, [r9 + rbx]
mov rbx, rsi
test al, al
jne 0x18002ec8d
mov r10, rsi
jmp 0x18002ecdb
mov r9, r10
movsx r8d, al
lea r9, [r9 + 1]
lea rcx, [rbp + 0x301]
cmp r11d, r8d
je 0x18002ecb8
movzx edx, r11b
test dl, dl
je 0x18002ecb8
movsx edx, byte [rcx + 1]
inc rcx
cmp edx, r8d
jne 0x18002eca8
cmp byte [rcx], sil
jne 0x18002ecc8
movzx eax, byte [r9]
inc rbx
test al, al
jne 0x18002ec90
add rbx, r10
cmp byte [rbx], sil
je 0x18002ecd8
mov byte [rbx], sil
inc rbx
jmp 0x18002ecdb
mov rbx, rsi
test r10, r10
jne 0x18002eb30
movzx eax, byte [r15 + 0x58]
test al, al
je 0x18002f2c2
dec al
cmp al, 4
ja 0x18002f583
mov r14, qword [r13]
cmp r14, qword [r13 + 8]
je 0x18002f583
lea rdx, [0x18027aa10]
lea rax, [0x18027aa30]
lea rdi, [0x18027a4f8]
nop
cmp qword [r14 + 0x18], 0x10
mov rbx, r14
jb 0x18002ed2d
mov rbx, qword [r14]
mov qword [rsp + 0x60], rdx
lea rcx, [rbp + 0x10]
lea rdx, [rsp + 0x70]
mov qword [rbp + 0x10], rax
or r12d, 1
mov dword [rbp + 0xc], 0x98
mov qword [rsp + 0x68], rsi
call fcn.18023c450
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x60], rdi
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea r8d, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], r8d
lea rcx, [rsp + 0x70]
call fcn.18023bd10
mov r8d, 0x21
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.18023bc00
test rax, rax
jne 0x18002edb5
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x60]
add rcx, rax
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.18023be00
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x60], rdi
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
cmp qword [rbp - 0x10], 0
je 0x18002f193
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx - 0x58]
test rcx, rcx
je 0x18002edfa
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
cmp dword [rsp + rcx + 0x70], 0
je 0x18002ee1f
lea rax, [rsp + 0x60]
add rcx, rax
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.18023be00
jmp 0x18002ee30
mov rcx, qword [rbp + rcx - 0x50]
test rcx, rcx
je 0x18002ee30
call fcn.18023c380
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0x70], 6
jne 0x18002ee73
mov rcx, qword [rbp + rcx - 0x58]
lea rdx, [rbp + 0xb8]
mov r9d, 1
mov dword [rsp + 0x20], 1
xor r8d, r8d
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx - 0x58]
jmp 0x18002ee91
mov qword [rbp + 0xb8], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
movsxd rax, dword [rax + 4]
mov rcx, qword [rbp + rax - 0x58]
test rcx, rcx
je 0x18002ee9c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x60]
mov edx, dword [rsp + rcx + 0x70]
add rcx, rax
and edx, 0xfffffffe
call fcn.18023be00
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx - 0x58]
test rcx, rcx
je 0x18002eed2
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
cmp dword [rsp + rcx + 0x70], 0
je 0x18002eef7
lea rax, [rsp + 0x60]
add rcx, rax
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.18023be00
jmp 0x18002ef10
mov rcx, qword [rbp + rcx - 0x50]
test rcx, rcx
je 0x18002ef10
call fcn.18023c380
nop word [rax + rax]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0x70], 6
jne 0x18002ef73
mov rcx, qword [rbp + rcx - 0x58]
lea rdx, [rbp + 0x88]
mov r9d, 2
mov dword [rsp + 0x20], 1
xor r8d, r8d
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rcx, qword [rbp + 0x90]
add rcx, qword [rbp + 0x88]
cmp rcx, 0xffffffffffffffff
jne 0x18002ef73
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x60]
add rcx, rax
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.18023be00
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx - 0x58]
test rcx, rcx
je 0x18002ef8c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx - 0x58]
test rcx, rcx
je 0x18002efa5
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
cmp dword [rsp + rcx + 0x70], 0
je 0x18002efca
lea rax, [rsp + 0x60]
add rcx, rax
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.18023be00
jmp 0x18002efe0
mov rcx, qword [rbp + rcx - 0x50]
test rcx, rcx
je 0x18002efe0
call fcn.18023c380
nop dword [rax]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0x70], 6
jne 0x18002f023
mov rcx, qword [rbp + rcx - 0x58]
lea rdx, [rbp + 0x88]
mov r9d, 1
mov dword [rsp + 0x20], 1
xor r8d, r8d
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx - 0x58]
jmp 0x18002f041
mov qword [rbp + 0x88], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
movsxd rax, dword [rax + 4]
mov rcx, qword [rbp + rax - 0x58]
test rcx, rcx
je 0x18002f04c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rdi, qword [rbp + 0x90]
lea rcx, [rsp + 0x60]
sub rdi, qword [rbp + 0xc0]
xor r8d, r8d
sub rdi, qword [rbp + 0xb8]
xorps xmm6, xmm6
add rdi, qword [rbp + 0x88]
call fcn.18023a340
movq rdx, xmm6
lea rcx, [r15 + 0xf0]
add rdx, rdi
call fcn.18023a8f0
mov rsi, qword [r15 + 0xf0]
mov rdi, qword [r15 + 0xf8]
sub rdi, rsi
je 0x18002f15f
mov rax, qword [rsp + 0x60]
xor ebx, ebx
mov qword [rsp + 0x68], rbx
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx - 0x58]
test rcx, rcx
je 0x18002f0c3
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
cmp dword [rsp + rcx + 0x70], ebx
je 0x18002f0e7
lea rax, [rsp + 0x60]
add rcx, rax
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.18023be00
jmp 0x18002f12b
mov rcx, qword [rbp + rcx - 0x50]
test rcx, rcx
je 0x18002f0f6
call fcn.18023c380
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
cmp dword [rsp + rcx + 0x70], ebx
jne 0x18002f12b
test rdi, rdi
jle 0x18002f12b
mov rcx, qword [rbp + rcx - 0x58]
mov r8, rdi
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x40]
add qword [rsp + 0x68], rax
cmp rax, rdi
mov eax, 3
cmovne ebx, eax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x60]
add rcx, rax
mov edx, dword [rcx + 0x10]
or edx, ebx
call fcn.18023be00
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx - 0x58]
test rcx, rcx
je 0x18002f15f
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rsp + 0x70]
call fcn.18023bb40
test rax, rax
jne 0x18002f18a
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x60]
add rcx, rax
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.18023be00
xor esi, esi
lea rdi, [0x18027a4f8]
mov rcx, r15
call fcn.18002df10
test al, al
jne 0x18002f236
mov rax, qword [r15 + 0xf0]
mov qword [r15 + 0xf8], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x60], rdi
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.18023a0c0
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [0x18027aa30]
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [0x18027a818]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x10], rax
call fcn.180248e38
add r14, 0x20
lea rax, [0x18027aa30]
lea rdx, [0x18027aa10]
cmp r14, qword [r13 + 8]
jne 0x18002ed20
jmp 0x18002f583
lea rcx, [r15 + 0x28]
cmp rcx, r14
je 0x18002f255
cmp qword [r14 + 0x18], 0x10
mov r8, qword [r14 + 0x10]
jb 0x18002f24d
mov r14, qword [r14]
mov rdx, r14
call fcn.18023c100
mov rax, qword [rsp + 0x60]
mov byte [r15], 1
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x60], rdi
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.18023a0c0
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [0x18027aa30]
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [0x18027a818]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rbp + 0x10]
mov qword [rbp + 0x10], rax
call fcn.180248e38
jmp 0x18002f583
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xa0]
sub rax, rdx
sar rax, 5
cmp rax, 1
jb 0x18002f583
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], esi
mov qword [rsp + 0x48], 0xffffffffffffffff
cmp qword [rdx + 0x18], 0x10
jb 0x18002f2fd
mov rdx, qword [rdx]
lea rcx, [rsp + 0x48]
call fcn.18002c010
test al, al
je 0x18002f41b
lea rcx, [rsp + 0x48]
call fcn.18002c520
mov rax, qword [rsp + 0x50]
lea rdi, [r15 + 0xf0]
lea rcx, [rax + 8]
test rax, rax
jne 0x18002f331
mov rcx, rsi
mov esi, dword [rsp + 0x58]
lea r14, [rax + 8]
add rsi, rcx
test rax, rax
jne 0x18002f344
mov r14, r12
mov rcx, qword [rdi]
sub rsi, r14
mov rdx, qword [rdi + 0x10]
sub rdx, rcx
cmp rsi, rdx
jbe 0x18002f3ca
movabs rbx, 0x7fffffffffffffff
cmp rsi, rbx
ja 0x18002f5bf
mov r8, rdx
mov rax, rbx
shr r8, 1
sub rax, r8
cmp rdx, rax
ja 0x18002f385
lea rbx, [rdx + r8]
cmp rbx, rsi
cmovb rbx, rsi
test rcx, rcx
je 0x18002f3bf
cmp rdx, 0x1000
jb 0x18002f3af
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18002f5b9
mov rcx, r8
call fcn.180249cb8
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r12
mov rdx, rbx
mov rcx, rdi
call fcn.18023c020
mov rbx, qword [rdi]
mov r8, rsi
mov rcx, rbx
mov rdx, r14
call fcn.18024af30
lea rax, [rbx + rsi]
mov rcx, r15
mov qword [rdi + 8], rax
call fcn.18002df10
test al, al
je 0x18002f3f5
mov byte [r15], 1
jmp 0x18002f3fc
mov rax, qword [rdi]
mov qword [rdi + 8], rax
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18002f572
xor esi, esi
movabs r14, 0xaaaaaaaaaaaaaaab
mov eax, esi
xchg dword [rcx + 4], eax
cmp qword [rsp + 0x50], 0
je 0x18002f572
movdqa xmm0, xmmword [0x18027b300]
xor eax, eax
mov byte [rbp + 0x80], al
movdqu xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x308], rsi
mov rax, qword [rbp + 0x308]
cmp rax, 0xf
jae 0x18002f4ad
mov rcx, qword [rbp + 0x308]
mov rax, qword [rbp + 0x308]
movzx r8d, byte [rbp + rax + 0x71]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x308]
shl dl, 3
sub cl, dl
mov edx, 0x29a2d727
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x71], dl
mov rax, qword [rbp + 0x308]
inc rax
mov qword [rbp + 0x308], rax
mov rax, qword [rbp + 0x308]
cmp rax, 0xf
jb 0x18002f450
mov byte [rbp + 0x80], 0
call fcn.1800015c0
mov rcx, qword gs:[0x58]
mov rdi, rax
mov edx, dword [0x1802848b4]
mov eax, 4
mov rbx, qword [rcx + rdx*8]
add rbx, rax
mov ecx, dword [rbx]
cmp dword [0x180286968], ecx
jle 0x18002f510
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002f510
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rax
call fcn.180249db8
mov eax, dword [rbx]
cmp dword [0x18028a99c], eax
jle 0x18002f549
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002f549
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp + 0x71]
mov rcx, rax
call r8
test rax, rax
je 0x18002f583
mov rcx, qword [rsp + 0x50]
call rax
mov rcx, qword [rsp + 0x48]
cmp rcx, 0xffffffffffffffff
je 0x18002f583
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0xa0]
call fcn.18023bf70
mov rcx, r13
mov rbx, qword [rsp + 0x3f8]
movaps xmm6, xmmword [rsp + 0x3a0]
add rsp, 0x3b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.18023bf70
call fcn.1802514a4
int3
call fcn.18023c000
int3