Function at 0x140012180
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 [0x14006a0d0]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
movzx r11d, r9b
mov byte [rsp + 0x58], r9b
mov r13, r8
mov rax, qword [rbp + 0x410]
mov qword [rsp + 0x68], rax
lea r8, vtable.CBuffer.0
mov qword [rsp + 0x30], r8
xor eax, eax
mov r10d, eax
mov qword [rsp + 0x40], rax
mov r9d, eax
mov qword [rsp + 0x38], rax
mov ecx, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x70], r8
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x78], rax
lea r12, [rbp - 0x60]
mov eax, 0x4e24
mov r15d, 0x4e2f
test r11b, r11b
cmovne r15d, eax
lea r14, [0x1400604e0]
mov rsi, r14
test rdx, rdx
cmovne rsi, rdx
mov rdi, 0xffffffffffffffff
mov rbx, rdi
nop dword [rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140011a50
add rbx, 1
je 0x140011ad1
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140004060
test rax, rax
je 0x140011aab
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call fcn.14002fe20
mov rcx, qword [rsp + 0x50]
mov rax, rcx
mov r9, qword [rsp + 0x38]
sub rax, r9
mov r10, qword [rsp + 0x40]
add rax, r10
add rax, rbx
cmp rax, qword [rsp + 0x48]
ja 0x140011aba
add rcx, rbx
mov qword [rsp + 0x50], rcx
jmp 0x140011aba
mov rcx, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
test rcx, rcx
je 0x140011ad1
lea rax, [rcx - 1]
cmp byte [rax + r9], 0
cmove rcx, rax
mov qword [rsp + 0x50], rcx
cmp r9, r10
je 0x140011afb
test rcx, rcx
je 0x140011af3
mov r8, rcx
mov rdx, r10
mov rcx, r9
call fcn.14002fe20
mov rcx, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
mov r10, r9
mov qword [rsp + 0x40], r9
lea rbx, [rcx + 2]
cmp rbx, 2
jb 0x140011bb9
cmp rbx, qword [rsp + 0x48]
jbe 0x140011b7c
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 [0x1400543b8]
mov r10, rax
mov rcx, qword [rsp + 0x50]
test rax, rax
je 0x140011c3c
mov r9, rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rbx
lea rax, [rcx + r9]
test rax, rax
je 0x140011bb9
mov ecx, 0x3a
mov word [rax], cx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
mov r9, qword [rsp + 0x38]
sub rax, r9
mov r10, qword [rsp + 0x40]
add rax, 2
add rax, r10
cmp rax, qword [rsp + 0x48]
ja 0x140011bb9
add rcx, 2
mov qword [rsp + 0x50], rcx
test r13, r13
cmovne r14, r13
test rcx, rcx
je 0x140011bd7
lea rax, [rcx - 1]
cmp byte [rax + r9], 0
cmove rcx, rax
mov qword [rsp + 0x50], rcx
mov rbx, rdi
nop word [rax + rax]
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140011be0
add rbx, 1
je 0x140011c5a
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140004060
test rax, rax
je 0x140011c4b
mov r8, rbx
mov rdx, r14
mov rcx, rax
call fcn.14002fe20
mov rcx, qword [rsp + 0x50]
mov rax, rcx
mov r9, qword [rsp + 0x38]
sub rax, r9
mov r10, qword [rsp + 0x40]
add rax, r10
add rax, rbx
cmp rax, qword [rsp + 0x48]
ja 0x140011c5a
add rcx, rbx
mov qword [rsp + 0x50], rcx
jmp 0x140011c5a
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
jmp 0x140011bb9
mov rcx, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
xor r13d, r13d
mov eax, r13d
test rcx, rcx
cmovne rax, r10
mov rbx, rdi
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140011c70
test rcx, rcx
je 0x140011e3f
test r10, r10
je 0x140011e3f
lea rcx, [rbx + 2]
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rcx
shr rdx, 1
lea rsi, [rdx*4 + 2]
cmp rsi, 0x400
ja 0x140011e1f
mov rsi, r13
mov r11, r13
mov rax, r8
mul rbx
mov r15, rdx
lea r8, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
shr r15, 1
mov r14, r10
je 0x140011d73
mov r13, r15
lea r12, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rsi + r10]
movzx r8d, byte [rsi + r10 + 1]
add rsi, 2
lea rdx, [rsi + r10]
inc rsi
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r12]
mov byte [rbp + r11 - 0x60], al
and ecx, 3
shl ecx, 4
mov eax, r8d
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r12]
mov byte [rbp + r11 - 0x5f], al
movzx edx, byte [rdx]
and r8d, 0xf
shl r8d, 2
mov ecx, r8d
mov eax, edx
shr rax, 6
or rcx, rax
movzx eax, byte [rcx + r12]
mov byte [rbp + r11 - 0x5e], al
and edx, 0x3f
movzx eax, byte [rdx + r12]
mov byte [rbp + r11 - 0x5d], al
add r11, 4
sub r13, 1
jne 0x140011cf0
lea r12, [rbp - 0x60]
lea r8, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
lea rax, [r15 + r15*2]
sub rbx, rax
sub rbx, 1
je 0x140011de3
cmp rbx, 1
jne 0x140011e14
movzx ecx, byte [rsi + r14]
movzx edx, byte [rsi + r14 + 1]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r8]
mov byte [rbp + r11 - 0x60], al
and ecx, 3
shl ecx, 4
mov eax, edx
shr rax, 4
or rcx, rax
movzx eax, byte [rcx + r8]
mov byte [rbp + r11 - 0x5f], al
and edx, 0xf
shl edx, 2
movzx eax, byte [rdx + r8]
mov byte [rbp + r11 - 0x5e], al
mov byte [rbp + r11 - 0x5d], 0x3d
add r11, 4
mov byte [rbp + r11 - 0x60], 0
jmp 0x140011eef
movzx ecx, byte [rsi + r14]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r8]
mov byte [rbp + r11 - 0x60], al
and ecx, 3
shl ecx, 4
movzx eax, byte [rcx + r8]
mov byte [rbp + r11 - 0x5f], al
mov word [rbp + r11 - 0x5e], 0x3d3d
add r11, 4
mov byte [rbp + r11 - 0x60], 0
jmp 0x140011eef
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140004060
mov r12, rax
test rax, rax
jne 0x140011e9e
mov r15d, 0x4e20
mov r9, qword [rsp + 0x38]
lea rbx, vtable.CBuffer.0
mov qword [rsp + 0x70], rbx
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140011e5f
call fcn.140030840
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x30], rbx
test r9, r9
je 0x140011e71
mov rcx, r9
call fcn.140030840
mov eax, r15d
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.140029f00
mov rbx, qword [rsp + 0x4f0]
add rsp, 0x4b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, r13
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
test r9, r9
cmovne rax, r8
mov rdx, rdi
inc rdx
cmp byte [rax + rdx], r13b
jne 0x140011eb5
mov rcx, r13
test r9, r9
cmovne rcx, r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9, rsi
mov r8, r12
call fcn.140003b30
test al, al
je 0x140011e3a
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
mov r15d, r13d
mov r8, r13
mov qword [rsp + 0x50], r13
cmp r9, r10
cmovne r10, r9
mov qword [rsp + 0x40], r10
cmp qword [rsp + 0x48], 7
jae 0x140011f7e
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 [0x1400543b8]
mov r9, rax
mov r8, qword [rsp + 0x50]
test rax, rax
je 0x14001204c
mov qword [rsp + 0x38], rax
mov r10, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rbx
lea rcx, [r8 + r9]
test rcx, rcx
je 0x140011fd0
mov eax, dword [str.Basic]
mov dword [rcx], eax
movzx eax, word [0x14006116c]
mov word [rcx + 4], ax
movzx eax, byte [0x14006116e]
mov byte [rcx + 6], al
mov r8, qword [rsp + 0x50]
mov rax, r8
mov r9, qword [rsp + 0x38]
sub rax, r9
mov r10, qword [rsp + 0x40]
add rax, 7
add rax, r10
cmp rax, qword [rsp + 0x48]
ja 0x140011fd0
add r8, 7
mov qword [rsp + 0x50], r8
test r8, r8
je 0x140011ff0
lea rax, [r8 - 1]
cmp byte [rax + r9], 0
cmove r8, rax
mov qword [rsp + 0x50], r8
nop word [rax + rax]
inc rdi
cmp byte [r12 + rdi], 0
jne 0x140011ff0
add rdi, 1
je 0x14001206a
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140004060
test rax, rax
je 0x14001205b
mov r8, rdi
mov rdx, r12
mov rcx, rax
call fcn.14002fe20
mov r8, qword [rsp + 0x50]
mov rax, r8
mov r9, qword [rsp + 0x38]
sub rax, r9
mov r10, qword [rsp + 0x40]
add rax, r10
add rax, rdi
cmp rax, qword [rsp + 0x48]
ja 0x14001206a
add r8, rdi
mov qword [rsp + 0x50], r8
jmp 0x14001206a
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
jmp 0x140011fd0
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
cmp byte [rsp + 0x58], 0
je 0x1400120f6
cmp r9, r10
je 0x140012099
test r8, r8
je 0x140012094
mov rdx, r10
mov rcx, r9
call fcn.14002fe20
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x40], r9
cmp r8, qword [rsp + 0x48]
jae 0x1400120ce
mov rax, qword [rsp + 0x30]
mov rdx, r9
lea rcx, [rsp + 0x30]
test r8, r8
je 0x1400120c1
mov rax, qword [rax + 8]
call qword [0x1400543b8]
mov r9, rax
jmp 0x1400120ce
mov rax, qword [rax + 0x18]
call qword [0x1400543b8]
mov r9, r13
mov rax, r9
mov qword [rsp + 0x40], r13
mov r9, r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r13
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x68], rax
jmp 0x140011e3f
cmp r9, r10
je 0x14001211a
test r8, r8
je 0x140012115
mov rdx, r10
mov rcx, r9
call fcn.14002fe20
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x40], r9
cmp r8, qword [rsp + 0x48]
jae 0x14001214f
mov rax, qword [rsp + 0x30]
mov rdx, r9
lea rcx, [rsp + 0x30]
test r8, r8
je 0x140012142
mov rax, qword [rax + 8]
call qword [0x1400543b8]
mov r9, rax
jmp 0x14001214f
mov rax, qword [rax + 0x18]
call qword [0x1400543b8]
mov r9, r13
mov rax, r9
mov qword [rsp + 0x40], r13
mov r9, r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r13
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x60], rax
jmp 0x140011e3f
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 [0x14006a0d0]
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.14000d7e0
nop
mov eax, 0x4e24
mov r13d, 0x4e2f
test sil, sil
cmovne r13d, eax
mov dword [rsp + 0x64], r13d
lea r14, [0x1400604e0]
mov rsi, r14
test rbx, rbx
cmovne rsi, rbx
mov r8, qword [rbp - 0x38]
test r8, r8
je 0x140012281
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 0x140012290
add rbx, 1
je 0x1400122e3
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.140004060
test rax, rax
je 0x1400122df
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call fcn.14002fe20
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 0x1400122e3
add r8, rbx
mov qword [rbp - 0x38], r8
jmp 0x1400122e3
mov r8, qword [rbp - 0x38]
mov rax, r15
test r8, r8
cmovne rax, qword [rbp - 0x48]
movzx ecx, byte [rax]
test cl, cl
je 0x14001230b
cmp cl, 0x2f
jne 0x1400122fd
mov byte [rax], 0x5c
inc rax
movzx ecx, byte [rax]
test cl, cl
jne 0x1400122f5
mov r8, qword [rbp - 0x38]
mov rcx, r15
test r8, r8
cmovne rcx, qword [rbp - 0x48]
mov edx, 0x5c
call fcn.14002bc10
mov r15, rax
mov rdx, qword [rbp - 8]
test rax, rax
je 0x1400123ad
test rdx, rdx
je 0x140012349
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 0x140012350
add rbx, 1
je 0x1400123a0
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.140004060
test rax, rax
je 0x1400123a0
mov r8, rbx
lea rdx, [r15 + 1]
mov rcx, rax
call fcn.14002fe20
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 0x1400123a0
add rcx, rbx
mov qword [rbp - 8], rcx
mov byte [r15], 0
mov rdx, qword [rbp - 0x38]
jmp 0x1400124d8
xor esi, esi
cmp qword [rbp - 0x38], rsi
cmovne rsi, qword [rbp - 0x48]
test rdx, rdx
je 0x1400123d1
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 + rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x1400123e0
add rbx, 1
je 0x140012427
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.140004060
test rax, rax
je 0x140012427
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call fcn.14002fe20
mov rax, rbx
sub rax, qword [rbp - 0x20]
add rax, qword [rbp - 8]
add rax, qword [rbp - 0x18]
cmp rax, qword [rbp - 0x10]
ja 0x140012427
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 0x1400124aa
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 [0x1400543b8]
mov rcx, rax
mov rdx, qword [rbp - 0x38]
test rax, rax
je 0x1400124d8
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rbx
lea rax, [rdx + rcx]
test rax, rax
je 0x1400124d8
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 0x1400124d8
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 0x1400124f0
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
inc rax
cmp byte [rcx + rax], 0
jne 0x140012515
mov dword [rbp + 0x80], eax
test r12, r12
cmovne r14, r12
mov qword [rbp + 0x98], r14
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [r14 + rax], 0
jne 0x140012540
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, [0x14006109c]
xor ecx, ecx
call fcn.1400297b0
test eax, eax
jne 0x140013d94
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 0x1400125db
mov r8, qword [r14 + 0x1030]
jmp 0x1400125de
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.140029810
cmp eax, 0x90312
jne 0x140013d67
mov r11, qword [rbp - 0x60]
test r11, r11
je 0x140013d6b
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 0x14001281b
mov r10, r12
mov r9, r12
mov rax, r15
mul rbx
mov rsi, rdx
lea r13, [0x140000000]
shr rsi, 1
je 0x140012738
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 + 0x60820]
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 + 0x60820]
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 + 0x60820]
mov byte [rbp + r9 + 0x282], al
and edx, 0x3f
movzx eax, byte [rdx + r13 + 0x60820]
mov byte [rbp + r9 + 0x283], al
add r9, 4
sub r14, 1
jne 0x1400126a0
mov r14, qword [rbp]
lea rax, [rsi + rsi*2]
sub rbx, rax
sub rbx, 1
je 0x1400127c9
cmp rbx, 1
jne 0x14001280b
movzx ecx, byte [r10 + r11]
movzx edx, byte [r10 + r11 + 1]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x60820]
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 + 0x60820]
mov byte [rbp + r9 + 0x281], al
and edx, 0xf
shl edx, 2
movzx eax, byte [rdx + r13 + 0x60820]
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 0x1400129e9
movzx edx, byte [r10 + r11]
mov eax, edx
shr rax, 2
movzx eax, byte [rax + r13 + 0x60820]
mov byte [rbp + r9 + 0x280], al
and edx, 3
shl edx, 4
movzx eax, byte [rdx + r13 + 0x60820]
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 0x1400129e9
mov rdx, rsi
lea rcx, [rbp + 0x50]
call fcn.140004060
mov rdi, rax
test rax, rax
jne 0x14001285d
lea rcx, [rbp + 0x260]
call qword [0x14006a080]
mov rcx, qword [rbp - 0x60]
call fcn.1400297e0
lea rcx, [rbp + 0x250]
call qword [0x14006a090]
mov r13d, 0x4e20
jmp 0x140013d94
mov ebx, dword [rbp - 0x68]
mov r11, qword [rbp - 0x60]
test r11, r11
je 0x140013d5a
lea rcx, [rbx + 2]
mov rax, r15
mul rcx
shr rdx, 1
lea rax, [rdx*4 + 2]
cmp rsi, rax
jb 0x140013d5a
mov r10, r12
mov r9, r12
mov rax, r15
mul rbx
mov rsi, rdx
lea r13, [0x140000000]
shr rsi, 1
je 0x14001293b
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 + 0x60820]
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 + 0x60820]
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 + 0x60820]
mov byte [r9 + rdi + 2], al
and edx, 0x3f
movzx eax, byte [rdx + r13 + 0x60820]
mov byte [r9 + rdi + 3], al
add r9, 4
sub r14, 1
jne 0x1400128b0
mov r14, qword [rbp]
lea rax, [rsi + rsi*2]
sub rbx, rax
sub rbx, 1
je 0x1400129a9
cmp rbx, 1
jne 0x1400129e1
movzx ecx, byte [r10 + r11]
movzx edx, byte [r10 + r11 + 1]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x60820]
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 + 0x60820]
mov byte [r9 + rdi + 1], al
and edx, 0xf
shl edx, 2
movzx eax, byte [rdx + r13 + 0x60820]
mov byte [r9 + rdi + 2], al
mov byte [r9 + rdi + 3], 0x3d
jmp 0x1400129dd
movzx ecx, byte [r10 + r11]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x60820]
mov byte [r9 + rdi], al
and ecx, 3
shl ecx, 4
movzx eax, byte [rcx + r13 + 0x60820]
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.1400297e0
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 0x140012a71
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 0x140012a96
test r8, r8
je 0x140012a8e
call fcn.14002fe20
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 0x140012b59
cmp rbx, qword [rbp - 0x80]
jbe 0x140012b12
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 [0x1400543b8]
mov rcx, rax
mov r8, qword [rbp - 0x78]
test rax, rax
je 0x140012bca
mov qword [rsp + 0x70], rax
mov rdx, rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rbx
lea r9, [r8 + rcx]
test r9, r9
je 0x140012b59
mov eax, dword [str.NTLM]
mov dword [r9], eax
movzx eax, word [0x140061174]
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 0x140012b59
add r8, 6
mov qword [rbp - 0x78], r8
test r8, r8
je 0x140012b6e
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 0x140012b75
add rbx, 1
je 0x140012bdf
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.140004060
test rax, rax
je 0x140012bd6
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call fcn.14002fe20
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 0x140012bdf
add r8, rbx
mov qword [rbp - 0x78], r8
jmp 0x140012bdf
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
jmp 0x140012b59
mov r8, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x78]
movzx r15d, byte [rsp + 0x60]
mov rax, r12
test r15b, r15b
je 0x140012c0b
test r8, r8
cmovne rax, rdx
mov qword [rbp + 0x118], rax
lea rax, str.Keep_Alive
mov qword [rbp + 0x108], rax
jmp 0x140012c27
test r8, r8
cmovne rax, rdx
mov qword [rbp + 0x110], rax
lea rax, str.Keep_Alive
mov qword [rbp + 0x100], rax
mov esi, 0xa
nop dword [rax]
mov ebx, 0x4e26
lea rcx, [rbp + 0xb0]
call fcn.14000ee20
mov rdi, rax
test rax, rax
je 0x140012ca4
mov rcx, qword [r14]
mov rax, qword [rcx + 0x20]
mov rcx, r14
call qword [0x1400543b8]
test eax, eax
jne 0x140012c9c
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], r12b
jne 0x140012c64
mov rdx, rdi
mov rcx, r14
call fcn.14000df90
cmp rax, 0xfffffffffffffffd
ja 0x140012c91
mov rcx, r14
call fcn.14000e0a0
cmp rax, 0xfffffffffffffffd
ja 0x140012c91
mov ebx, r12d
jmp 0x140012c9c
cmp rax, 0xfffffffffffffffe
jne 0x140012c9c
mov ebx, 0x4e3f
mov rcx, rdi
call fcn.140030840
test ebx, ebx
jne 0x140012d37
xor r9d, r9d
lea rdx, [rbp + 0x130]
mov rcx, r14
call fcn.140011740
mov ebx, eax
test eax, eax
jne 0x140012d37
lea rdx, [rbp + 0x130]
mov rcx, r14
call fcn.140011580
mov ebx, eax
test eax, eax
jne 0x140012d37
cmp dword [rbp + 0x134], 1
jl 0x140012cff
jne 0x140012ced
cmp dword [rbp + 0x138], 1
jl 0x140012cff
cmp dword [rbp + 0x16c], 1
je 0x140012cff
cmp dword [rbp + 0x170], 1
jne 0x140012d0f
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 0x18]
call qword [0x1400543b8]
mov ecx, dword [rbp + 0x130]
call fcn.140010f80
mov ebx, eax
test eax, eax
jne 0x140012d37
cmp byte [rbp + 0x24d], r12b
je 0x140012d37
sub esi, 1
jne 0x140012c30
mov ebx, 0x4e38
cmp dword [rsp + 0x64], ebx
jne 0x140012e12
mov r14d, r12d
mov rax, qword [rbp + 0x1b8]
test r15b, r15b
cmovne rax, qword [rbp + 0x190]
test rax, rax
jle 0x140012e12
lea r12, [rbp + 0x188]
lea rax, [rbp + 0x1b0]
test r15b, r15b
cmove r12, rax
xor r15d, r15d
nop word [rax + rax]
mov rax, qword [r12]
cmp qword [r15 + rax + 0x20], 0
je 0x140012deb
mov rsi, qword [r15 + rax + 0x10]
test rsi, rsi
je 0x140012deb
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 + 0x611f8]
mov rdx, rcx
mov rcx, rsi
call fcn.140032a1c
test eax, eax
je 0x140012de2
inc edi
inc rbx
mov rax, rbx
shl rax, 4
mov rcx, qword [rax + r13 + 0x611f0]
test rcx, rcx
jne 0x140012db0
jmp 0x140012deb
mov rdx, qword [r12]
cmp edi, 1
je 0x140012e36
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 0x140012d80
mov r13d, dword [rsp + 0x64]
lea rcx, [rbp + 0x260]
call qword [0x14006a080]
lea rcx, [rbp + 0x250]
call qword [0x14006a090]
jmp 0x140013d94
movsxd rax, r14d
lea rcx, [rax + rax*4]
cmp qword [rdx + rcx*8 + 0x20], 0
je 0x140012e4c
mov rcx, qword [rdx + rcx*8 + 0x10]
jmp 0x140012e4e
xor ecx, ecx
mov edx, 0x20
call fcn.14002bc10
mov r12, rax
test rax, rax
je 0x140012e74
movzx ecx, byte [r12]
cmp cl, 0x20
je 0x140012e6f
cmp cl, 9
jne 0x140012e74
inc r12
jmp 0x140012e60
test r12, r12
je 0x140012e12
lea rax, [rbp + 0x280]
mov qword [rbp - 0x30], rax
mov rsi, 0xffffffffffffffff
nop dword [rax + rax]
inc rsi
cmp byte [r12 + rsi], 0
jne 0x140012e90
cmp rsi, 0xffffffffffffffff
jne 0x140012eaa
inc rsi
cmp byte [r12 + rsi], 0
jne 0x140012ea0
lea rax, [rsi + 3]
shr rax, 2
lea r14, [rax + rax*2]
movabs rcx, 0x100002600
cmp r14, 0x400
jbe 0x140012f14
mov rcx, rsi
test rsi, rsi
je 0x140012edf
cmp byte [r12 + rcx - 1], 0x3d
jne 0x140012edf
sub rcx, 1
jne 0x140012ed1
mov rax, rcx
and eax, 3
jbe 0x1400132ef
shr rcx, 2
lea r14, [rcx*2 - 1]
add r14, rax
add r14, rcx
cmp r14, 0x400
ja 0x1400132ef
movabs rcx, 0x100002600
xor r15d, r15d
xor ebx, ebx
xor r11d, r11d
xor r14d, r14d
mov qword [rbp - 0x70], r14
test rsi, rsi
je 0x1400132dd
nop dword [rax]
xor edi, edi
xor r9d, r9d
xor r8d, r8d
xor r10d, r10d
cmp r11, rsi
jae 0x1400130df
lfence
nop word [rax + rax]
movzx r10d, byte [r11 + r12]
inc r11
cmp r10d, 0x41
jb 0x140012f64
cmp r10b, 0x5a
jbe 0x140012f9e
lea eax, [r10 - 0x61]
cmp al, 0x19
jbe 0x140012f9e
lea eax, [r10 - 0x2f]
cmp al, 0xa
jbe 0x140012f9e
cmp r10b, 0x2b
je 0x140012f9e
cmp r10b, 0x3d
je 0x140012f99
cmp r10b, 0x20
ja 0x140012f8c
bt rcx, r10
jb 0x140012f92
mov r15d, 1
cmp r11, rsi
jb 0x140012f50
jmp 0x140012f9e
mov ebx, 1
cmp r11, rsi
jae 0x1400130df
lfence
nop word [rax + rax]
movzx r8d, byte [r11 + r12]
inc r11
cmp r8d, 0x41
jb 0x140012fc4
cmp r8b, 0x5a
jbe 0x140013001
lea eax, [r8 - 0x61]
cmp al, 0x19
jbe 0x140013001
lea eax, [r8 - 0x2f]
cmp al, 0xa
jbe 0x140013001
cmp r8b, 0x2b
je 0x140013001
cmp r8b, 0x3d
je 0x140012ffc
cmp r8b, 0x20
ja 0x140012fec
bt rcx, r8
jb 0x140012ff2
mov r15d, 1
cmp r11, rsi
jb 0x140012fb0
jmp 0x1400130df
mov ebx, 1
cmp r11, rsi
jae 0x1400130df
lfence
nop dword [rax]
mov ecx, r8d
mov edx, ebx
movzx r9d, byte [r11 + r12]
inc r11
cmp r9d, 0x41
jb 0x140013029
cmp r9b, 0x5a
jbe 0x14001306f
lea eax, [r9 - 0x61]
cmp al, 0x19
jbe 0x14001306f
lea eax, [r9 - 0x2f]
cmp al, 0xa
jbe 0x14001306f
cmp r9b, 0x2b
je 0x14001306f
cmp r9b, 0x3d
je 0x14001306a
cmp r9b, 0xd
je 0x140013063
cmp r9b, 0xa
je 0x140013063
cmp r9b, 0x20
je 0x140013063
cmp r9b, 9
je 0x140013063
mov r15d, 1
cmp r11, rsi
jb 0x140013010
jmp 0x1400130df
mov ebx, 1
cmp r11, rsi
jae 0x1400130df
lfence
nop word [rax + rax]
mov ecx, r8d
movzx edi, byte [r11 + r12]
inc r11
cmp edi, 0x41
jb 0x140013096
cmp dil, 0x5a
jbe 0x1400130db
lea eax, [rdi - 0x61]
cmp al, 0x19
jbe 0x1400130db
lea eax, [rdi - 0x2f]
cmp al, 0xa
jbe 0x1400130db
cmp dil, 0x2b
je 0x1400130db
cmp dil, 0x3d
je 0x1400130d6
cmp dil, 0x20
ja 0x1400130c6
movabs r8, 0x100002600
bt r8, rdi
jb 0x1400130cc
mov r15d, 1
mov r8d, ecx
cmp r11, rsi
jb 0x140013080
jmp 0x1400130db
mov ebx, 1
mov r14, qword [rbp - 0x70]
mov ecx, r8d
mov edx, r9d
lea eax, [r10 - 0x2b]
cmp eax, 0x2f
ja 0x140013105
movabs r13, 0xffffffc07ff1
bt r13, rax
lea r13, [0x140000000]
jb 0x140013112
lea eax, [r10 - 0x61]
cmp eax, 0x19
ja 0x140013219
mov r8, rcx
mov r9, rdx
lea eax, [rcx - 0x2b]
cmp eax, 0x2f
ja 0x140013137
movabs r13, 0xffffffc07ff1
bt r13, rax
lea r13, [0x140000000]
jb 0x140013143
lea eax, [rcx - 0x61]
cmp eax, 0x19
ja 0x140013219
lea eax, [rdx - 0x2b]
movabs rcx, 0xffffffc07ff1
cmp eax, 0x2f
ja 0x14001315b
bt rcx, rax
jb 0x140013167
lea eax, [rdx - 0x61]
cmp eax, 0x19
ja 0x140013219
lea eax, [rdi - 0x2b]
cmp eax, 0x2f
ja 0x140013175
bt rcx, rax
jb 0x140013181
lea eax, [rdi - 0x61]
cmp eax, 0x19
ja 0x140013219
movzx ecx, byte [r10 + r13 + 0x607a0]
movzx edx, byte [r8 + r13 + 0x607a0]
movzx r10d, byte [r9 + r13 + 0x607a0]
movzx r8d, byte [rdi + r13 + 0x607a0]
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 0x1400132dd
cmp r11, rsi
jae 0x1400132dd
movabs rcx, 0x100002600
jmp 0x140012f30
mov ecx, r10d
call fcn.140003b00
test eax, eax
je 0x1400132dd
mov ecx, r8d
call fcn.140003b00
test eax, eax
je 0x1400132dd
mov ecx, r9d
call fcn.140003b00
test eax, eax
je 0x1400132a3
cmp edi, 0x3d
jne 0x1400132a3
movzx ecx, byte [r10 + r13 + 0x607a0]
mov eax, r8d
movzx edx, byte [rax + r13 + 0x607a0]
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 + 0x607a0]
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 0x1400132d9
cmp r9d, 0x3d
jne 0x1400132dd
cmp edi, r9d
jne 0x1400132dd
mov eax, r8d
movzx edx, byte [rax + r13 + 0x607a0]
shr dl, 4
and dl, 3
movzx ecx, byte [r10 + r13 + 0x607a0]
shl cl, 2
xor dl, cl
mov byte [rbp + r14 + 0x280], dl
inc r14
mov qword [rbp - 0x70], r14
test r15d, r15d
je 0x140013753
test r14, r14
je 0x140012e12
mov rdx, r14
lea rcx, [rbp + 0x50]
call fcn.140004060
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140012e12
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp byte [r12 + rsi], 0
jne 0x140013310
cmp rsi, 0xffffffffffffffff
jne 0x14001332a
inc rsi
cmp byte [r12 + rsi], 0
jne 0x140013320
lea rax, [rsi + 3]
shr rax, 2
lea rax, [rax + rax*2]
cmp r14, rax
jae 0x140013374
mov rcx, rsi
test rsi, rsi
je 0x140013351
cmp byte [r12 + rcx - 1], 0x3d
jne 0x140013351
sub rcx, 1
jne 0x140013343
mov rax, rcx
and eax, 3
jbe 0x140012e12
shr rcx, 2
lea rax, [rax + rcx*2]
dec rcx
add rcx, rax
cmp r14, rcx
jb 0x140012e12
xor r15d, r15d
xor ebx, ebx
xor r11d, r11d
xor r14d, r14d
mov qword [rbp - 0x70], r14
test rsi, rsi
je 0x14001374a
nop dword [rax]
xor edi, edi
xor r9d, r9d
xor r8d, r8d
xor r10d, r10d
cmp r11, rsi
jae 0x14001355f
lfence
nop word [rax + rax]
movzx r10d, byte [r11 + r12]
inc r11
cmp r10d, 0x41
jb 0x1400133c4
cmp r10b, 0x5a
jbe 0x140013408
lea eax, [r10 - 0x61]
cmp al, 0x19
jbe 0x140013408
lea eax, [r10 - 0x2f]
cmp al, 0xa
jbe 0x140013408
cmp r10b, 0x2b
je 0x140013408
cmp r10b, 0x3d
je 0x140013403
cmp r10b, 0x20
ja 0x1400133f6
movabs rcx, 0x100002600
bt rcx, r10
jb 0x1400133fc
mov r15d, 1
cmp r11, rsi
jb 0x1400133b0
jmp 0x140013408
mov ebx, 1
cmp r11, rsi
jae 0x14001355f
lfence
nop dword [rax]
nop dword [rax + rax]
movzx r8d, byte [r11 + r12]
inc r11
cmp r8d, 0x41
jb 0x140013434
cmp r8b, 0x5a
jbe 0x14001347b
lea eax, [r8 - 0x61]
cmp al, 0x19
jbe 0x14001347b
lea eax, [r8 - 0x2f]
cmp al, 0xa
jbe 0x14001347b
cmp r8b, 0x2b
je 0x14001347b
cmp r8b, 0x3d
je 0x140013476
cmp r8b, 0x20
ja 0x140013466
movabs rcx, 0x100002600
bt rcx, r8
jb 0x14001346c
mov r15d, 1
cmp r11, rsi
jb 0x140013420
jmp 0x14001355f
mov ebx, 1
cmp r11, rsi
jae 0x14001355f
lfence
nop word [rax + rax]
mov ecx, r8d
mov edx, ebx
movzx r9d, byte [r11 + r12]
inc r11
cmp r9d, 0x41
jb 0x1400134a9
cmp r9b, 0x5a
jbe 0x1400134ef
lea eax, [r9 - 0x61]
cmp al, 0x19
jbe 0x1400134ef
lea eax, [r9 - 0x2f]
cmp al, 0xa
jbe 0x1400134ef
cmp r9b, 0x2b
je 0x1400134ef
cmp r9b, 0x3d
je 0x1400134ea
cmp r9b, 0xd
je 0x1400134e3
cmp r9b, 0xa
je 0x1400134e3
cmp r9b, 0x20
je 0x1400134e3
cmp r9b, 9
je 0x1400134e3
mov r15d, 1
cmp r11, rsi
jb 0x140013490
jmp 0x14001355f
mov ebx, 1
cmp r11, rsi
jae 0x14001355f
lfence
nop word [rax + rax]
mov ecx, r8d
movzx edi, byte [r11 + r12]
inc r11
cmp edi, 0x41
jb 0x140013516
cmp dil, 0x5a
jbe 0x14001355b
lea eax, [rdi - 0x61]
cmp al, 0x19
jbe 0x14001355b
lea eax, [rdi - 0x2f]
cmp al, 0xa
jbe 0x14001355b
cmp dil, 0x2b
je 0x14001355b
cmp dil, 0x3d
je 0x140013556
cmp dil, 0x20
ja 0x140013546
movabs r8, 0x100002600
bt r8, rdi
jb 0x14001354c
mov r15d, 1
mov r8d, ecx
cmp r11, rsi
jb 0x140013500
jmp 0x14001355b
mov ebx, 1
mov r14, qword [rbp - 0x70]
mov ecx, r8d
mov edx, r9d
lea eax, [r10 - 0x2b]
cmp eax, 0x2f
ja 0x140013585
movabs r13, 0xffffffc07ff1
bt r13, rax
lea r13, [0x140000000]
jb 0x140013592
lea eax, [r10 - 0x61]
cmp eax, 0x19
ja 0x140013689
mov r8, rcx
mov r9, rdx
lea eax, [rcx - 0x2b]
cmp eax, 0x2f
ja 0x1400135b7
movabs r13, 0xffffffc07ff1
bt r13, rax
lea r13, [0x140000000]
jb 0x1400135c3
lea eax, [rcx - 0x61]
cmp eax, 0x19
ja 0x140013689
lea eax, [rdx - 0x2b]
movabs rcx, 0xffffffc07ff1
cmp eax, 0x2f
ja 0x1400135db
bt rcx, rax
jb 0x1400135e7
lea eax, [rdx - 0x61]
cmp eax, 0x19
ja 0x140013689
lea eax, [rdi - 0x2b]
cmp eax, 0x2f
ja 0x1400135f5
bt rcx, rax
jb 0x140013601
lea eax, [rdi - 0x61]
cmp eax, 0x19
ja 0x140013689
movzx ecx, byte [r10 + r13 + 0x607a0]
movzx edx, byte [r8 + r13 + 0x607a0]
movzx r10d, byte [r9 + r13 + 0x607a0]
movzx r8d, byte [rdi + r13 + 0x607a0]
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 0x14001374a
cmp r11, rsi
jae 0x14001374a
jmp 0x140013390
mov ecx, r10d
call fcn.140003b00
test eax, eax
je 0x14001374a
mov ecx, r8d
call fcn.140003b00
test eax, eax
je 0x14001374a
mov ecx, r9d
call fcn.140003b00
test eax, eax
je 0x140013710
cmp edi, 0x3d
jne 0x140013710
movzx ecx, byte [r10 + r13 + 0x607a0]
mov eax, r8d
movzx edx, byte [rax + r13 + 0x607a0]
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 + 0x607a0]
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 0x140013746
cmp r9d, 0x3d
jne 0x14001374a
cmp edi, r9d
jne 0x14001374a
mov eax, r8d
movzx edx, byte [rax + r13 + 0x607a0]
shr dl, 4
and dl, 3
movzx ecx, byte [r10 + r13 + 0x607a0]
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 0x140012e12
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
mov dword [rbp + 0x40], 0
mov dword [rbp + 0x44], 1
lea rax, [rbp + 0x30]
mov qword [rbp + 0x48], rax
mov dword [rbp - 0x68], 0
mov dword [rbp - 0x64], 2
mov qword [rbp - 0x60], 0
mov rcx, qword [rbp]
cmp qword [rcx + 0x1040], 0
je 0x1400137ac
mov r8, qword [rcx + 0x1030]
jmp 0x1400137af
xor r8d, r8d
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], 0
lea rax, [rbp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov dword [rsp + 0x20], 0
mov r9d, 0x101
lea rdx, [rbp + 0x260]
lea rcx, [rbp + 0x250]
call fcn.140029810
test eax, eax
jne 0x140013d43
mov r11, qword [rbp - 0x60]
test r11, r11
je 0x140012e12
mov ebx, dword [rbp - 0x68]
lea rcx, [rbx + 2]
movabs rsi, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rcx
shr rdx, 1
lea rdi, [rdx*4 + 2]
cmp rdi, 0x400
ja 0x1400139df
xor r15d, r15d
mov r10d, r15d
mov r9d, r15d
mov rax, rsi
mul rbx
mov rdi, rdx
shr rdi, 1
je 0x140013906
mov rsi, rdi
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 + 0x60820]
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 + 0x60820]
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 + 0x60820]
mov byte [rbp + r9 + 0x282], al
and edx, 0x3f
movzx eax, byte [rdx + r13 + 0x60820]
mov byte [rbp + r9 + 0x283], al
add r9, 4
sub rsi, 1
jne 0x140013872
lea rax, [rdi + rdi*2]
sub rbx, rax
sub rbx, 1
je 0x140013990
cmp rbx, 1
jne 0x1400139d2
movzx ecx, byte [r10 + r11]
movzx edx, byte [r10 + r11 + 1]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x60820]
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 + 0x60820]
mov byte [rbp + r9 + 0x281], al
and edx, 0xf
shl edx, 2
movzx eax, byte [rdx + r13 + 0x60820]
mov byte [rbp + r9 + 0x282], al
mov byte [rbp + r9 + 0x283], 0x3d
add r9, 4
mov byte [rbp + r9 + 0x280], r15b
jmp 0x140013b74
movzx ecx, byte [r10 + r11]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x60820]
mov byte [rbp + r9 + 0x280], al
and ecx, 3
shl ecx, 4
movzx eax, byte [rcx + r13 + 0x60820]
mov byte [rbp + r9 + 0x281], al
mov word [rbp + r9 + 0x282], 0x3d3d
add r9, 4
mov byte [rbp + r9 + 0x280], r15b
jmp 0x140013b74
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.140004060
mov r14, rax
test rax, rax
je 0x140013d36
mov ebx, dword [rbp - 0x68]
mov r11, qword [rbp - 0x60]
test r11, r11
je 0x140013d36
lea rcx, [rbx + 2]
mov rax, rsi
mul rcx
shr rdx, 1
lea rax, [rdx*4 + 2]
cmp rdi, rax
jb 0x140013d36
xor r15d, r15d
mov r10d, r15d
mov r9d, r15d
mov rax, rsi
mul rbx
mov rdi, rdx
shr rdi, 1
je 0x140013aca
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 + 0x60820]
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 + 0x60820]
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 + 0x60820]
mov byte [r9 + r14 + 2], al
and edx, 0x3f
movzx eax, byte [rdx + r13 + 0x60820]
mov byte [r9 + r14 + 3], al
add r9, 4
sub rsi, 1
jne 0x140013a43
lea rax, [rdi + rdi*2]
sub rbx, rax
sub rbx, 1
je 0x140013b38
cmp rbx, 1
jne 0x140013b70
movzx ecx, byte [r11 + r10]
movzx edx, byte [r11 + r10 + 1]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x60820]
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 + 0x60820]
mov byte [r9 + r14 + 1], al
and edx, 0xf
shl edx, 2
movzx eax, byte [rdx + r13 + 0x60820]
mov byte [r9 + r14 + 2], al
mov byte [r9 + r14 + 3], 0x3d
jmp 0x140013b6c
movzx ecx, byte [r11 + r10]
mov eax, ecx
shr rax, 2
movzx eax, byte [rax + r13 + 0x60820]
mov byte [r9 + r14], al
and ecx, 3
shl ecx, 4
movzx eax, byte [rcx + r13 + 0x60820]
mov byte [r9 + r14 + 1], al
mov word [r9 + r14 + 2], 0x3d3d
add r9, 4
mov byte [r9 + r14], r15b
mov dword [rsp + 0x64], r15d
mov rdx, r15
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 0x140013c02
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 [0x1400543b8]
mov rcx, rax
test rax, rax
je 0x140013c46
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 0x140013c46
mov eax, dword [str.NTLM]
mov dword [r8], eax
movzx eax, word [0x140061174]
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 0x140013c46
add rdx, 6
mov qword [rbp - 0x78], rdx
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.140004140
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
cmp byte [rsp + 0x60], 0
je 0x140013ccb
cmp rcx, rdx
je 0x140013c85
test r8, r8
je 0x140013c80
call fcn.14002fe20
mov r8, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rcx
cmp r8, qword [rbp - 0x80]
jae 0x140013cc1
mov rax, qword [rsp + 0x68]
mov rdx, rcx
lea rcx, [rsp + 0x68]
test r8, r8
je 0x140013cb4
mov rax, qword [rax + 8]
call qword [0x1400543b8]
mov rcx, rax
mov rax, qword [rbp + 8]
mov qword [rax + 0x68], rcx
jmp 0x140013d24
mov rax, qword [rax + 0x18]
call qword [0x1400543b8]
mov rcx, r15
mov rax, qword [rbp + 8]
mov qword [rax + 0x68], rcx
jmp 0x140013d24
cmp rcx, rdx
je 0x140013ce8
test r8, r8
je 0x140013ce3
call fcn.14002fe20
mov r8, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rcx
cmp r8, qword [rbp - 0x80]
jae 0x140013d1c
mov rax, qword [rsp + 0x68]
mov rdx, rcx
lea rcx, [rsp + 0x68]
test r8, r8
je 0x140013d0f
mov rax, qword [rax + 8]
call qword [0x1400543b8]
mov rcx, rax
jmp 0x140013d1c
mov rax, qword [rax + 0x18]
call qword [0x1400543b8]
mov rcx, r15
mov rax, qword [rbp + 8]
mov qword [rax + 0x60], rcx
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r15
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
lea rcx, [rbp + 0x270]
call qword [0x14006a080]
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140012e12
call fcn.1400297e0
jmp 0x140012e12
mov rcx, r11
call fcn.1400297e0
jmp 0x140012e17
test eax, eax
jne 0x140013d78
lea rcx, [rbp + 0x260]
call qword [0x14006a080]
lea rcx, [rbp + 0x250]
call qword [0x14006a090]
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140013d94
call fcn.1400297e0
nop
lea rbx, vtable.CBuffer.0
mov qword [rbp + 0x220], rbx
mov rcx, qword [rbp + 0x228]
test rcx, rcx
je 0x140013db3
call fcn.140030840
mov qword [rbp + 0x1f8], rbx
mov rcx, qword [rbp + 0x200]
test rcx, rcx
je 0x140013dcb
call fcn.140030840
mov qword [rbp + 0x1d0], rbx
mov rcx, qword [rbp + 0x1d8]
test rcx, rcx
je 0x140013de3
call fcn.140030840
lea rcx, [rbp + 0x1a8]
call fcn.140017aa0
lea rcx, [rbp + 0x180]
call fcn.140017aa0
mov qword [rbp + 0x140], rbx
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x140013e14
call fcn.140030840
nop
mov qword [rbp + 0x50], rbx
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x140013e27
call fcn.140030840
nop
mov qword [rsp + 0x68], rbx
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140013e3c
call fcn.140030840
nop
mov qword [rbp - 0x28], rbx
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140013e4f
call fcn.140030840
nop
mov qword [rbp - 0x58], rbx
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x140013e61
call fcn.140030840
mov eax, r13d
mov rcx, qword [rbp + 0x680]
xor rcx, rsp
call fcn.140029f00
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 0x1400140be
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 0x140013fd4
mov rsi, qword [r14 + rax + 0x10]
test rsi, rsi
je 0x140013fd4
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 fcn.140032a1c
test eax, eax
je 0x140013ff0
inc rdi
lea rdx, str.BASIC
mov rax, rdi
inc ebx
shl rax, 4
mov rcx, qword [rax + rdx]
test rcx, rcx
jne 0x140013fa0
mov rax, qword [rbp + 8]
mov ebx, 0xffffffff
cmp r15d, ebx
jge 0x140014002
cmp qword [r14 + rax + 0x20], 0
mov r15d, ebx
je 0x140013ff6
mov rcx, qword [r14 + rax + 0x10]
jmp 0x140013ff8
mov rax, qword [rbp + 8]
jmp 0x140013fd9
xor ecx, ecx
mov edx, 0x20
call fcn.14002bc10
inc r12d
lea rdx, str.BASIC
movsxd rax, r12d
add r14, 0x28
cmp rax, qword [rbp + 0x10]
jl 0x140013f73
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x88]
cmp r15d, 0xffffffff
je 0x1400140be
test r15d, r15d
je 0x14001408d
cmp r15d, 1
jne 0x14001407f
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 0x140012180
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 0x140011990
test r13b, r13b
mov eax, 0x4e2f
mov ecx, 0x4e24
cmovne eax, ecx
add rsp, 0x48
pop r15
pop r13
pop r12
pop rbp
ret