Function at 0x14002bd00
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x78
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov rbx, rdx
mov rdi, rcx
call fcn.140028860
cmp byte [rdi + 0x130], 0x3f
jne 0x14002cb53
cmp dword [rdi + 0x134], 1
jne 0x14002cb53
mov rcx, rdi
call fcn.140028860
xor esi, esi
mov r8d, esi
mov dword [rbp + 0x28], esi
movsx edx, byte [rdi + 0x130]
lea eax, [rdx - 0x21]
lea r10, [0x140000000]
cmp eax, 0x31
ja case.0x14002bd7d.41
cdqe
movzx eax, byte [r10 + rax + 0x2cdb4]
mov ecx, dword [r10 + rax*4 + 0x2cd90]
add rcx, r10
jmp rcx
mov dword [rbp + 0x28], 1
mov rcx, rdi
call fcn.140028860
mov ecx, 0x18
call fcn.140095cd8
mov rbx, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x14002bdd0
mov rcx, qword [rbp + 0x30]
mov edx, dword [rcx]
and edx, 0xffffffef
mov rcx, rdi
call fcn.14002bba0
lea rcx, vtable.CAssertElxT_0_.0
mov qword [rbx], rcx
mov qword [rbx + 8], rax
cmp dword [rbp + 0x28], 0
sete sil
mov dword [rbx + 0x10], esi
jmp 0x14002bdd3
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.14000c940
jmp 0x14002cb3e
movzx eax, byte [rdi + 0x140]
cmp al, 0x21
je 0x14002bdf4
cmp al, 0x3d
je 0x14002bdfb
jmp case.0x14002bd7d.39
mov dword [rbp + 0x28], 1
mov rcx, rdi
call fcn.140028860
mov rcx, rdi
call fcn.140028860
mov ecx, 0x18
call fcn.140095cd8
mov rbx, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x14002be4d
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
or edx, 0x10
mov rcx, rdi
call fcn.14002bba0
lea rcx, vtable.CAssertElxT_0_.0
mov qword [rbx], rcx
mov qword [rbx + 8], rax
mov eax, esi
cmp dword [rbp + 0x28], eax
sete al
mov dword [rbx + 0x10], eax
jmp 0x14002be50
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.14000c940
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x14002cb42
cmp byte [rdi + 0x130], 0x50
jne case.0x14002bd7d.34
mov rcx, rdi
call fcn.140028860
movzx eax, byte [rdi + 0x130]
cmp al, 0x3c
jne 0x14002be8a
mov byte [rbp + 0x38], 0x3e
jmp 0x14002be9c
mov cl, 0x3e
movzx ebx, cl
mov ecx, 0x27
cmp al, cl
cmove ebx, ecx
mov dword [rbp + 0x38], ebx
mov rcx, rdi
call fcn.140028860
mov eax, dword [rdi + 0x10]
mov dword [rbp + 0x40], eax
inc eax
mov dword [rdi + 0x10], eax
mov ecx, 0x38
call fcn.140095cd8
mov rdx, rax
test rax, rax
je 0x14002bef2
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
and eax, 0x10
lea rcx, vtable.CListElxT_0_.0
mov qword [rdx], rcx
mov qword [rdx + 0x10], rsi
mov dword [rdx + 0x18], esi
lea rcx, vtable.CBufferT_class_ElxInterface____ptr64_.0
mov qword [rdx + 8], rcx
mov dword [rdx + 0x28], esi
mov qword [rdx + 0x20], rsi
mov dword [rdx + 0x30], eax
jmp 0x14002bef5
mov rdx, rsi
mov rcx, rdi
call fcn.14000c940
mov qword [rbp - 0x58], rax
mov ecx, 0x38
call fcn.140095cd8
mov rdx, rax
lea rcx, vtable.CBracketElxT_char_.0
lea rbx, vtable.CBufferT_char_.0
test rax, rax
je 0x14002bf4e
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
shr eax, 4
and eax, 1
mov qword [rdx], rcx
mov qword [rdx + 0x18], rsi
mov dword [rdx + 0x20], esi
mov qword [rdx + 0x10], rbx
mov dword [rdx + 0x30], esi
mov qword [rdx + 0x28], rsi
mov dword [rdx + 8], 0xffffffff
mov dword [rdx + 0xc], eax
jmp 0x14002bf51
mov rdx, rsi
mov rcx, rdi
call fcn.14000c940
mov qword [rbp - 0x48], rax
mov ecx, 0x38
call fcn.140095cd8
test rax, rax
je 0x14002bfa2
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx]
shr ecx, 4
not ecx
and ecx, 1
lea r8, vtable.CBracketElxT_char_.0
mov qword [rax], r8
mov qword [rax + 0x18], rsi
mov dword [rax + 0x20], esi
mov qword [rax + 0x10], rbx
mov dword [rax + 0x30], esi
mov qword [rax + 0x28], rsi
mov dword [rax + 8], 0xffffffff
mov dword [rax + 0xc], ecx
jmp 0x14002bfa5
mov rax, rsi
mov rdx, rax
mov rcx, rdi
call fcn.14000c940
mov qword [rbp - 0x40], rax
mov r9, qword [rbp - 0x48]
add r9, 0x10
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
mov qword [rbp - 0x30], rbx
mov r10d, esi
mov dword [rbp - 0x10], esi
mov r8, rsi
mov qword [rbp - 0x18], rsi
cmp byte [rdi + 0x130], 0
je 0x14002c114
mov edx, 8
nop word [rax + rax]
movzx eax, byte [rdi + 0x130]
mov byte [rbp + 0x28], al
cmp al, byte [rbp + 0x38]
je 0x14002c112
mov ecx, dword [r9 + 0x20]
mov ebx, ecx
cmp ecx, 8
cmovl ebx, edx
mov edx, dword [r9 + 0x10]
lea eax, [rdx + 2]
cmp eax, ebx
jle 0x14002c035
add ebx, ebx
cmp eax, ebx
jle 0x14002c035
lea ebx, [rdx + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x14002c033
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, ecx
jle 0x14002c05d
movsxd rdx, ebx
mov rcx, qword [r9 + 0x18]
call fcn.140096e70
mov r9, qword [rbp - 0x50]
mov qword [r9 + 0x18], rax
mov qword [r9 + 8], rax
mov dword [r9 + 0x20], ebx
mov r8, qword [rbp - 0x18]
mov r10d, dword [rbp - 0x10]
movsxd rax, dword [r9 + 0x10]
add rax, qword [r9 + 0x18]
movzx ecx, byte [rbp + 0x28]
mov byte [rax], cl
inc dword [r9 + 0x10]
movsxd rcx, dword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov byte [rcx + rax], 0
movzx eax, byte [rdi + 0x130]
mov byte [rbp + 0x28], al
mov ebx, r10d
cmp r10d, 8
mov eax, 8
cmovl ebx, eax
lea eax, [rsi + 2]
cmp eax, ebx
jle 0x14002c0b6
add ebx, ebx
cmp eax, ebx
jle 0x14002c0b6
lea ebx, [rsi + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x14002c0b4
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, r10d
jle 0x14002c0d4
movsxd rdx, ebx
mov rcx, r8
call fcn.140096e70
mov r8, rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x10], ebx
movsxd rax, esi
movzx ecx, byte [rbp + 0x28]
mov byte [rax + r8], cl
inc esi
mov dword [rbp - 0x20], esi
movsxd rax, esi
mov byte [rax + r8], 0
mov rcx, rdi
call fcn.140028860
cmp byte [rdi + 0x130], 0
mov r8, qword [rbp - 0x18]
mov r9, qword [rbp - 0x50]
mov r10d, dword [rbp - 0x10]
mov edx, 8
jne 0x14002bff0
xor esi, esi
mov rcx, rdi
call fcn.140028860
lea r11, [0x1400bd2f8]
mov rax, qword [rbp - 0x18]
test rax, rax
cmovne r11, rax
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.1400265d0
test eax, eax
je 0x14002c16c
mov rax, qword [rbp + 0x38]
cmp byte [rax], 0
sete sil
test esi, esi
je 0x14002c16c
mov eax, dword [rbp + 0x28]
mov rcx, qword [rbp - 0x48]
mov dword [rcx + 8], eax
mov rcx, qword [rbp - 0x40]
mov dword [rcx + 8], eax
mov rcx, qword [rbp - 0x50]
call fcn.140028130
mov rsi, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x48]
lea rcx, [rsi + 8]
call fcn.14000d590
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.14002bba0
mov rdx, rax
lea rcx, [rsi + 8]
call fcn.14000d590
mov rdx, qword [rbp - 0x40]
lea rcx, [rsi + 8]
call fcn.14000d590
lea rcx, [rdi + 0x90]
xor r8d, r8d
movsxd rbx, dword [rbp + 0x40]
mov edx, ebx
call fcn.14000c890
mov rax, qword [rdi + 0xa8]
mov qword [rax + rbx*8], rsi
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x14002cb42
mov rcx, rax
call fcn.140096684
jmp 0x14002cb42
mov rcx, rdi
call fcn.140028860
mov ecx, reloc.WS2_32.dll_recv
call fcn.140095cd8
mov rbx, rax
mov qword [rbp + 0x28], rax
test rax, rax
je 0x14002c21a
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.14002bba0
lea rcx, vtable.CIndependentElxT_0_.0
mov qword [rbx], rcx
mov qword [rbx + 8], rax
jmp 0x14002c21d
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.14000c940
jmp 0x14002cb3e
mov rcx, rdi
call fcn.140028860
cmp byte [rdi + 0x130], sil
je 0x14002c261
nop
movsx ecx, byte [rdi + 0x130]
call fcn.14009733c
test eax, eax
je 0x14002c261
mov rcx, rdi
call fcn.140028860
cmp byte [rdi + 0x130], sil
jne 0x14002c240
movzx eax, byte [rdi + 0x130]
cmp al, 0x3c
je 0x14002c3c1
cmp al, 0x27
je 0x14002c3c1
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
lea rbx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rbx
mov edx, esi
mov dword [rbp - 0x10], edx
mov rcx, rsi
mov qword [rbp - 0x18], rcx
test al, al
je 0x14002c344
mov r8d, 8
nop word [rax + rax]
movzx eax, byte [rdi + 0x130]
mov byte [rbp + 0x28], al
cmp al, 0x29
je 0x14002c33b
mov ebx, edx
cmp edx, 8
cmovl ebx, r8d
lea eax, [rsi + 2]
cmp eax, ebx
jle 0x14002c2e9
add ebx, ebx
cmp eax, ebx
jle 0x14002c2e9
lea ebx, [rsi + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x14002c2e7
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, edx
jle 0x14002c303
movsxd rdx, ebx
call fcn.140096e70
mov rcx, rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x10], ebx
movsxd rax, esi
movzx edx, byte [rbp + 0x28]
mov byte [rax + rcx], dl
inc esi
mov dword [rbp - 0x20], esi
movsxd rax, esi
mov byte [rax + rcx], 0
mov rcx, rdi
call fcn.140028860
cmp byte [rdi + 0x130], 0
mov rcx, qword [rbp - 0x18]
mov edx, dword [rbp - 0x10]
mov r8d, 8
jne 0x14002c2b0
xor esi, esi
lea rbx, vtable.CBufferT_char_.0
mov dword [rbp + 0x28], esi
lea r11, [0x1400bd2f8]
test rcx, rcx
cmovne r11, rcx
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.1400265d0
mov ecx, 0x40
call fcn.140095cd8
mov rdx, rax
test rax, rax
je 0x14002c3a0
lea r8, vtable.CDelegateElxT_char_.0
mov qword [rax], r8
mov qword [rax + 0x20], rsi
mov dword [rax + 0x28], esi
mov qword [rax + 0x18], rbx
mov dword [rax + 0x38], esi
mov qword [rax + 0x30], rsi
mov qword [rax + 8], rsi
mov eax, dword [rbp + 0x28]
mov dword [rdx + 0x10], eax
jmp 0x14002c3a3
mov rdx, rsi
mov rcx, rdi
call fcn.14000c940
mov qword [rbp - 0x58], rax
lea rcx, [rdi + 0x68]
mov rdx, rax
call fcn.14000d590
nop
jmp 0x14002ca3d
mov ecx, 0x27
mov edx, 0x3e
cmp al, 0x3c
cmove ecx, edx
mov dword [rbp + 0x38], ecx
lea ecx, [rdx + 2]
call fcn.140095cd8
lea rcx, vtable.CBufferT_char_.0
test rax, rax
je 0x14002c410
lea r8, vtable.CDelegateElxT_char_.0
mov qword [rax], r8
mov qword [rax + 0x20], rsi
mov dword [rax + 0x28], esi
mov qword [rax + 0x18], rcx
mov dword [rax + 0x38], esi
mov qword [rax + 0x30], rsi
mov qword [rax + 8], rsi
mov dword [rax + 0x10], 0xfffffffd
jmp 0x14002c413
mov rax, rsi
mov rdx, rax
mov rcx, rdi
call fcn.14000c940
mov rbx, rax
mov qword [rbp - 0x58], rax
mov rcx, rdi
call fcn.140028860
add rbx, 0x18
mov qword [rbp + 0x40], rbx
mov qword [rbp - 0x28], rsi
mov edx, esi
mov dword [rbp - 0x20], edx
lea rcx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rcx
mov r9d, esi
mov dword [rbp - 0x10], esi
mov r8, rsi
mov qword [rbp - 0x18], rsi
cmp byte [rdi + 0x130], 0
je 0x14002c59a
mov r10d, 8
mov rsi, rbx
nop dword [rax]
movzx eax, byte [rdi + 0x130]
mov byte [rbp + 0x28], al
cmp al, byte [rbp + 0x38]
je 0x14002c594
mov ecx, dword [rsi + 0x20]
mov ebx, ecx
cmp ecx, 8
cmovl ebx, r10d
mov r10d, dword [rsi + 0x10]
lea eax, [r10 + 2]
cmp eax, ebx
jle 0x14002c4b7
add ebx, ebx
cmp eax, ebx
jle 0x14002c4b7
lea ebx, [r10 + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x14002c4b5
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, ecx
jle 0x14002c4dd
movsxd rdx, ebx
mov rcx, qword [rsi + 0x18]
call fcn.140096e70
mov qword [rsi + 0x18], rax
mov qword [rsi + 8], rax
mov dword [rsi + 0x20], ebx
mov r8, qword [rbp - 0x18]
mov edx, dword [rbp - 0x20]
mov r9d, dword [rbp - 0x10]
movsxd rax, dword [rsi + 0x10]
add rax, qword [rsi + 0x18]
movzx ecx, byte [rbp + 0x28]
mov byte [rax], cl
inc dword [rsi + 0x10]
movsxd rcx, dword [rsi + 0x10]
mov rax, qword [rsi + 0x18]
mov byte [rcx + rax], 0
movzx eax, byte [rdi + 0x130]
mov byte [rbp + 0x28], al
mov ebx, r9d
cmp r9d, 8
mov eax, 8
cmovl ebx, eax
lea eax, [rdx + 2]
cmp eax, ebx
jle 0x14002c535
add ebx, ebx
cmp eax, ebx
jle 0x14002c535
lea ebx, [rdx + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x14002c533
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, r9d
jle 0x14002c556
movsxd rdx, ebx
mov rcx, r8
call fcn.140096e70
mov r8, rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x10], ebx
mov edx, dword [rbp - 0x20]
movsxd rax, edx
movzx ecx, byte [rbp + 0x28]
mov byte [rax + r8], cl
inc edx
mov dword [rbp - 0x20], edx
movsxd rax, edx
mov byte [rax + r8], 0
mov rcx, rdi
call fcn.140028860
cmp byte [rdi + 0x130], 0
mov r8, qword [rbp - 0x18]
mov edx, dword [rbp - 0x20]
mov r9d, dword [rbp - 0x10]
mov r10d, 8
jne 0x14002c470
xor esi, esi
mov rbx, qword [rbp + 0x40]
mov rcx, rdi
call fcn.140028860
lea r11, [0x1400bd2f8]
mov rax, qword [rbp - 0x18]
test rax, rax
cmovne r11, rax
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.1400265d0
test eax, eax
je 0x14002c5ea
mov rax, qword [rbp + 0x38]
cmp byte [rax], 0
sete sil
test esi, esi
je 0x14002c5ea
mov eax, dword [rbp + 0x28]
mov rcx, qword [rbp - 0x58]
mov dword [rcx + 0x10], eax
mov rcx, rbx
call fcn.140028130
lea rcx, [rdi + 0x68]
mov rdx, qword [rbp - 0x58]
call fcn.14000d590
nop
jmp 0x14002c1c4
mov ecx, 0x50
call fcn.140095cd8
lea rbx, vtable.CBufferT_char_.0
test rax, rax
je 0x14002c638
lea rcx, vtable.CConditionElxT_char_.0
mov qword [rax], rcx
mov qword [rax + 0x18], rsi
mov dword [rax + 0x20], esi
mov qword [rax + 0x10], rbx
mov dword [rax + 0x30], esi
mov qword [rax + 0x28], rsi
mov dword [rax + 8], 0xffffffff
jmp 0x14002c63b
mov rax, rsi
mov rdx, rax
mov rcx, rdi
call fcn.14000c940
mov qword [rbp - 0x58], rax
cmp byte [rdi + 0x140], 0x3f
jne 0x14002c675
cmp dword [rdi + 0x144], 1
jne 0x14002c675
mov rdx, qword [rbp + 0x30]
mov rcx, rdi
call fcn.14002bd00
mov rcx, qword [rbp - 0x58]
mov qword [rcx + 0x38], rax
jmp 0x14002c86d
mov rcx, rdi
call fcn.140028860
mov eax, dword [rdi + 0x138]
mov dword [rbp + 0x38], eax
mov ecx, 0x18
call fcn.140095cd8
mov qword [rbp + 0x28], rax
test rax, rax
je 0x14002c6c2
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.14002bba0
lea rcx, vtable.CAssertElxT_0_.0
mov rdx, qword [rbp + 0x28]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], 1
jmp 0x14002c6c5
mov rdx, rsi
mov rcx, rdi
call fcn.14000c940
mov r9, qword [rbp - 0x58]
mov qword [r9 + 0x38], rax
mov rax, qword [rdi + 0x110]
lea rdx, [0x1400bd2f8]
test rax, rax
cmovne rdx, rax
movsxd rax, dword [rbp + 0x38]
mov qword [rbp + 0x40], rax
mov r8d, dword [rdi + 0x138]
sub r8d, eax
add rdx, rax
lea rcx, [r9 + 0x10]
mov r9d, 1
call fcn.14000cbe0
mov qword [rbp - 0x28], rsi
mov edx, esi
mov dword [rbp - 0x20], edx
mov qword [rbp - 0x30], rbx
mov r8d, esi
mov dword [rbp - 0x10], esi
mov rcx, rsi
mov qword [rbp - 0x18], rcx
mov eax, dword [rbp + 0x38]
cmp eax, dword [rdi + 0x138]
jge 0x14002c801
mov r10, rsi
mov qword [rbp - 0x40], rsi
mov r11d, 8
mov r9, qword [rbp + 0x40]
cmp eax, dword [rdi + 0x118]
jl 0x14002c756
mov byte [rbp + 0x28], 0
jmp 0x14002c765
mov rax, qword [rdi + 0x110]
movzx eax, byte [r9 + rax]
mov byte [rbp + 0x28], al
mov ebx, r8d
cmp r8d, 8
cmovl ebx, r11d
lea eax, [rdx + 2]
cmp eax, ebx
jle 0x14002c792
add ebx, ebx
cmp eax, ebx
jle 0x14002c792
lea ebx, [rdx + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x14002c790
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, r8d
jle 0x14002c7ba
movsxd rdx, ebx
call fcn.140096e70
mov rcx, rax
mov qword [rbp - 0x28], rax
mov r8d, ebx
mov edx, dword [rbp - 0x20]
mov r9, qword [rbp + 0x40]
mov r10, qword [rbp - 0x40]
mov r11d, 8
movzx eax, byte [rbp + 0x28]
mov byte [r10 + rcx], al
inc edx
mov dword [rbp - 0x20], edx
movsxd r10, edx
mov qword [rbp - 0x40], r10
mov byte [r10 + rcx], 0
mov eax, dword [rbp + 0x38]
inc eax
mov dword [rbp + 0x38], eax
inc r9
mov qword [rbp + 0x40], r9
cmp eax, dword [rdi + 0x138]
jl 0x14002c748
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x10], r8d
test rcx, rcx
je 0x14002c801
mov qword [rbp + 0x38], rcx
jmp 0x14002c80c
lea r11, [0x1400bd2f8]
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.1400265d0
test eax, eax
je 0x14002c83c
mov ecx, esi
mov rax, qword [rbp + 0x38]
cmp byte [rax], cl
sete cl
test ecx, ecx
je 0x14002c83c
mov eax, dword [rbp + 0x28]
mov rcx, qword [rbp - 0x58]
mov dword [rcx + 8], eax
mov qword [rcx + 0x38], rsi
jmp 0x14002c856
mov rax, qword [rbp - 0x58]
mov dword [rax + 8], 0xffffffff
lea rcx, [rdi + 0xe0]
mov rdx, rax
call fcn.14000d590
mov rcx, rdi
call fcn.140028860
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14002c86d
call fcn.140096684
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
mov dword [rbp + 0x28], eax
lea rdx, [rbp + 0x28]
mov rcx, rdi
call fcn.14002ba40
mov rcx, qword [rbp - 0x58]
mov qword [rcx + 0x40], rax
cmp byte [rdi + 0x130], 0x7c
jne 0x14002c8b6
mov rcx, rdi
call fcn.140028860
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.14002bba0
mov rcx, qword [rbp - 0x58]
mov qword [rcx + 0x48], rax
jmp 0x14002cb42
mov qword [rcx + 0x48], rsi
jmp 0x14002cb42
test dl, dl
je 0x14002c8ee
movsx ecx, byte [rdi + 0x130]
call fcn.14009733c
test eax, eax
je 0x14002c8e4
mov rcx, rdi
call fcn.140028860
cmp byte [rdi + 0x130], sil
jne 0x14002c8c3
mov r8d, esi
lea r10, [0x140000000]
movzx eax, byte [rdi + 0x130]
cmp al, 0x30
jl 0x14002ca54
cmp al, 0x39
jg 0x14002ca54
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
lea rbx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rbx
mov edx, esi
mov dword [rbp - 0x10], edx
mov rcx, rsi
mov qword [rbp - 0x18], rcx
test al, al
je 0x14002c9c5
mov r8d, 8
movzx eax, byte [rdi + 0x130]
mov byte [rbp + 0x28], al
cmp al, 0x29
je 0x14002c9bc
mov ebx, edx
cmp edx, 8
cmovl ebx, r8d
lea eax, [rsi + 2]
cmp eax, ebx
jle 0x14002c96a
add ebx, ebx
cmp eax, ebx
jle 0x14002c96a
lea ebx, [rsi + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x14002c968
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, edx
jle 0x14002c984
movsxd rdx, ebx
call fcn.140096e70
mov rcx, rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x10], ebx
movsxd rax, esi
movzx edx, byte [rbp + 0x28]
mov byte [rax + rcx], dl
inc esi
mov dword [rbp - 0x20], esi
movsxd rax, esi
mov byte [rax + rcx], 0
mov rcx, rdi
call fcn.140028860
cmp byte [rdi + 0x130], 0
mov rcx, qword [rbp - 0x18]
mov edx, dword [rbp - 0x10]
mov r8d, 8
jne 0x14002c931
xor esi, esi
lea rbx, vtable.CBufferT_char_.0
mov dword [rbp + 0x28], esi
lea r11, [0x1400bd2f8]
test rcx, rcx
cmovne r11, rcx
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.1400265d0
mov ecx, 0x40
call fcn.140095cd8
mov rdx, rax
test rax, rax
je 0x14002ca21
lea r8, vtable.CDelegateElxT_char_.0
mov qword [rax], r8
mov qword [rax + 0x20], rsi
mov dword [rax + 0x28], esi
mov qword [rax + 0x18], rbx
mov dword [rax + 0x38], esi
mov qword [rax + 0x30], rsi
mov qword [rax + 8], rsi
mov eax, dword [rbp + 0x28]
mov dword [rdx + 0x10], eax
jmp 0x14002ca24
mov rdx, rsi
mov rcx, rdi
call fcn.14000c940
mov qword [rbp - 0x58], rax
lea rcx, [rdi + 0x68]
mov rdx, rax
call fcn.14000d590
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14002cb42
call fcn.140096684
jmp 0x14002cb42
mov ebx, dword [rbx]
mov r9d, 8
movzx ecx, byte [rdi + 0x130]
test cl, cl
jne 0x14002ca74
cmp dword [rdi + 0x134], 1
je 0x14002cafe
movzx eax, byte [rdi + 0x130]
cmp al, 0x3a
je 0x14002cafe
cmp al, 0x29
je 0x14002cafe
cmp cl, 0x28
jne 0x14002ca91
cmp dword [rdi + 0x134], 1
je 0x14002cafe
mov edx, esi
movsx eax, al
add eax, 0xffffffd3
cmp eax, 0x46
ja case.0x14002cab4.50
cdqe
movzx eax, byte [r10 + rax + 0x2ce00]
mov ecx, dword [r10 + rax*4 + 0x2cde8]
add rcx, r10
jmp rcx
mov edx, r9d
jmp case.0x14002cab4.50
mov edx, 1
jmp case.0x14002cab4.50
mov edx, 2
jmp case.0x14002cab4.50
mov edx, 4
jmp case.0x14002cab4.50
mov dword [rbp + 0x28], 1
jmp 0x14002cade
test r8d, r8d
je 0x14002cae4
not edx
and ebx, edx
jmp 0x14002cae6
or ebx, edx
mov rcx, rdi
call fcn.140028860
mov r8d, dword [rbp + 0x28]
lea r10, [0x140000000]
jmp 0x14002ca56
movzx eax, byte [rdi + 0x130]
cmp al, 0x3a
je 0x14002cb2c
cmp al, 0x28
jne 0x14002cb16
cmp dword [rdi + 0x134], 1
je 0x14002cb28
mov rax, qword [rbp + 0x30]
mov dword [rax], ebx
xor edx, edx
mov rcx, rdi
call fcn.1400289a0
jmp 0x14002cb3e
cmp al, 0x3a
jne 0x14002cb34
mov rcx, rdi
call fcn.140028860
mov edx, ebx
mov rcx, rdi
call fcn.14002bba0
mov qword [rbp - 0x58], rax
mov rcx, rdi
call fcn.140028860
mov rax, qword [rbp - 0x58]
jmp 0x14002cd87
mov ecx, 0x38
call fcn.140095cd8
mov rdx, rax
test rax, rax
je 0x14002cb94
mov eax, dword [rbx]
and eax, 0x10
lea rcx, vtable.CListElxT_0_.0
mov qword [rdx], rcx
xor esi, esi
mov qword [rdx + 0x10], rsi
mov dword [rdx + 0x18], esi
lea rcx, vtable.CBufferT_class_ElxInterface____ptr64_.0
mov qword [rdx + 8], rcx
mov dword [rdx + 0x28], esi
mov qword [rdx + 0x20], rsi
mov dword [rdx + 0x30], eax
jmp 0x14002cb98
xor esi, esi
mov edx, esi
mov rcx, rdi
call fcn.14000c940
mov rbx, rax
mov qword [rbp + 0x38], rax
inc dword [rdi + 0xc]
mov eax, dword [rdi + 0xc]
mov dword [rbp + 0x28], eax
mov ecx, 0x38
call fcn.140095cd8
lea r8, vtable.CBracketElxT_char_.0
lea rdx, vtable.CBufferT_char_.0
test rax, rax
je 0x14002cbf9
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx]
shr ecx, 4
and ecx, 1
mov qword [rax], r8
mov qword [rax + 0x18], rsi
mov dword [rax + 0x20], esi
mov qword [rax + 0x10], rdx
mov dword [rax + 0x30], esi
mov qword [rax + 0x28], rsi
mov edx, dword [rbp + 0x28]
mov dword [rax + 8], edx
mov dword [rax + 0xc], ecx
jmp 0x14002cbfc
mov rax, rsi
mov rdx, rax
mov rcx, rdi
call fcn.14000c940
mov qword [rbp + 0x40], rax
mov ecx, dword [rbx + 0x28]
mov eax, 8
cmp dword [rbx + 0x18], ecx
jl 0x14002cc46
lea ebx, [rcx + rcx]
cmp ebx, eax
cmovl ebx, eax
movsxd rdx, ebx
shl rdx, 3
mov rcx, qword [rbp + 0x38]
mov rcx, qword [rcx + 0x20]
call fcn.140096e70
mov rcx, qword [rbp + 0x38]
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x10], rax
mov dword [rcx + 0x28], ebx
mov rbx, rcx
movsxd rcx, dword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
mov rdx, qword [rbp + 0x40]
mov qword [rax + rcx*8], rdx
inc dword [rbx + 0x18]
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.14002bba0
mov qword [rbp + 0x40], rax
mov ecx, dword [rbx + 0x28]
cmp dword [rbx + 0x18], ecx
jl 0x14002cca7
lea ebx, [rcx + rcx]
cmp ebx, 8
mov eax, 8
cmovl ebx, eax
movsxd rdx, ebx
shl rdx, 3
mov rcx, qword [rbp + 0x38]
mov rcx, qword [rcx + 0x20]
call fcn.140096e70
mov rcx, qword [rbp + 0x38]
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x10], rax
mov dword [rcx + 0x28], ebx
mov rbx, rcx
movsxd rcx, dword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
mov rdx, qword [rbp + 0x40]
mov qword [rax + rcx*8], rdx
inc dword [rbx + 0x18]
mov ecx, 0x38
call fcn.140095cd8
mov rdx, rax
test rax, rax
je 0x14002cd08
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
shr eax, 4
not eax
and eax, 1
lea r8, vtable.CBracketElxT_char_.0
mov qword [rdx], r8
mov qword [rdx + 0x18], rsi
mov dword [rdx + 0x20], esi
lea rcx, vtable.CBufferT_char_.0
mov qword [rdx + 0x10], rcx
mov dword [rdx + 0x30], esi
mov qword [rdx + 0x28], rsi
mov ecx, dword [rbp + 0x28]
mov dword [rdx + 8], ecx
mov dword [rdx + 0xc], eax
jmp 0x14002cd0b
mov rdx, rsi
mov rcx, rdi
call fcn.14000c940
mov qword [rbp + 0x40], rax
mov ecx, dword [rbx + 0x28]
cmp dword [rbx + 0x18], ecx
jl 0x14002cd4f
lea ebx, [rcx + rcx]
cmp ebx, 8
mov eax, 8
cmovl ebx, eax
movsxd rdx, ebx
shl rdx, 3
mov rsi, qword [rbp + 0x38]
mov rcx, qword [rsi + 0x20]
call fcn.140096e70
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x28], ebx
mov rbx, rsi
movsxd rcx, dword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
mov rdx, qword [rbp + 0x40]
mov qword [rax + rcx*8], rdx
inc dword [rbx + 0x18]
lea rcx, [rdi + 0x40]
xor r8d, r8d
movsxd rsi, dword [rbp + 0x28]
mov edx, esi
call fcn.14000c890
mov rax, qword [rdi + 0x58]
mov qword [rax + rsi*8], rbx
mov rcx, rdi
call fcn.140028860
mov rax, rbx
add rsp, 0x78
pop rdi
pop rsi
pop rbx
pop rbp
ret