Function at 0x180026690
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 rdi, rdx
mov rbx, rcx
call fcn.1800233f0
cmp word [rbx + 0x130], 0x3f
jne 0x1800273a7
cmp dword [rbx + 0x134], 1
jne 0x1800273a7
mov rcx, rbx
call fcn.1800233f0
xor esi, esi
mov r8d, esi
mov dword [rbp + 0x28], esi
mov edi, 0x3e
mov dword [rbp + 0x38], edi
movzx edx, word [rbx + 0x130]
lea eax, [rdx - 0x21]
lea r10, [0x180000000]
cmp eax, 0x31
ja case.0x180026716.41
cdqe
movzx eax, byte [r10 + rax + 0x27540]
mov ecx, dword [r10 + rax*4 + 0x2751c]
add rcx, r10
jmp rcx
mov dword [rbp + 0x28], 1
mov rcx, rbx
call fcn.1800233f0
mov ecx, 0x18
call fcn.1800b543c
mov rdi, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x180026769
mov rcx, qword [rbp + 0x30]
mov edx, dword [rcx]
and edx, 0xffffffef
mov rcx, rbx
call fcn.1800234b0
lea rcx, vtable.CAssertElxT_0_.0
mov qword [rdi], rcx
mov qword [rdi + 8], rax
cmp dword [rbp + 0x28], 0
sete sil
mov dword [rdi + 0x10], esi
jmp 0x18002676c
mov rdi, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.180024d20
jmp 0x18002739f
movzx eax, word [rbx + 0x140]
cmp eax, 0x21
je 0x18002678f
cmp eax, 0x3d
je 0x180026796
jmp case.0x180026716.39
mov dword [rbp + 0x28], 1
mov rcx, rbx
call fcn.1800233f0
mov rcx, rbx
call fcn.1800233f0
mov ecx, 0x18
call fcn.1800b543c
mov rdi, rax
mov qword [rbp + 0x40], rax
test rax, rax
je 0x1800267e8
mov rcx, qword [rbp + 0x30]
mov edx, dword [rcx]
or edx, 0x10
mov rcx, rbx
call fcn.1800234b0
lea rcx, vtable.CAssertElxT_0_.0
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov eax, esi
cmp dword [rbp + 0x28], eax
sete al
mov dword [rdi + 0x10], eax
jmp 0x1800267eb
mov rdi, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.180024d20
mov rdi, rax
test rax, rax
jne 0x180027505
lea edi, [rax + 0x3e]
cmp word [rbx + 0x130], 0x50
jne case.0x180026716.34
mov rcx, rbx
call fcn.1800233f0
movzx eax, word [rbx + 0x130]
cmp ax, 0x3c
jne 0x180026829
mov dword [rbp + 0x38], edi
jmp 0x180026838
cmp ax, 0x27
jne 0x180026838
mov eax, 0x27
mov word [rbp + 0x38], ax
mov rcx, rbx
call fcn.1800233f0
mov eax, dword [rbx + 0x10]
mov dword [rbp + 0x40], eax
inc eax
mov dword [rbx + 0x10], eax
mov ecx, 0x38
call fcn.1800b543c
mov rdx, rax
test rax, rax
je 0x18002688e
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 0x180026891
mov rdx, rsi
mov rcx, rbx
call fcn.180024d20
mov rdi, rax
mov qword [rbp - 0x58], rax
mov ecx, 0x38
call fcn.1800b543c
mov rdx, rax
lea r8, vtable.CBracketElxT_wchar_t_.0
lea rcx, vtable.CBufferT_wchar_t_.0
test rax, rax
je 0x1800268ed
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
shr eax, 4
and eax, 1
mov qword [rdx], r8
mov qword [rdx + 0x18], rsi
mov dword [rdx + 0x20], esi
mov qword [rdx + 0x10], rcx
mov dword [rdx + 0x30], esi
mov qword [rdx + 0x28], rsi
mov dword [rdx + 8], 0xffffffff
mov dword [rdx + 0xc], eax
jmp 0x1800268f0
mov rdx, rsi
mov rcx, rbx
call fcn.180024d20
mov qword [rbp - 0x50], rax
mov ecx, 0x38
call fcn.1800b543c
mov rdx, rax
test rax, rax
je 0x18002694b
mov rax, qword [rbp + 0x30]
mov ecx, dword [rax]
shr ecx, 4
not ecx
and ecx, 1
lea r8, vtable.CBracketElxT_wchar_t_.0
mov qword [rdx], r8
mov qword [rdx + 0x18], rsi
mov dword [rdx + 0x20], esi
lea rax, vtable.CBufferT_wchar_t_.0
mov qword [rdx + 0x10], rax
mov dword [rdx + 0x30], esi
mov qword [rdx + 0x28], rsi
mov dword [rdx + 8], 0xffffffff
mov dword [rdx + 0xc], ecx
jmp 0x18002694e
mov rdx, rsi
mov rcx, rbx
call fcn.180024d20
mov qword [rbp - 0x48], rax
mov r9, qword [rbp - 0x50]
add r9, 0x10
mov qword [rbp - 0x40], r9
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
lea rcx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rcx
mov dword [rbp - 0x10], esi
mov qword [rbp - 0x18], rsi
cmp word [rbx + 0x130], 0
je 0x180026a62
mov edi, 0xff
movzx eax, word [rbx + 0x130]
cmp ax, word [rbp + 0x38]
je 0x180026a5c
mov word [rbp + 0x28], ax
mov r8d, 1
lea rdx, [rbp + 0x28]
mov rcx, r9
call fcn.180028720
movzx ecx, word [rbx + 0x130]
movzx eax, cx
and ax, di
cmp ax, cx
jne 0x1800269d3
movzx edx, cl
mov byte [rbp + 0x28], cl
jmp 0x1800269d7
mov byte [rbp + 0x28], 0
mov ecx, dword [rbp - 0x10]
mov edi, ecx
cmp ecx, 8
mov eax, 8
cmovl edi, eax
lea eax, [rsi + 2]
cmp eax, edi
jle 0x180026a09
add edi, edi
cmp eax, edi
jle 0x180026a09
lea edi, [rsi + 0xd]
mov eax, edi
and eax, 0x80000007
jge 0x180026a07
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, ecx
mov rcx, qword [rbp - 0x18]
jle 0x180026a27
movsxd rdx, edi
call fcn.1800bc94c
mov rcx, rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x10], edi
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, rbx
call fcn.1800233f0
cmp word [rbx + 0x130], 0
mov edi, 0xff
mov r9, qword [rbp - 0x40]
jne 0x180026992
xor esi, esi
mov rdi, qword [rbp - 0x58]
mov rcx, rbx
call fcn.1800233f0
lea rax, [0x1801f3e58]
mov rcx, qword [rbp - 0x18]
test rcx, rcx
cmovne rax, rcx
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.180025610
mov rdx, qword [rbp - 0x50]
test eax, eax
je 0x180026ad2
mov ecx, esi
mov rax, qword [rbp + 0x38]
cmp byte [rax], 0
sete cl
test ecx, ecx
je 0x180026ad2
mov eax, dword [rbp + 0x28]
mov dword [rdx + 8], eax
mov rcx, qword [rbp - 0x48]
mov dword [rcx + 8], eax
mov rcx, qword [rdx + 0x28]
mov qword [rdx + 0x28], rsi
mov qword [rdx + 0x18], rsi
mov dword [rdx + 0x30], esi
mov dword [rdx + 0x20], esi
test rcx, rcx
je 0x180026ad2
call fcn.1800bc110
mov rdx, qword [rbp - 0x50]
add rdi, 8
mov rcx, rdi
call fcn.1800238b0
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rbx
call fcn.1800234b0
mov rdx, rax
mov rcx, rdi
call fcn.1800238b0
mov rdx, qword [rbp - 0x48]
mov rcx, rdi
call fcn.1800238b0
lea rcx, [rbx + 0x90]
movsxd rdi, dword [rbp + 0x40]
mov edx, edi
call fcn.1800231f0
mov rcx, rdi
mov rax, qword [rbx + 0xa8]
mov rdi, qword [rbp - 0x58]
mov qword [rax + rcx*8], rdi
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x180027505
mov rcx, rax
call fcn.1800bc110
jmp 0x180027505
mov rcx, rbx
call fcn.1800233f0
mov ecx, 0x10
call fcn.1800b543c
mov rdi, rax
mov qword [rbp + 0x28], rax
test rax, rax
je 0x180026b7d
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rbx
call fcn.1800234b0
lea rcx, vtable.CIndependentElxT_0_.0
mov qword [rdi], rcx
mov qword [rdi + 8], rax
jmp 0x180026b80
mov rdi, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.180024d20
jmp 0x18002739f
mov rcx, rbx
call fcn.1800233f0
cmp word [rbx + 0x130], si
je 0x180026bc2
movzx ecx, word [rbx + 0x130]
call fcn.1800b6344
test eax, eax
je 0x180026bc2
mov rcx, rbx
call fcn.1800233f0
cmp word [rbx + 0x130], si
jne 0x180026ba1
movzx edx, word [rbx + 0x130]
cmp dx, 0x3c
je 0x180026ccc
cmp dx, 0x27
je 0x180026ccc
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
lea rcx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rcx
mov dword [rbp - 0x10], esi
mov rcx, rsi
mov qword [rbp - 0x18], rcx
test dx, dx
je 0x180026c49
mov edx, 0xff
movzx ecx, word [rbx + 0x130]
cmp cx, 0x29
je 0x180026c45
movzx eax, cx
and ax, dx
cmp ax, cx
jne 0x180026c20
movsx eax, cl
jmp 0x180026c22
mov eax, esi
movzx edx, al
lea rcx, [rbp - 0x30]
call fcn.180025a60
mov rcx, rbx
call fcn.1800233f0
cmp word [rbx + 0x130], 0
mov edx, 0xff
jne 0x180026c03
mov rcx, qword [rbp - 0x18]
mov dword [rbp + 0x28], esi
lea rax, [0x1801f3e58]
test rcx, rcx
cmovne rax, rcx
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.180025610
mov ecx, 0x40
call fcn.1800b543c
mov rdx, rax
test rax, rax
je 0x180026cac
lea rcx, vtable.CDelegateElxT_wchar_t_.0
mov qword [rax], rcx
mov qword [rax + 0x20], rsi
mov dword [rax + 0x28], esi
lea rax, vtable.CBufferT_wchar_t_.0
mov qword [rdx + 0x18], rax
mov dword [rdx + 0x38], esi
mov qword [rdx + 0x30], rsi
mov qword [rdx + 8], rsi
mov eax, dword [rbp + 0x28]
mov dword [rdx + 0x10], eax
jmp 0x180026caf
mov rdx, rsi
mov rcx, rbx
call fcn.180024d20
mov rdi, rax
lea rcx, [rbx + 0x68]
mov rdx, rax
call fcn.1800238b0
nop
jmp 0x180027291
mov eax, 0x27
cmp dx, 0x3c
cmove ax, di
mov dword [rbp + 0x38], eax
mov ecx, 0x40
call fcn.1800b543c
test rax, rax
je 0x180026d1b
lea rcx, vtable.CDelegateElxT_wchar_t_.0
mov qword [rax], rcx
mov qword [rax + 0x20], rsi
mov dword [rax + 0x28], esi
lea rcx, vtable.CBufferT_wchar_t_.0
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 0x180026d1e
mov rax, rsi
mov rdx, rax
mov rcx, rbx
call fcn.180024d20
mov rdi, rax
mov qword [rbp - 0x58], rax
mov rcx, rbx
call fcn.1800233f0
lea rax, [rdi + 0x18]
mov qword [rbp + 0x28], rax
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
lea rcx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rcx
mov dword [rbp - 0x10], esi
mov qword [rbp - 0x18], rsi
cmp word [rbx + 0x130], 0
je 0x180026dd3
mov rdi, rax
nop word [rax + rax]
movzx eax, word [rbx + 0x130]
cmp ax, word [rbp + 0x38]
je 0x180026dcf
mov word [rbp + 0x28], ax
mov r8d, 1
lea rdx, [rbp + 0x28]
mov rcx, rdi
call fcn.180028720
movzx ecx, word [rbx + 0x130]
movzx eax, cx
mov edx, 0xff
and ax, dx
cmp ax, cx
jne 0x180026daf
movsx eax, cl
jmp 0x180026db1
mov eax, esi
movzx edx, al
lea rcx, [rbp - 0x30]
call fcn.180025a60
mov rcx, rbx
call fcn.1800233f0
cmp word [rbx + 0x130], 0
jne 0x180026d70
mov rdi, qword [rbp - 0x58]
mov rcx, rbx
call fcn.1800233f0
lea rax, [0x1801f3e58]
mov rcx, qword [rbp - 0x18]
test rcx, rcx
cmovne rax, rcx
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.180025610
test eax, eax
je 0x180026e33
mov ecx, esi
mov rax, qword [rbp + 0x38]
cmp byte [rax], cl
sete cl
test ecx, ecx
je 0x180026e33
mov eax, dword [rbp + 0x28]
mov dword [rdi + 0x10], eax
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x30], rsi
mov qword [rdi + 0x20], rsi
mov dword [rdi + 0x38], esi
mov dword [rdi + 0x28], esi
test rcx, rcx
je 0x180026e33
call fcn.1800bc110
lea rcx, [rbx + 0x68]
mov rdx, rdi
call fcn.1800238b0
nop
jmp 0x180026b27
mov ecx, 0x50
call fcn.1800b543c
mov rdx, rax
test rax, rax
je 0x180026e83
lea rax, vtable.CConditionElxT_wchar_t_.0
mov qword [rdx], rax
mov qword [rdx + 0x18], rsi
mov dword [rdx + 0x20], esi
lea rax, vtable.CBufferT_wchar_t_.0
mov qword [rdx + 0x10], rax
mov dword [rdx + 0x30], esi
mov qword [rdx + 0x28], rsi
mov dword [rdx + 8], 0xffffffff
jmp 0x180026e86
mov rdx, rsi
mov rcx, rbx
call fcn.180024d20
mov rdi, rax
mov qword [rbp - 0x58], rax
cmp word [rbx + 0x140], 0x3f
jne 0x180026ebd
cmp dword [rbx + 0x144], 1
jne 0x180026ebd
mov rdx, qword [rbp + 0x30]
mov rcx, rbx
call fcn.180026690
mov qword [rdi + 0x38], rax
jmp 0x180027096
mov rcx, rbx
call fcn.1800233f0
mov eax, dword [rbx + 0x138]
mov dword [rbp + 0x28], eax
mov ecx, 0x18
call fcn.1800b543c
mov qword [rbp + 0x38], rax
test rax, rax
je 0x180026f0a
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rbx
call fcn.1800234b0
lea rcx, vtable.CAssertElxT_0_.0
mov rdx, qword [rbp + 0x38]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], 1
jmp 0x180026f0d
mov rdx, rsi
mov rcx, rbx
call fcn.180024d20
mov qword [rdi + 0x38], rax
mov rax, qword [rbx + 0x110]
lea rcx, [0x1801f3ee0]
test rax, rax
cmovne rcx, rax
movsxd rdx, dword [rbp + 0x28]
mov rax, rdx
add rax, rax
mov qword [rbp + 0x38], rax
mov r8d, dword [rbx + 0x138]
sub r8d, edx
lea rdx, [rcx + rax]
lea rcx, [rdi + 0x10]
call fcn.180028720
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
lea rcx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rcx
mov dword [rbp - 0x10], esi
mov qword [rbp - 0x18], rsi
mov eax, dword [rbp + 0x28]
cmp eax, dword [rbx + 0x138]
jge 0x180026fe3
mov edi, 0xff
mov rcx, qword [rbp + 0x38]
cmp eax, dword [rbx + 0x118]
jl 0x180026f8d
movzx ecx, si
jmp 0x180026f98
mov rax, qword [rbx + 0x110]
movzx ecx, word [rcx + rax]
movzx eax, cx
and ax, di
cmp ax, cx
movsx eax, cl
je 0x180026fa8
mov eax, esi
movzx edx, al
lea rcx, [rbp - 0x30]
call fcn.180025a60
mov eax, dword [rbp + 0x28]
inc eax
mov dword [rbp + 0x28], eax
mov rcx, qword [rbp + 0x38]
add rcx, 2
mov qword [rbp + 0x38], rcx
cmp eax, dword [rbx + 0x138]
jl 0x180026f80
mov rcx, qword [rbp - 0x18]
test rcx, rcx
mov rdi, qword [rbp - 0x58]
je 0x180026fe3
mov qword [rbp + 0x38], rcx
jmp 0x180026fee
lea rax, [0x1801f3e58]
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.180025610
test eax, eax
je 0x18002701a
mov ecx, esi
mov rax, qword [rbp + 0x38]
cmp byte [rax], cl
sete cl
test ecx, ecx
je 0x18002701a
mov eax, dword [rbp + 0x28]
mov dword [rdi + 8], eax
mov qword [rdi + 0x38], rsi
jmp 0x18002707f
mov dword [rdi + 8], 0xffffffff
mov eax, dword [rbx + 0x100]
cmp dword [rbx + 0xf0], eax
jl 0x180027067
lea edi, [rax + rax]
mov eax, 8
cmp edi, eax
cmovl edi, eax
movsxd rdx, edi
shl rdx, 3
mov rcx, qword [rbx + 0xf8]
call fcn.1800bc94c
mov qword [rbx + 0xf8], rax
mov qword [rbx + 0xe8], rax
mov dword [rbx + 0x100], edi
mov rdi, qword [rbp - 0x58]
movsxd rdx, dword [rbx + 0xf0]
mov rax, qword [rbx + 0xf8]
mov qword [rax + rdx*8], rdi
inc dword [rbx + 0xf0]
mov rcx, rbx
call fcn.1800233f0
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x180027096
call fcn.1800bc110
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
mov dword [rbp + 0x28], eax
lea rdx, [rbp + 0x28]
mov rcx, rbx
call fcn.180024200
mov qword [rdi + 0x40], rax
cmp word [rbx + 0x130], 0x7c
jne 0x1800270d8
mov rcx, rbx
call fcn.1800233f0
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rbx
call fcn.1800234b0
mov qword [rdi + 0x48], rax
jmp 0x180027505
mov qword [rdi + 0x48], rsi
jmp 0x180027505
test dx, dx
je 0x18002711b
nop word [rax + rax]
movzx ecx, word [rbx + 0x130]
call fcn.1800b6344
test eax, eax
je 0x180027111
mov rcx, rbx
call fcn.1800233f0
cmp word [rbx + 0x130], si
jne 0x1800270f0
mov r8d, esi
lea r10, [0x180000000]
movzx edx, word [rbx + 0x130]
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x1800272a8
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
lea rcx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rcx
mov r8d, esi
mov dword [rbp - 0x10], esi
mov rcx, rsi
mov qword [rbp - 0x18], rcx
test dx, dx
je 0x180027213
mov r9d, 0xff
mov r10d, 8
movzx edx, word [rbx + 0x130]
cmp dx, 0x29
je 0x180027211
movzx eax, dx
and ax, r9w
cmp ax, dx
jne 0x180027185
mov byte [rbp + 0x28], dl
jmp 0x180027189
mov byte [rbp + 0x28], 0
mov edi, r8d
cmp r8d, 8
cmovl edi, r10d
lea eax, [rsi + 2]
cmp eax, edi
jle 0x1800271b6
add edi, edi
cmp eax, edi
jle 0x1800271b6
lea edi, [rsi + 0xd]
mov eax, edi
and eax, 0x80000007
jge 0x1800271b4
dec eax
or eax, 0xfffffff8
inc eax
sub edi, eax
cmp edi, r8d
jle 0x1800271d1
movsxd rdx, edi
call fcn.1800bc94c
mov rcx, rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x10], edi
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, rbx
call fcn.1800233f0
cmp word [rbx + 0x130], 0
mov rcx, qword [rbp - 0x18]
mov r8d, dword [rbp - 0x10]
mov r9d, 0xff
mov r10d, 8
jne 0x180027163
xor esi, esi
mov dword [rbp + 0x28], esi
lea rax, [0x1801f3e58]
test rcx, rcx
cmovne rax, rcx
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.180025610
mov ecx, 0x40
call fcn.1800b543c
mov rdx, rax
test rax, rax
je 0x180027276
lea rcx, vtable.CDelegateElxT_wchar_t_.0
mov qword [rax], rcx
mov qword [rax + 0x20], rsi
mov dword [rax + 0x28], esi
lea rax, vtable.CBufferT_wchar_t_.0
mov qword [rdx + 0x18], rax
mov dword [rdx + 0x38], esi
mov qword [rdx + 0x30], rsi
mov qword [rdx + 8], rsi
mov eax, dword [rbp + 0x28]
mov dword [rdx + 0x10], eax
jmp 0x180027279
mov rdx, rsi
mov rcx, rbx
call fcn.180024d20
mov rdi, rax
lea rcx, [rbx + 0x68]
mov rdx, rax
call fcn.1800238b0
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x180027505
call fcn.1800bc110
jmp 0x180027505
mov rcx, qword [rbp + 0x30]
mov edi, dword [rcx]
mov r9d, 8
movzx eax, word [rbx + 0x130]
test ax, ax
jne 0x1800272cd
cmp dword [rbx + 0x134], 1
je 0x180027359
cmp ax, 0x3a
je 0x180027359
cmp ax, 0x29
je 0x180027359
cmp ax, 0x28
jne 0x1800272ec
cmp dword [rbx + 0x134], 1
je 0x180027359
mov edx, esi
movzx eax, ax
add eax, 0xffffffd3
cmp eax, 0x46
ja case.0x18002730f.50
cdqe
movzx eax, byte [r10 + rax + 0x2758c]
mov ecx, dword [r10 + rax*4 + 0x27574]
add rcx, r10
jmp rcx
mov edx, r9d
jmp case.0x18002730f.50
mov edx, 1
jmp case.0x18002730f.50
mov edx, 2
jmp case.0x18002730f.50
mov edx, 4
jmp case.0x18002730f.50
mov dword [rbp + 0x28], 1
jmp 0x180027339
test r8d, r8d
je 0x18002733f
not edx
and edi, edx
jmp 0x180027341
or edi, edx
mov rcx, rbx
call fcn.1800233f0
mov r8d, dword [rbp + 0x28]
lea r10, [0x180000000]
jmp 0x1800272ae
movzx eax, word [rbx + 0x130]
cmp ax, 0x3a
je 0x18002738d
cmp ax, 0x28
jne 0x180027375
cmp dword [rbx + 0x134], 1
je 0x180027387
mov rax, qword [rbp + 0x30]
mov dword [rax], edi
xor edx, edx
mov rcx, rbx
call fcn.180024370
jmp 0x18002739f
cmp ax, 0x3a
jne 0x180027395
mov rcx, rbx
call fcn.1800233f0
mov edx, edi
mov rcx, rbx
call fcn.1800234b0
mov rdi, rax
jmp 0x180027505
mov ecx, 0x38
call fcn.1800b543c
mov rdx, rax
test rax, rax
je 0x1800273e8
mov eax, dword [rdi]
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 0x1800273ec
xor esi, esi
mov edx, esi
mov rcx, rbx
call fcn.180024d20
mov qword [rbp + 0x40], rax
inc dword [rbx + 0xc]
mov eax, dword [rbx + 0xc]
mov dword [rbp + 0x28], eax
mov ecx, 0x38
call fcn.1800b543c
lea rdx, vtable.CBracketElxT_wchar_t_.0
lea rdi, vtable.CBufferT_wchar_t_.0
test rax, rax
je 0x18002744a
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx]
shr ecx, 4
and ecx, 1
mov qword [rax], rdx
mov qword [rax + 0x18], rsi
mov dword [rax + 0x20], esi
mov qword [rax + 0x10], rdi
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 0x18002744d
mov rax, rsi
mov rcx, qword [rbp + 0x40]
add rcx, 8
mov qword [rbp + 0x38], rcx
mov rdx, rax
mov rcx, rbx
call fcn.180024d20
mov rdx, rax
mov rcx, qword [rbp + 0x38]
call fcn.1800238b0
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rbx
call fcn.1800234b0
mov rdx, rax
mov rcx, qword [rbp + 0x38]
call fcn.1800238b0
mov ecx, 0x38
call fcn.1800b543c
mov rdx, rax
test rax, rax
je 0x1800274d1
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
shr eax, 4
not eax
and eax, 1
lea r8, vtable.CBracketElxT_wchar_t_.0
mov qword [rdx], r8
mov qword [rdx + 0x18], rsi
mov dword [rdx + 0x20], esi
mov qword [rdx + 0x10], rdi
mov dword [rdx + 0x30], esi
mov qword [rdx + 0x28], rsi
mov edi, dword [rbp + 0x28]
mov dword [rdx + 8], edi
mov dword [rdx + 0xc], eax
jmp 0x1800274d7
mov rdx, rsi
mov edi, dword [rbp + 0x28]
mov rcx, rbx
call fcn.180024d20
mov rdx, rax
mov rcx, qword [rbp + 0x38]
call fcn.1800238b0
lea rcx, [rbx + 0x40]
mov edx, edi
call fcn.1800231f0
movsxd rcx, edi
mov rax, qword [rbx + 0x58]
mov rdi, qword [rbp + 0x40]
mov qword [rax + rcx*8], rdi
mov rcx, rbx
call fcn.1800233f0
mov rax, rdi
add rsp, 0x78
pop rdi
pop rsi
pop rbx
pop rbp
ret