Function at 0x140018900
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3b0]
sub rsp, 0x4b0
mov rax, qword [0x1401f2308]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
mov byte [rsp + 0x58], r9b
mov r12, r8
mov rcx, qword [rbp + 0x410]
mov qword [rsp + 0x68], rcx
lea r8, vtable.CBuffer.0
mov qword [rsp + 0x30], r8
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x70], r8
mov qword [rbp - 0x80], rcx
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x78], rcx
lea r13, [rbp - 0x60]
mov ecx, 0x4e24
mov r15d, 0x4e2f
test r9b, r9b
cmovne r15d, ecx
lea r14, [0x1401a3630]
mov rdi, r14
test rdx, rdx
cmovne rdi, rdx
mov rsi, 0xffffffffffffffff
mov rbx, rsi
nop dword [rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1400189b0
add rbx, 1
je 0x140018a0b
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14005a5b0
test rax, rax
je 0x140018a0b
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x50]
mov rax, rdx
mov rcx, qword [rsp + 0x38]
sub rax, rcx
mov r11, qword [rsp + 0x40]
add rax, r11
add rax, rbx
cmp rax, qword [rsp + 0x48]
ja 0x140018a1a
add rdx, rbx
mov qword [rsp + 0x50], rdx
jmp 0x140018a1a
mov rdx, qword [rsp + 0x50]
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
test rdx, rdx
je 0x140018a30
lea rax, [rdx - 1]
cmp byte [rax + rcx], 0
cmove rdx, rax
mov qword [rsp + 0x50], rdx
cmp rcx, r11
je 0x140018a57
test rdx, rdx
je 0x140018a4f
mov r8, rdx
mov rdx, r11
call sub.VCRUNTIME140.dll_memmove
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov r11, rcx
mov qword [rsp + 0x40], rcx
lea rbx, [rdx + 2]
cmp rbx, 2
jb 0x140018b15
cmp rbx, qword [rsp + 0x48]
jbe 0x140018ad8
lfence
mov rdx, qword [rsp + 0x48]
shr rdx, 1
add rdx, qword [rsp + 0x48]
mov rax, rbx
cmp rdx, rbx
cmovae rax, rdx
add rax, 0xfff
and rax, 0xfffffffffffff000
cmp rax, rbx
cmovae rbx, rax
mov rax, qword [rsp + 0x30]
mov r8, rbx
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x30]
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
mov rcx, rax
test rax, rax
je 0x140018b91
mov qword [rsp + 0x38], rax
mov r11, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rbx
mov rdx, qword [rsp + 0x50]
lea rax, [rdx + rcx]
test rax, rax
je 0x140018b15
mov ecx, 0x3a
mov word [rax], cx
mov rdx, qword [rsp + 0x50]
mov rax, rdx
mov rcx, qword [rsp + 0x38]
sub rax, rcx
mov r11, qword [rsp + 0x40]
add rax, 2
add rax, r11
cmp rax, qword [rsp + 0x48]
ja 0x140018b15
add rdx, 2
mov qword [rsp + 0x50], rdx
test r12, r12
cmovne r14, r12
test rdx, rdx
je 0x140018b32
lea rax, [rdx - 1]
cmp byte [rax + rcx], 0
cmove rdx, rax
mov qword [rsp + 0x50], rdx
mov rbx, rsi
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140018b35
add rbx, 1
je 0x140018bb4
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14005a5b0
test rax, rax
je 0x140018ba5
mov r8, rbx
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x50]
mov rax, rdx
mov rcx, qword [rsp + 0x38]
sub rax, rcx
mov r11, qword [rsp + 0x40]
add rax, r11
add rax, rbx
cmp rax, qword [rsp + 0x48]
ja 0x140018bb4
add rdx, rbx
mov qword [rsp + 0x50], rdx
jmp 0x140018bb4
mov rdx, qword [rsp + 0x50]
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
jmp 0x140018b15
mov rdx, qword [rsp + 0x50]
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
xor r12d, r12d
mov eax, r12d
test rdx, rdx
cmovne rax, r11
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], r12b
jne 0x140018bc4
test rdx, rdx
je 0x1400190c3
test r11, r11
je 0x1400190c3
lea rdx, [rdi + 2]
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rdx
shr rdx, 1
lea rbx, [rdx*4 + 2]
cmp rbx, 0x400
ja 0x140018d72
mov r14, r12
mov rbx, r12
mov rax, r8
mul rdi
mov r12, rdx
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
shr r12, 1
mov r15, r11
je 0x140018cc9
mov r13, r12
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop word [rax + rax]
movzx r8d, byte [r14 + r11]
movzx r10d, byte [r14 + r11 + 1]
add r14, 2
lea r9, [r14 + r11]
inc r14
mov eax, r8d
shr rax, 2
movzx eax, byte [rax + rsi]
mov byte [rbp + rbx - 0x60], al
and r8d, 3
shl r8d, 4
mov edx, r8d
mov eax, r10d
shr rax, 4
or rdx, rax
movzx eax, byte [rdx + rsi]
mov byte [rbp + rbx - 0x5f], al
movzx r8d, byte [r9]
and r10d, 0xf
shl r10d, 2
mov edx, r10d
mov eax, r8d
shr rax, 6
or rdx, rax
movzx eax, byte [rdx + rsi]
mov byte [rbp + rbx - 0x5e], al
and r8d, 0x3f
movzx eax, byte [r8 + rsi]
mov byte [rbp + rbx - 0x5d], al
add rbx, 4
sub r13, 1
jne 0x140018c40
lea rsi, [r13 - 1]
lea r13, [rbp - 0x60]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
lea rax, [r12 + r12*2]
sub rdi, rax
sub rdi, 1
je 0x140018d3a
cmp rdi, 1
jne 0x140018d68
movzx edx, byte [r14 + r15]
movzx r8d, byte [r14 + r15 + 1]
mov eax, edx
shr rax, 2
movzx eax, byte [rax + r9]
mov byte [rbp + rbx - 0x60], al
and edx, 3
shl edx, 4
mov eax, r8d
shr rax, 4
or rdx, rax
movzx eax, byte [rdx + r9]
mov byte [rbp + rbx - 0x5f], al
and r8d, 0xf
shl r8d, 2
movzx eax, byte [r8 + r9]
mov byte [rbp + rbx - 0x5e], al
mov byte [rbp + rbx - 0x5d], 0x3d
add rbx, 4
mov byte [rbp + rbx - 0x60], 0
xor r12d, r12d
jmp 0x140018dea
movzx edx, byte [r14 + r15]
mov eax, edx
shr rax, 2
movzx eax, byte [rax + r9]
mov byte [rbp + rbx - 0x60], al
and edx, 3
shl edx, 4
movzx eax, byte [rdx + r9]
mov byte [rbp + rbx - 0x5f], al
mov word [rbp + rbx - 0x5e], 0x3d3d
add rbx, 4
mov byte [rbp + rbx - 0x60], 0
xor r12d, r12d
jmp 0x140018dea
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14005a5b0
mov r13, rax
test rax, rax
jne 0x140018d92
mov r15d, 0x4e20
jmp 0x1400190c3
mov rax, r12
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
test r9, r9
cmovne rax, r8
mov rdx, rsi
nop dword [rax]
inc rdx
cmp byte [rax + rdx], r12b
jne 0x140018db0
mov rcx, r12
test r9, r9
cmovne rcx, r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov r8, r13
call fcn.140059c10
test al, al
je 0x1400190c3
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov r15d, r12d
mov r8, r12
mov qword [rsp + 0x50], r12
cmp rcx, r11
cmovne r11, rcx
mov qword [rsp + 0x40], r11
cmp qword [rsp + 0x48], 7
jae 0x140018e79
lfence
mov rdx, qword [rsp + 0x48]
shr rdx, 1
add rdx, qword [rsp + 0x48]
mov ebx, 7
mov eax, ebx
cmp rdx, rbx
cmovae rax, rdx
add rax, 0xfff
and rax, 0xfffffffffffff000
cmp rax, rbx
cmovae rbx, rax
mov rax, qword [rsp + 0x30]
mov r8, rbx
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x30]
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
mov rcx, rax
test rax, rax
je 0x140018f3d
mov qword [rsp + 0x38], rax
mov r11, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rbx
mov r8, qword [rsp + 0x50]
lea rdx, [r8 + rcx]
test rdx, rdx
je 0x140018ecb
mov eax, dword [str.Basic]
mov dword [rdx], eax
movzx eax, word [0x1401a402c]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a402e]
mov byte [rdx + 6], al
mov r8, qword [rsp + 0x50]
mov rax, r8
mov rcx, qword [rsp + 0x38]
sub rax, rcx
mov r11, qword [rsp + 0x40]
add rax, 7
add rax, r11
cmp rax, qword [rsp + 0x48]
ja 0x140018ecb
add r8, 7
mov qword [rsp + 0x50], r8
test r8, r8
je 0x140018ee1
lea rax, [r8 - 1]
cmp byte [rax + rcx], 0
cmove r8, rax
mov qword [rsp + 0x50], r8
inc rsi
cmp byte [rsi + r13], 0
jne 0x140018ee1
add rsi, 1
je 0x140018f60
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.14005a5b0
test rax, rax
je 0x140018f51
mov r8, rsi
mov rdx, r13
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rsp + 0x50]
mov rax, r8
mov rcx, qword [rsp + 0x38]
sub rax, rcx
mov r11, qword [rsp + 0x40]
add rax, r11
add rax, rsi
cmp rax, qword [rsp + 0x48]
ja 0x140018f60
add r8, rsi
mov qword [rsp + 0x50], r8
jmp 0x140018f60
mov r8, qword [rsp + 0x50]
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
jmp 0x140018ecb
mov r8, qword [rsp + 0x50]
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
cmp byte [rsp + 0x58], 0
je 0x14001901e
cmp rcx, r11
je 0x140018f8c
test r8, r8
je 0x140018f87
mov rdx, r11
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rcx
cmp r8, qword [rsp + 0x48]
jae 0x140019010
mov rax, qword [rsp + 0x30]
mov rdx, rcx
lea rcx, [rsp + 0x30]
test r8, r8
je 0x140018ff4
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
mov rcx, rax
test rax, rax
jne 0x140018fd2
mov rcx, r12
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x50], r12
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x68], rcx
jmp 0x1400190af
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x68], rcx
jmp 0x1400190af
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
mov rcx, r12
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x68], rcx
jmp 0x1400190af
cmp rcx, r11
je 0x14001903f
test r8, r8
je 0x14001903a
mov rdx, r11
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rcx
cmp r8, qword [rsp + 0x48]
jae 0x1400190a6
mov rax, qword [rsp + 0x30]
mov rdx, rcx
lea rcx, [rsp + 0x30]
test r8, r8
je 0x14001908a
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
mov rcx, rax
test rax, rax
jne 0x140019079
mov rcx, r12
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x50], r12
jmp 0x1400190a6
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
jmp 0x1400190a1
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
mov rcx, r12
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x60], rcx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
lea rbx, vtable.CBuffer.0
mov qword [rsp + 0x70], rbx
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400190e0
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov qword [rsp + 0x30], rbx
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400190f5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, r15d
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.140160900
mov rbx, qword [rsp + 0x4f0]
add rsp, 0x4b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x698]
sub rsp, 0x798
mov rax, qword [0x1401f2308]
xor rax, rsp
mov qword [rbp + 0x680], rax
movzx esi, r9b
mov byte [rsp + 0x60], r9b
mov r12, r8
mov rbx, rdx
mov qword [rbp], rcx
mov rax, qword [rbp + 0x700]
mov qword [rbp + 8], rax
lea rax, vtable.CBuffer.0
mov qword [rbp - 0x58], rax
xor r15d, r15d
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x20], r15
mov qword [rbp - 8], r15
mov qword [rbp - 0x10], r15
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x70], r15
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], r15
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x68], r15
lea rdi, [rbp + 0x280]
lea rcx, [rbp + 0x130]
call fcn.140014980
nop
mov eax, 0x4e24
mov r13d, 0x4e2f
test sil, sil
cmovne r13d, eax
mov dword [rsp + 0x64], r13d
lea r14, [0x1401a3630]
mov rsi, r14
test rbx, rbx
cmovne rsi, rbx
mov r8, qword [rbp - 0x38]
test r8, r8
je 0x140019231
lea rcx, [r8 - 1]
mov rax, qword [rbp - 0x50]
cmp byte [rcx + rax], r15b
cmove r8, rcx
mov qword [rbp - 0x38], r8
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140019240
add rbx, 1
je 0x140019293
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.14005a5b0
test rax, rax
je 0x14001928f
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rbp - 0x38]
mov rax, r8
sub rax, qword [rbp - 0x50]
add rax, qword [rbp - 0x48]
add rax, rbx
cmp rax, qword [rbp - 0x40]
ja 0x140019293
add r8, rbx
mov qword [rbp - 0x38], r8
jmp 0x140019293
mov r8, qword [rbp - 0x38]
mov rax, r15
test r8, r8
cmovne rax, qword [rbp - 0x48]
movzx ecx, byte [rax]
test cl, cl
je 0x1400192bb
cmp cl, 0x2f
jne 0x1400192ad
mov byte [rax], 0x5c
inc rax
movzx ecx, byte [rax]
test cl, cl
jne 0x1400192a5
mov r8, qword [rbp - 0x38]
mov rcx, r15
test r8, r8
cmovne rcx, qword [rbp - 0x48]
mov edx, 0x5c
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r15, rax
mov rdx, qword [rbp - 8]
test rax, rax
je 0x14001935e
test rdx, rdx
je 0x1400192fa
lea rcx, [rdx - 1]
mov rax, qword [rbp - 0x20]
cmp byte [rcx + rax], 0
cmove rdx, rcx
mov qword [rbp - 8], rdx
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r15 + rbx + 1], 0
jne 0x140019301
add rbx, 1
je 0x140019351
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.14005a5b0
test rax, rax
je 0x140019351
mov r8, rbx
lea rdx, [r15 + 1]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, rbx
sub rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 8]
add rax, rcx
add rax, qword [rbp - 0x18]
cmp rax, qword [rbp - 0x10]
ja 0x140019351
add rcx, rbx
mov qword [rbp - 8], rcx
mov byte [r15], 0
mov rdx, qword [rbp - 0x38]
jmp 0x14001948c
xor esi, esi
cmp qword [rbp - 0x38], rsi
cmovne rsi, qword [rbp - 0x48]
test rdx, rdx
je 0x140019382
lea rcx, [rdx - 1]
mov rax, qword [rbp - 0x20]
cmp byte [rcx + rax], 0
cmove rdx, rcx
mov qword [rbp - 8], rdx
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140019390
add rbx, 1
je 0x1400193d7
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.14005a5b0
test rax, rax
je 0x1400193d7
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, rbx
sub rax, qword [rbp - 0x20]
add rax, qword [rbp - 8]
add rax, qword [rbp - 0x18]
cmp rax, qword [rbp - 0x10]
ja 0x1400193d7
add qword [rbp - 8], rbx
xor edx, edx
mov qword [rbp - 0x38], rdx
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
cmp rcx, rax
cmovne rax, rcx
mov qword [rbp - 0x48], rax
cmp qword [rbp - 0x40], 1
jae 0x14001945e
lfence
mov rdx, qword [rbp - 0x40]
shr rdx, 1
add rdx, qword [rbp - 0x40]
mov eax, 1
cmp rdx, rax
cmovae rax, rdx
add rax, 0xfff
and rax, 0xfffffffffffff000
mov ebx, 1
cmp rax, rbx
cmovae rbx, rax
mov rax, qword [rbp - 0x58]
mov r8, rbx
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x58]
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
mov rcx, rax
test rax, rax
je 0x140019355
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rbx
mov rdx, qword [rbp - 0x38]
lea rax, [rdx + rcx]
test rax, rax
je 0x14001948c
mov byte [rax], 0
mov rdx, qword [rbp - 0x38]
mov rcx, rdx
sub rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
inc rax
add rcx, rax
cmp rcx, qword [rbp - 0x40]
ja 0x14001948c
inc rdx
mov qword [rbp - 0x38], rdx
xor ecx, ecx
test rdx, rdx
cmovne rcx, qword [rbp - 0x48]
mov qword [rbp + 0x88], rcx
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1400194a4
mov dword [rbp + 0x90], eax
xor ecx, ecx
cmp qword [rbp - 8], rcx
cmovne rcx, qword [rbp - 0x18]
mov qword [rbp + 0x78], rcx
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400194d0
mov dword [rbp + 0x80], eax
test r12, r12
cmovne r14, r12
mov qword [rbp + 0x98], r14
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r14 + rax], 0
jne 0x1400194f4
mov dword [rbp + 0xa0], eax
mov dword [rbp + 0xa4], 1
lea rax, [rbp + 0x10]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x250]
mov qword [rsp + 0x38], rax
xor r12d, r12d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
lea rax, [rbp + 0x78]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8d, [r12 + 2]
lea rdx, [0x1401a3f44]
xor ecx, ecx
call fcn.14015ea20
test eax, eax
jne 0x14001ada7
mov dword [rbp - 0x68], r12d
mov dword [rbp - 0x64], 2
mov qword [rbp - 0x60], r12
mov dword [rbp + 0x18], r12d
mov dword [rbp + 0x1c], 1
lea rax, [rbp - 0x68]
mov qword [rbp + 0x20], rax
mov r14, qword [rbp]
cmp qword [r14 + 0x1040], r12
je 0x14001958f
mov r8, qword [r14 + 0x1030]
jmp 0x140019592
mov r8, r12
lea rax, [rbp + 0x10]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x18]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x260]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], r12d
xor edx, edx
mov r9d, 0x101
lea rcx, [rbp + 0x250]
call fcn.14015ea80
cmp eax, 0x90312
jne 0x14001ad7a
mov r11, qword [rbp - 0x60]
test r11, r11
je 0x14001ad7e
mov ebx, dword [rbp - 0x68]
lea rcx, [rbx + 2]
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 1
lea rsi, [rdx*4 + 2]
cmp rsi, 0x400
ja 0x1400197cb
mov r10, r12
mov r9, r12
mov rax, r15
mul rbx
mov rsi, rdx
lea r13, [0x140000000]
shr rsi, 1
je 0x1400196e8
mov r14, rsi
nop dword [rax]
movzx ecx, byte [r10 + r11]
movzx r8d, byte [r10 + r11 + 1]
movzx edx, byte [r10 + r11 + 2]
add r10, 3
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x280], al
and ecx, 3
shl ecx, 4
mov eax, r8d
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x281], al
and r8d, 0xf
shl r8d, 2
mov ecx, r8d
mov eax, edx
shr rax, 6
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x282], al
and edx, 0x3f
movzx eax, byte [rdx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x283], al
add r9, 4
sub r14, 1
jne 0x140019650
mov r14, qword [rbp]
lea rax, [rsi + rsi*2]
sub rbx, rax
sub rbx, 1
je 0x140019779
cmp rbx, 1
jne 0x1400197bb
movzx ecx, byte [r10 + r11]
movzx edx, byte [r10 + r11 + 1]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x280], al
and ecx, 3
shl ecx, 4
mov eax, edx
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x281], al
and edx, 0xf
shl edx, 2
movzx eax, byte [rdx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x282], al
mov byte [rbp + r9 + 0x283], 0x3d
add r9, 4
mov byte [rbp + r9 + 0x280], r12b
mov rcx, r11
jmp 0x140019999
movzx edx, byte [r10 + r11]
mov eax, edx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x280], al
and edx, 3
shl edx, 4
movzx eax, byte [rdx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x281], al
mov word [rbp + r9 + 0x282], 0x3d3d
add r9, 4
mov byte [rbp + r9 + 0x280], r12b
mov rcx, r11
jmp 0x140019999
mov rdx, rsi
lea rcx, [rbp + 0x50]
call fcn.14005a5b0
mov rdi, rax
test rax, rax
jne 0x14001980d
lea rcx, [rbp + 0x260]
call qword [0x1401f2198]
mov rcx, qword [rbp - 0x60]
call fcn.14015ea50
lea rcx, [rbp + 0x250]
call qword [0x1401f21a8]
mov r13d, 0x4e20
jmp 0x14001ada7
mov ebx, dword [rbp - 0x68]
mov r11, qword [rbp - 0x60]
test r11, r11
je 0x14001ad6d
lea rcx, [rbx + 2]
mov rax, r15
mul rcx
shr rdx, 1
lea rax, [rdx*4 + 2]
cmp rsi, rax
jb 0x14001ad6d
mov r10, r12
mov r9, r12
mov rax, r15
mul rbx
mov rsi, rdx
lea r13, [0x140000000]
shr rsi, 1
je 0x1400198eb
mov r14, rsi
nop dword [rax]
movzx ecx, byte [r10 + r11]
movzx r8d, byte [r10 + r11 + 1]
movzx edx, byte [r10 + r11 + 2]
add r10, 3
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [r9 + rdi], al
and ecx, 3
shl ecx, 4
mov eax, r8d
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [r9 + rdi + 1], al
and r8d, 0xf
shl r8d, 2
mov ecx, r8d
mov eax, edx
shr rax, 6
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [r9 + rdi + 2], al
and edx, 0x3f
movzx eax, byte [rdx + r13 + 0x1aa510]
mov byte [r9 + rdi + 3], al
add r9, 4
sub r14, 1
jne 0x140019860
mov r14, qword [rbp]
lea rax, [rsi + rsi*2]
sub rbx, rax
sub rbx, 1
je 0x140019959
cmp rbx, 1
jne 0x140019991
movzx ecx, byte [r10 + r11]
movzx edx, byte [r10 + r11 + 1]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [r9 + rdi], al
and ecx, 3
shl ecx, 4
mov eax, edx
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [r9 + rdi + 1], al
and edx, 0xf
shl edx, 2
movzx eax, byte [rdx + r13 + 0x1aa510]
mov byte [r9 + rdi + 2], al
mov byte [r9 + rdi + 3], 0x3d
jmp 0x14001998d
movzx ecx, byte [r10 + r11]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [r9 + rdi], al
and ecx, 3
shl ecx, 4
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [r9 + rdi + 1], al
mov word [r9 + rdi + 2], 0x3d3d
add r9, 4
mov byte [r9 + rdi], r12b
mov rcx, qword [rbp - 0x60]
call fcn.14015ea50
mov rax, qword [rbp + 8]
movaps xmm0, xmmword [rax]
movaps xmmword [rbp + 0xb0], xmm0
movaps xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0xc0], xmm1
movaps xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0xd0], xmm0
movaps xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0xe0], xmm1
movaps xmm0, xmmword [rax + 0x40]
movaps xmmword [rbp + 0xf0], xmm0
movaps xmm1, xmmword [rax + 0x50]
movaps xmmword [rbp + 0x100], xmm1
movaps xmm0, xmmword [rax + 0x60]
movaps xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0xe8], r12
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0x120], r12
mov rcx, qword [rsp + 0x70]
mov r8, qword [rbp - 0x78]
test r8, r8
je 0x140019a21
lea rax, [r8 - 1]
cmp byte [rax + rcx], r12b
cmove r8, rax
mov qword [rbp - 0x78], r8
mov rdx, qword [rsp + 0x78]
cmp rcx, rdx
je 0x140019a46
test r8, r8
je 0x140019a3e
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x70]
mov rdx, rcx
mov qword [rsp + 0x78], rcx
lea rbx, [r8 + 6]
cmp rbx, 6
jb 0x140019b09
cmp rbx, qword [rbp - 0x80]
jbe 0x140019ac2
lfence
mov rdx, qword [rbp - 0x80]
shr rdx, 1
add rdx, qword [rbp - 0x80]
mov rax, rbx
cmp rdx, rbx
cmovae rax, rdx
add rax, 0xfff
and rax, 0xfffffffffffff000
cmp rax, rbx
cmovae rbx, rax
mov rax, qword [rsp + 0x68]
mov r8, rbx
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x68]
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
mov rcx, rax
test rax, rax
je 0x140019b7a
mov qword [rsp + 0x70], rax
mov rdx, rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rbx
mov r8, qword [rbp - 0x78]
lea r9, [r8 + rcx]
test r9, r9
je 0x140019b09
mov eax, dword [str.NTLM]
mov dword [r9], eax
movzx eax, word [0x1401a4034]
mov word [r9 + 4], ax
mov r8, qword [rbp - 0x78]
mov rax, r8
mov rcx, qword [rsp + 0x70]
sub rax, rcx
mov rdx, qword [rsp + 0x78]
add rax, 6
add rax, rdx
cmp rax, qword [rbp - 0x80]
ja 0x140019b09
add r8, 6
mov qword [rbp - 0x78], r8
test r8, r8
je 0x140019b1e
lea rax, [r8 - 1]
cmp byte [rax + rcx], r12b
cmove r8, rax
mov qword [rbp - 0x78], r8
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], r12b
jne 0x140019b25
add rbx, 1
je 0x140019b96
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.14005a5b0
test rax, rax
je 0x140019b8d
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, rbx
sub rax, qword [rsp + 0x70]
mov r8, qword [rbp - 0x78]
add rax, r8
mov rdx, qword [rsp + 0x78]
add rax, rdx
cmp rax, qword [rbp - 0x80]
ja 0x140019b96
add r8, rbx
mov qword [rbp - 0x78], r8
jmp 0x140019b96
mov r8, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
jmp 0x140019b09
mov r8, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x78]
movzx r15d, byte [rsp + 0x60]
mov rax, r12
test r15b, r15b
je 0x140019bc2
test r8, r8
cmovne rax, rdx
mov qword [rbp + 0x118], rax
lea rax, str.Keep_Alive
mov qword [rbp + 0x108], rax
jmp 0x140019bde
test r8, r8
cmovne rax, rdx
mov qword [rbp + 0x110], rax
lea rax, str.Keep_Alive
mov qword [rbp + 0x100], rax
mov esi, 0xa
mov ebx, 0x4e26
lea rcx, [rbp + 0xb0]
call fcn.140015e20
mov rdi, rax
test rax, rax
je 0x140019c58
mov rcx, qword [r14]
mov rax, qword [rcx + 0x20]
mov rcx, r14
call qword [case.0x1400309a4.0]
test eax, eax
jne 0x140019c4f
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], r12b
jne 0x140019c17
mov rdx, rdi
mov rcx, r14
call fcn.140014ff0
cmp rax, 0xfffffffffffffffd
ja 0x140019c44
mov rcx, r14
call fcn.140015100
cmp rax, 0xfffffffffffffffd
ja 0x140019c44
mov ebx, r12d
jmp 0x140019c4f
cmp rax, 0xfffffffffffffffe
jne 0x140019c4f
mov ebx, 0x4e3f
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test ebx, ebx
jne 0x140019ceb
xor r9d, r9d
lea rdx, [rbp + 0x130]
mov rcx, r14
call fcn.140018760
mov ebx, eax
test eax, eax
jne 0x140019ceb
lea rdx, [rbp + 0x130]
mov rcx, r14
call fcn.1400185a0
mov ebx, eax
test eax, eax
jne 0x140019ceb
cmp dword [rbp + 0x134], 1
jl 0x140019cb3
jne 0x140019ca1
cmp dword [rbp + 0x138], 1
jl 0x140019cb3
cmp dword [rbp + 0x16c], 1
je 0x140019cb3
cmp dword [rbp + 0x170], 1
jne 0x140019cc3
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
mov ecx, dword [rbp + 0x130]
call fcn.140017f90
mov ebx, eax
test eax, eax
jne 0x140019ceb
cmp byte [rbp + 0x24d], r12b
je 0x140019ceb
sub esi, 1
jne 0x140019be3
mov ebx, 0x4e38
cmp dword [rsp + 0x64], ebx
jne 0x140019dc3
mov r14d, r12d
mov rax, qword [rbp + 0x1b8]
test r15b, r15b
cmovne rax, qword [rbp + 0x190]
test rax, rax
jle 0x140019dc3
lea r12, [rbp + 0x188]
lea rax, [rbp + 0x1b0]
test r15b, r15b
cmove r12, rax
xor r15d, r15d
nop dword [rax + rax]
mov rax, qword [r12]
cmp qword [r15 + rax + 0x20], 0
je 0x140019d9c
mov rsi, qword [r15 + rax + 0x10]
test rsi, rsi
je 0x140019d9c
xor edi, edi
xor ebx, ebx
xor eax, eax
mov rcx, qword [str.BASIC]
nop dword [rax]
nop word [rax + rax]
movsxd r8, dword [rax + r13 + 0x1a40c8]
mov rdx, rcx
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
test eax, eax
je 0x140019d93
inc edi
inc rbx
mov rax, rbx
shl rax, 4
mov rcx, qword [rax + r13 + 0x1a40c0]
test rcx, rcx
jne 0x140019d60
jmp 0x140019d9c
mov rdx, qword [r12]
cmp edi, 1
je 0x140019de7
inc r14d
add r15, 0x28
mov rcx, qword [rbp + 0x1b8]
cmp byte [rsp + 0x60], 0
cmovne rcx, qword [rbp + 0x190]
movsxd rax, r14d
cmp rax, rcx
jl 0x140019d30
mov r13d, dword [rsp + 0x64]
lea rcx, [rbp + 0x260]
call qword [0x1401f2198]
lea rcx, [rbp + 0x250]
call qword [0x1401f21a8]
jmp 0x14001ada7
movsxd rax, r14d
lea rcx, [rax + rax*4]
cmp qword [rdx + rcx*8 + 0x20], 0
je 0x140019dfd
mov rcx, qword [rdx + rcx*8 + 0x10]
jmp 0x140019dff
xor ecx, ecx
mov edx, 0x20
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov r12, rax
test rax, rax
je 0x140019e26
movzx ecx, byte [r12]
cmp cl, 0x20
je 0x140019e21
cmp cl, 9
jne 0x140019e26
inc r12
jmp 0x140019e12
test r12, r12
je 0x140019dc3
lea rax, [rbp + 0x280]
mov qword [rbp - 0x30], rax
mov rsi, 0xffffffffffffffff
nop dword [rax]
inc rsi
cmp byte [r12 + rsi], 0
jne 0x140019e40
cmp rsi, 0xffffffffffffffff
jne 0x140019e5a
inc rsi
cmp byte [r12 + rsi], 0
jne 0x140019e50
lea rax, [rsi + 3]
shr rax, 2
lea r14, [rax + rax*2]
movabs rcx, 0x100002600
cmp r14, 0x400
jbe 0x140019ec4
mov rcx, rsi
test rsi, rsi
je 0x140019e8f
cmp byte [r12 + rcx - 1], 0x3d
jne 0x140019e8f
sub rcx, 1
jne 0x140019e81
mov rax, rcx
and eax, 3
jbe 0x14001a29f
shr rcx, 2
lea r14, [rcx*2 - 1]
add r14, rax
add r14, rcx
cmp r14, 0x400
ja 0x14001a29f
movabs rcx, 0x100002600
xor r15d, r15d
xor ebx, ebx
xor r11d, r11d
xor r14d, r14d
mov qword [rbp - 0x70], r14
test rsi, rsi
je 0x14001a28d
nop dword [rax]
xor edi, edi
xor r9d, r9d
xor r8d, r8d
xor r10d, r10d
cmp r11, rsi
jae 0x14001a08f
lfence
nop word [rax + rax]
movzx r10d, byte [r11 + r12]
inc r11
cmp r10d, 0x41
jb 0x140019f14
cmp r10b, 0x5a
jbe 0x140019f4e
lea eax, [r10 - 0x61]
cmp al, 0x19
jbe 0x140019f4e
lea eax, [r10 - 0x2f]
cmp al, 0xa
jbe 0x140019f4e
cmp r10b, 0x2b
je 0x140019f4e
cmp r10b, 0x3d
je 0x140019f49
cmp r10b, 0x20
ja 0x140019f3c
bt rcx, r10
jb 0x140019f42
mov r15d, 1
cmp r11, rsi
jb 0x140019f00
jmp 0x140019f4e
mov ebx, 1
cmp r11, rsi
jae 0x14001a08f
lfence
nop word [rax + rax]
movzx r8d, byte [r11 + r12]
inc r11
cmp r8d, 0x41
jb 0x140019f74
cmp r8b, 0x5a
jbe 0x140019fb1
lea eax, [r8 - 0x61]
cmp al, 0x19
jbe 0x140019fb1
lea eax, [r8 - 0x2f]
cmp al, 0xa
jbe 0x140019fb1
cmp r8b, 0x2b
je 0x140019fb1
cmp r8b, 0x3d
je 0x140019fac
cmp r8b, 0x20
ja 0x140019f9c
bt rcx, r8
jb 0x140019fa2
mov r15d, 1
cmp r11, rsi
jb 0x140019f60
jmp 0x14001a08f
mov ebx, 1
cmp r11, rsi
jae 0x14001a08f
lfence
nop dword [rax]
mov ecx, r8d
mov edx, ebx
movzx r9d, byte [r11 + r12]
inc r11
cmp r9d, 0x41
jb 0x140019fd9
cmp r9b, 0x5a
jbe 0x14001a01f
lea eax, [r9 - 0x61]
cmp al, 0x19
jbe 0x14001a01f
lea eax, [r9 - 0x2f]
cmp al, 0xa
jbe 0x14001a01f
cmp r9b, 0x2b
je 0x14001a01f
cmp r9b, 0x3d
je 0x14001a01a
cmp r9b, 0xd
je 0x14001a013
cmp r9b, 0xa
je 0x14001a013
cmp r9b, 0x20
je 0x14001a013
cmp r9b, 9
je 0x14001a013
mov r15d, 1
cmp r11, rsi
jb 0x140019fc0
jmp 0x14001a08f
mov ebx, 1
cmp r11, rsi
jae 0x14001a08f
lfence
nop word [rax + rax]
mov ecx, r8d
movzx edi, byte [r11 + r12]
inc r11
cmp edi, 0x41
jb 0x14001a046
cmp dil, 0x5a
jbe 0x14001a08b
lea eax, [rdi - 0x61]
cmp al, 0x19
jbe 0x14001a08b
lea eax, [rdi - 0x2f]
cmp al, 0xa
jbe 0x14001a08b
cmp dil, 0x2b
je 0x14001a08b
cmp dil, 0x3d
je 0x14001a086
cmp dil, 0x20
ja 0x14001a076
movabs r8, 0x100002600
bt r8, rdi
jb 0x14001a07c
mov r15d, 1
mov r8d, ecx
cmp r11, rsi
jb 0x14001a030
jmp 0x14001a08b
mov ebx, 1
mov r14, qword [rbp - 0x70]
mov ecx, r8d
mov edx, r9d
lea eax, [r10 - 0x2b]
cmp eax, 0x2f
ja 0x14001a0b5
movabs r13, 0xffffffc07ff1
bt r13, rax
lea r13, [0x140000000]
jb 0x14001a0c2
lea eax, [r10 - 0x61]
cmp eax, 0x19
ja 0x14001a1c9
mov r8, rcx
mov r9, rdx
lea eax, [rcx - 0x2b]
cmp eax, 0x2f
ja 0x14001a0e7
movabs r13, 0xffffffc07ff1
bt r13, rax
lea r13, [0x140000000]
jb 0x14001a0f3
lea eax, [rcx - 0x61]
cmp eax, 0x19
ja 0x14001a1c9
lea eax, [rdx - 0x2b]
movabs rcx, 0xffffffc07ff1
cmp eax, 0x2f
ja 0x14001a10b
bt rcx, rax
jb 0x14001a117
lea eax, [rdx - 0x61]
cmp eax, 0x19
ja 0x14001a1c9
lea eax, [rdi - 0x2b]
cmp eax, 0x2f
ja 0x14001a125
bt rcx, rax
jb 0x14001a131
lea eax, [rdi - 0x61]
cmp eax, 0x19
ja 0x14001a1c9
movzx ecx, byte [r10 + r13 + 0x1aa490]
movzx edx, byte [r8 + r13 + 0x1aa490]
movzx r10d, byte [r9 + r13 + 0x1aa490]
movzx r8d, byte [rdi + r13 + 0x1aa490]
mov r9d, edx
shr r9d, 4
and r9d, 3
and ecx, 0x3f
shl ecx, 2
or r9d, ecx
mov eax, r10d
shr eax, 2
and eax, 0xf
and edx, 0xf
shl edx, 4
or eax, edx
and r10d, 3
shl r10d, 6
and r8d, 0x3f
or r10d, r8d
mov byte [rbp + r14 + 0x280], r9b
mov byte [rbp + r14 + 0x281], al
mov byte [rbp + r14 + 0x282], r10b
add r14, 3
mov qword [rbp - 0x70], r14
test ebx, ebx
jne 0x14001a28d
cmp r11, rsi
jae 0x14001a28d
movabs rcx, 0x100002600
jmp 0x140019ee0
mov ecx, r10d
call fcn.140059be0
test eax, eax
je 0x14001a28d
mov ecx, r8d
call fcn.140059be0
test eax, eax
je 0x14001a28d
mov ecx, r9d
call fcn.140059be0
test eax, eax
je 0x14001a253
cmp edi, 0x3d
jne 0x14001a253
movzx ecx, byte [r10 + r13 + 0x1aa490]
mov eax, r8d
movzx edx, byte [rax + r13 + 0x1aa490]
mov r8d, edx
shr r8d, 4
and r8d, 3
and ecx, 0x3f
shl ecx, 2
or r8d, ecx
mov eax, r9d
movzx ecx, byte [rax + r13 + 0x1aa490]
shr ecx, 2
and ecx, 0xf
and edx, 0xf
shl edx, 4
or ecx, edx
mov byte [rbp + r14 + 0x280], r8b
mov byte [rbp + r14 + 0x281], cl
add r14, 2
jmp 0x14001a289
cmp r9d, 0x3d
jne 0x14001a28d
cmp edi, r9d
jne 0x14001a28d
mov eax, r8d
movzx edx, byte [rax + r13 + 0x1aa490]
shr dl, 4
and dl, 3
movzx ecx, byte [r10 + r13 + 0x1aa490]
shl cl, 2
xor dl, cl
mov byte [rbp + r14 + 0x280], dl
inc r14
mov qword [rbp - 0x70], r14
test r15d, r15d
je 0x14001a703
test r14, r14
je 0x140019dc3
mov rdx, r14
lea rcx, [rbp + 0x50]
call fcn.14005a5b0
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140019dc3
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp byte [r12 + rsi], 0
jne 0x14001a2c0
cmp rsi, 0xffffffffffffffff
jne 0x14001a2da
inc rsi
cmp byte [r12 + rsi], 0
jne 0x14001a2d0
lea rax, [rsi + 3]
shr rax, 2
lea rax, [rax + rax*2]
cmp r14, rax
jae 0x14001a324
mov rcx, rsi
test rsi, rsi
je 0x14001a301
cmp byte [r12 + rcx - 1], 0x3d
jne 0x14001a301
sub rcx, 1
jne 0x14001a2f3
mov rax, rcx
and eax, 3
jbe 0x140019dc3
shr rcx, 2
lea rax, [rax + rcx*2]
dec rcx
add rcx, rax
cmp r14, rcx
jb 0x140019dc3
xor r15d, r15d
xor ebx, ebx
xor r11d, r11d
xor r14d, r14d
mov qword [rbp - 0x70], r14
test rsi, rsi
je 0x14001a6fa
nop dword [rax]
xor edi, edi
xor r9d, r9d
xor r8d, r8d
xor r10d, r10d
cmp r11, rsi
jae 0x14001a50f
lfence
nop word [rax + rax]
movzx r10d, byte [r11 + r12]
inc r11
cmp r10d, 0x41
jb 0x14001a374
cmp r10b, 0x5a
jbe 0x14001a3b8
lea eax, [r10 - 0x61]
cmp al, 0x19
jbe 0x14001a3b8
lea eax, [r10 - 0x2f]
cmp al, 0xa
jbe 0x14001a3b8
cmp r10b, 0x2b
je 0x14001a3b8
cmp r10b, 0x3d
je 0x14001a3b3
cmp r10b, 0x20
ja 0x14001a3a6
movabs rcx, 0x100002600
bt rcx, r10
jb 0x14001a3ac
mov r15d, 1
cmp r11, rsi
jb 0x14001a360
jmp 0x14001a3b8
mov ebx, 1
cmp r11, rsi
jae 0x14001a50f
lfence
nop dword [rax]
nop dword [rax + rax]
movzx r8d, byte [r11 + r12]
inc r11
cmp r8d, 0x41
jb 0x14001a3e4
cmp r8b, 0x5a
jbe 0x14001a42b
lea eax, [r8 - 0x61]
cmp al, 0x19
jbe 0x14001a42b
lea eax, [r8 - 0x2f]
cmp al, 0xa
jbe 0x14001a42b
cmp r8b, 0x2b
je 0x14001a42b
cmp r8b, 0x3d
je 0x14001a426
cmp r8b, 0x20
ja 0x14001a416
movabs rcx, 0x100002600
bt rcx, r8
jb 0x14001a41c
mov r15d, 1
cmp r11, rsi
jb 0x14001a3d0
jmp 0x14001a50f
mov ebx, 1
cmp r11, rsi
jae 0x14001a50f
lfence
nop word [rax + rax]
mov ecx, r8d
mov edx, ebx
movzx r9d, byte [r11 + r12]
inc r11
cmp r9d, 0x41
jb 0x14001a459
cmp r9b, 0x5a
jbe 0x14001a49f
lea eax, [r9 - 0x61]
cmp al, 0x19
jbe 0x14001a49f
lea eax, [r9 - 0x2f]
cmp al, 0xa
jbe 0x14001a49f
cmp r9b, 0x2b
je 0x14001a49f
cmp r9b, 0x3d
je 0x14001a49a
cmp r9b, 0xd
je 0x14001a493
cmp r9b, 0xa
je 0x14001a493
cmp r9b, 0x20
je 0x14001a493
cmp r9b, 9
je 0x14001a493
mov r15d, 1
cmp r11, rsi
jb 0x14001a440
jmp 0x14001a50f
mov ebx, 1
cmp r11, rsi
jae 0x14001a50f
lfence
nop word [rax + rax]
mov ecx, r8d
movzx edi, byte [r11 + r12]
inc r11
cmp edi, 0x41
jb 0x14001a4c6
cmp dil, 0x5a
jbe 0x14001a50b
lea eax, [rdi - 0x61]
cmp al, 0x19
jbe 0x14001a50b
lea eax, [rdi - 0x2f]
cmp al, 0xa
jbe 0x14001a50b
cmp dil, 0x2b
je 0x14001a50b
cmp dil, 0x3d
je 0x14001a506
cmp dil, 0x20
ja 0x14001a4f6
movabs r8, 0x100002600
bt r8, rdi
jb 0x14001a4fc
mov r15d, 1
mov r8d, ecx
cmp r11, rsi
jb 0x14001a4b0
jmp 0x14001a50b
mov ebx, 1
mov r14, qword [rbp - 0x70]
mov ecx, r8d
mov edx, r9d
lea eax, [r10 - 0x2b]
cmp eax, 0x2f
ja 0x14001a535
movabs r13, 0xffffffc07ff1
bt r13, rax
lea r13, [0x140000000]
jb 0x14001a542
lea eax, [r10 - 0x61]
cmp eax, 0x19
ja 0x14001a639
mov r8, rcx
mov r9, rdx
lea eax, [rcx - 0x2b]
cmp eax, 0x2f
ja 0x14001a567
movabs r13, 0xffffffc07ff1
bt r13, rax
lea r13, [0x140000000]
jb 0x14001a573
lea eax, [rcx - 0x61]
cmp eax, 0x19
ja 0x14001a639
lea eax, [rdx - 0x2b]
movabs rcx, 0xffffffc07ff1
cmp eax, 0x2f
ja 0x14001a58b
bt rcx, rax
jb 0x14001a597
lea eax, [rdx - 0x61]
cmp eax, 0x19
ja 0x14001a639
lea eax, [rdi - 0x2b]
cmp eax, 0x2f
ja 0x14001a5a5
bt rcx, rax
jb 0x14001a5b1
lea eax, [rdi - 0x61]
cmp eax, 0x19
ja 0x14001a639
movzx ecx, byte [r10 + r13 + 0x1aa490]
movzx edx, byte [r8 + r13 + 0x1aa490]
movzx r10d, byte [r9 + r13 + 0x1aa490]
movzx r8d, byte [rdi + r13 + 0x1aa490]
mov r9d, edx
shr r9d, 4
and r9d, 3
and ecx, 0x3f
shl ecx, 2
or r9d, ecx
mov eax, r10d
shr eax, 2
and eax, 0xf
and edx, 0xf
shl edx, 4
or eax, edx
and r10d, 3
shl r10d, 6
and r8d, 0x3f
or r10d, r8d
mov rcx, qword [rbp - 0x30]
mov byte [r14 + rcx], r9b
mov byte [r14 + rcx + 1], al
mov byte [r14 + rcx + 2], r10b
add r14, 3
mov qword [rbp - 0x70], r14
test ebx, ebx
jne 0x14001a6fa
cmp r11, rsi
jae 0x14001a6fa
jmp 0x14001a340
mov ecx, r10d
call fcn.140059be0
test eax, eax
je 0x14001a6fa
mov ecx, r8d
call fcn.140059be0
test eax, eax
je 0x14001a6fa
mov ecx, r9d
call fcn.140059be0
test eax, eax
je 0x14001a6c0
cmp edi, 0x3d
jne 0x14001a6c0
movzx ecx, byte [r10 + r13 + 0x1aa490]
mov eax, r8d
movzx edx, byte [rax + r13 + 0x1aa490]
mov r8d, edx
shr r8d, 4
and r8d, 3
and ecx, 0x3f
shl ecx, 2
or r8d, ecx
mov eax, r9d
movzx ecx, byte [rax + r13 + 0x1aa490]
shr ecx, 2
and ecx, 0xf
and edx, 0xf
shl edx, 4
or ecx, edx
mov rax, qword [rbp - 0x30]
mov byte [r14 + rax], r8b
mov byte [r14 + rax + 1], cl
add r14, 2
jmp 0x14001a6f6
cmp r9d, 0x3d
jne 0x14001a6fa
cmp edi, r9d
jne 0x14001a6fa
mov eax, r8d
movzx edx, byte [rax + r13 + 0x1aa490]
shr dl, 4
and dl, 3
movzx ecx, byte [r10 + r13 + 0x1aa490]
shl cl, 2
xor dl, cl
mov rax, qword [rbp - 0x30]
mov byte [r14 + rax], dl
inc r14
mov qword [rbp - 0x70], r14
test r15d, r15d
jne 0x140019dc3
mov rax, qword [rbp - 0x70]
mov dword [rbp + 0x30], eax
mov dword [rbp + 0x34], 2
mov r14, qword [rbp - 0x30]
mov qword [rbp + 0x38], r14
xor esi, esi
mov dword [rbp + 0x40], esi
mov dword [rbp + 0x44], 1
lea rax, [rbp + 0x30]
mov qword [rbp + 0x48], rax
mov dword [rbp - 0x68], esi
mov dword [rbp - 0x64], 2
mov qword [rbp - 0x60], rsi
mov rcx, qword [rbp]
cmp qword [rcx + 0x1040], rsi
je 0x14001a751
mov r8, qword [rcx + 0x1030]
jmp 0x14001a754
mov r8, rsi
lea rax, [rbp + 0x10]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x2c]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x18]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x270]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], esi
lea rax, [rbp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], esi
mov r9d, 0x101
lea rdx, [rbp + 0x260]
lea rcx, [rbp + 0x250]
call fcn.14015ea80
test eax, eax
jne 0x14001ad56
mov r11, qword [rbp - 0x60]
test r11, r11
je 0x140019dc3
mov ebx, dword [rbp - 0x68]
lea rcx, [rbx + 2]
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 1
lea rdi, [rdx*4 + 2]
cmp rdi, 0x400
ja 0x14001a97f
mov r10, rsi
mov r9, rsi
mov rax, r15
mul rbx
mov rdi, rdx
shr rdi, 1
je 0x14001a8a4
mov rsi, rdi
nop dword [rax]
movzx ecx, byte [r10 + r11]
movzx r8d, byte [r10 + r11 + 1]
movzx edx, byte [r10 + r11 + 2]
add r10, 3
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x280], al
and ecx, 3
shl ecx, 4
mov eax, r8d
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x281], al
and r8d, 0xf
shl r8d, 2
mov ecx, r8d
mov eax, edx
shr rax, 6
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x282], al
and edx, 0x3f
movzx eax, byte [rdx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x283], al
add r9, 4
sub rsi, 1
jne 0x14001a810
lea rax, [rdi + rdi*2]
sub rbx, rax
sub rbx, 1
je 0x14001a92f
cmp rbx, 1
jne 0x14001a971
movzx ecx, byte [r10 + r11]
movzx edx, byte [r10 + r11 + 1]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x280], al
and ecx, 3
shl ecx, 4
mov eax, edx
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x281], al
and edx, 0xf
shl edx, 2
movzx eax, byte [rdx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x282], al
mov byte [rbp + r9 + 0x283], 0x3d
add r9, 4
mov byte [rbp + r9 + 0x280], 0
jmp 0x14001ab12
movzx ecx, byte [r10 + r11]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x280], al
and ecx, 3
shl ecx, 4
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [rbp + r9 + 0x281], al
mov word [rbp + r9 + 0x282], 0x3d3d
add r9, 4
mov byte [rbp + r9 + 0x280], 0
jmp 0x14001ab12
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.14005a5b0
mov r14, rax
test rax, rax
je 0x14001ad49
mov ebx, dword [rbp - 0x68]
mov r11, qword [rbp - 0x60]
test r11, r11
je 0x14001ad49
lea rcx, [rbx + 2]
mov rax, r15
mul rcx
shr rdx, 1
lea rax, [rdx*4 + 2]
cmp rdi, rax
jb 0x14001ad49
mov r10, rsi
mov r9, rsi
mov rax, r15
mul rbx
mov rdi, rdx
shr rdi, 1
je 0x14001aa67
mov rsi, rdi
movzx ecx, byte [r11 + r10]
movzx r8d, byte [r11 + r10 + 1]
movzx edx, byte [r11 + r10 + 2]
add r10, 3
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [r9 + r14], al
and ecx, 3
shl ecx, 4
mov eax, r8d
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [r9 + r14 + 1], al
and r8d, 0xf
shl r8d, 2
mov ecx, r8d
mov eax, edx
shr rax, 6
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [r9 + r14 + 2], al
and edx, 0x3f
movzx eax, byte [rdx + r13 + 0x1aa510]
mov byte [r9 + r14 + 3], al
add r9, 4
sub rsi, 1
jne 0x14001a9e0
lea rax, [rdi + rdi*2]
sub rbx, rax
sub rbx, 1
je 0x14001aad5
cmp rbx, 1
jne 0x14001ab0d
movzx ecx, byte [r11 + r10]
movzx edx, byte [r11 + r10 + 1]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [r9 + r14], al
and ecx, 3
shl ecx, 4
mov eax, edx
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [r9 + r14 + 1], al
and edx, 0xf
shl edx, 2
movzx eax, byte [rdx + r13 + 0x1aa510]
mov byte [r9 + r14 + 2], al
mov byte [r9 + r14 + 3], 0x3d
jmp 0x14001ab09
movzx ecx, byte [r11 + r10]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x1aa510]
mov byte [r9 + r14], al
and ecx, 3
shl ecx, 4
movzx eax, byte [rcx + r13 + 0x1aa510]
mov byte [r9 + r14 + 1], al
mov word [r9 + r14 + 2], 0x3d3d
add r9, 4
mov byte [r9 + r14], 0
mov dword [rsp + 0x64], esi
mov rdx, rsi
mov qword [rbp - 0x78], rdx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
cmp rcx, rax
cmovne rax, rcx
mov qword [rsp + 0x78], rax
cmp qword [rbp - 0x80], 6
jae 0x14001ab9f
lfence
mov rdx, qword [rbp - 0x80]
shr rdx, 1
add rdx, qword [rbp - 0x80]
mov ebx, 6
mov eax, ebx
cmp rdx, rbx
cmovae rax, rdx
add rax, 0xfff
and rax, 0xfffffffffffff000
cmp rax, rbx
cmovae rbx, rax
mov rax, qword [rsp + 0x68]
mov r8, rbx
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x68]
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
mov rcx, rax
test rax, rax
je 0x14001abe3
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rbx
mov rdx, qword [rbp - 0x78]
lea r8, [rdx + rcx]
test r8, r8
je 0x14001abe3
mov eax, dword [str.NTLM]
mov dword [r8], eax
movzx eax, word [0x1401a4034]
mov word [r8 + 4], ax
mov rdx, qword [rbp - 0x78]
mov rcx, rdx
sub rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
add rax, 6
add rcx, rax
cmp rcx, qword [rbp - 0x80]
ja 0x14001abe3
add rdx, 6
mov qword [rbp - 0x78], rdx
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.14005a690
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
cmp byte [rsp + 0x60], 0
je 0x14001acb0
cmp rcx, rdx
je 0x14001ac26
test r8, r8
je 0x14001ac21
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rcx
cmp r8, qword [rbp - 0x80]
jae 0x14001aca3
mov rax, qword [rsp + 0x68]
mov rdx, rcx
lea rcx, [rsp + 0x68]
test r8, r8
je 0x14001ac88
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
mov rcx, rax
test rax, rax
jne 0x14001ac69
mov rcx, rsi
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x78], rsi
mov rax, qword [rbp + 8]
mov qword [rax + 0x68], rcx
jmp 0x14001ad37
mov qword [rsp + 0x70], rax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x78], rcx
mov rax, qword [rbp + 8]
mov qword [rax + 0x68], rcx
jmp 0x14001ad37
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
mov rcx, rsi
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x78], rcx
mov rax, qword [rbp + 8]
mov qword [rax + 0x68], rcx
jmp 0x14001ad37
cmp rcx, rdx
je 0x14001accd
test r8, r8
je 0x14001acc8
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rcx
cmp r8, qword [rbp - 0x80]
jae 0x14001ad2f
mov rax, qword [rsp + 0x68]
mov rdx, rcx
lea rcx, [rsp + 0x68]
test r8, r8
je 0x14001ad14
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
mov rcx, rax
test rax, rax
jne 0x14001ad05
mov rcx, rsi
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x78], rsi
jmp 0x14001ad2f
mov qword [rsp + 0x70], rax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x14001ad2a
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
mov rcx, rsi
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x78], rcx
mov rax, qword [rbp + 8]
mov qword [rax + 0x60], rcx
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
lea rcx, [rbp + 0x270]
call qword [0x1401f2198]
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140019dc3
call fcn.14015ea50
jmp 0x140019dc3
mov rcx, r11
call fcn.14015ea50
jmp 0x140019dc8
test eax, eax
jne 0x14001ad8b
lea rcx, [rbp + 0x260]
call qword [0x1401f2198]
lea rcx, [rbp + 0x250]
call qword [0x1401f21a8]
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x14001ada7
call fcn.14015ea50
nop
lea rbx, vtable.CBuffer.0
mov qword [rbp + 0x220], rbx
mov rcx, qword [rbp + 0x228]
test rcx, rcx
je 0x14001adc8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov qword [rbp + 0x1f8], rbx
mov rcx, qword [rbp + 0x200]
test rcx, rcx
je 0x14001ade2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov qword [rbp + 0x1d0], rbx
mov rcx, qword [rbp + 0x1d8]
test rcx, rcx
je 0x14001adfc
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
lea rcx, [rbp + 0x1a8]
call fcn.14001de60
nop
lea rcx, [rbp + 0x180]
call fcn.14001de60
nop
mov qword [rbp + 0x140], rbx
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x14001ae30
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov qword [rbp + 0x50], rbx
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x14001ae44
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov qword [rsp + 0x68], rbx
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14001ae5a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov qword [rbp - 0x28], rbx
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14001ae6e
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov qword [rbp - 0x58], rbx
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14001ae81
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, r13d
mov rcx, qword [rbp + 0x680]
xor rcx, rsp
call fcn.140160900
add rsp, 0x798
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push r12
push r13
push r15
sub rsp, 0x48
mov rbp, qword [rsp + 0x90]
xor r12d, r12d
movzx r13d, r9b
mov r15d, 0xffffffff
cmp qword [rbp + 0x10], r12
jle 0x14001b0f0
mov qword [rax + 0x20], rbx
lea rdx, str.BASIC
mov qword [rax - 0x28], rsi
mov qword [rax - 0x30], rdi
mov qword [rax - 0x38], r14
xor r14d, r14d
mov rax, qword [rbp + 8]
cmp qword [r14 + rax + 0x20], 0
je 0x14001b005
mov rsi, qword [r14 + rax + 0x10]
test rsi, rsi
je 0x14001b005
mov rcx, qword [str.BASIC]
xor ebx, ebx
xor edi, edi
xor eax, eax
nop word [rax + rax]
movsxd r8, dword [rax + rdx + 8]
mov rdx, rcx
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
test eax, eax
je 0x14001b021
inc rdi
lea rdx, str.BASIC
mov rax, rdi
inc ebx
shl rax, 4
mov rcx, qword [rax + rdx]
test rcx, rcx
jne 0x14001afd0
mov rax, qword [rbp + 8]
mov ebx, 0xffffffff
cmp r15d, ebx
jge 0x14001b034
cmp qword [r14 + rax + 0x20], 0
mov r15d, ebx
je 0x14001b027
mov rcx, qword [r14 + rax + 0x10]
jmp 0x14001b029
mov rax, qword [rbp + 8]
jmp 0x14001b00a
xor ecx, ecx
mov edx, 0x20
call qword [sym.imp.VCRUNTIME140.dll_strchr]
inc r12d
lea rdx, str.BASIC
movsxd rax, r12d
add r14, 0x28
cmp rax, qword [rbp + 0x10]
jl 0x14001afa3
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x88]
cmp r15d, 0xffffffff
je 0x14001b0f0
test r15d, r15d
je 0x14001b0bf
cmp r15d, 1
jne 0x14001b0b1
mov rax, qword [rsp + 0x98]
movzx r9d, r13b
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x90], rax
add rsp, 0x48
pop r15
pop r13
pop r12
pop rbp
jmp 0x140019130
xor eax, eax
add rsp, 0x48
pop r15
pop r13
pop r12
pop rbp
ret
mov rax, qword [rsp + 0x98]
movzx r9d, r13b
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x90], rax
add rsp, 0x48
pop r15
pop r13
pop r12
pop rbp
jmp 0x140018900
test r13b, r13b
mov eax, 0x4e2f
mov ecx, 0x4e24
cmovne eax, ecx
add rsp, 0x48
pop r15
pop r13
pop r12
pop rbp
ret