Function at 0x180012bc0
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.18000fc10
cmp byte [rdi + 0x130], 0x3f
jne 0x180013984
cmp dword [rdi + 0x134], 1
jne 0x180013984
mov rcx, rdi
call fcn.18000fc10
xor esi, esi
mov r8d, esi
mov dword [rbp + 0x28], esi
movsx edx, byte [rdi + 0x130]
lea eax, [rdx - 0x21]
lea r10, [0x180000000]
cmp eax, 0x31
ja case.0x180012c3d.41
cdqe
movzx eax, byte [r10 + rax + 0x13c9c]
mov ecx, dword [r10 + rax*4 + 0x13c78]
add rcx, r10
jmp rcx
mov dword [rbp + 0x28], 1
mov rcx, rdi
call fcn.18000fc10
mov ecx, 0x18
call fcn.180042b88
mov rbx, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x180012c90
mov rcx, qword [rbp + 0x30]
mov edx, dword [rcx]
and edx, 0xffffffef
mov rcx, rdi
call fcn.18000fcd0
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 0x180012c93
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.180011480
mov rbx, rax
jmp 0x180013c62
movzx eax, byte [rdi + 0x140]
cmp al, 0x21
je 0x180012cb7
cmp al, 0x3d
je 0x180012cbe
jmp case.0x180012c3d.39
mov dword [rbp + 0x28], 1
mov rcx, rdi
call fcn.18000fc10
mov rcx, rdi
call fcn.18000fc10
mov ecx, 0x18
call fcn.180042b88
mov rbx, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x180012d10
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
or edx, 0x10
mov rcx, rdi
call fcn.18000fcd0
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 0x180012d13
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.180011480
mov rbx, rax
test rax, rax
jne 0x180013c62
cmp byte [rdi + 0x130], 0x50
jne case.0x180012c3d.34
mov rcx, rdi
call fcn.18000fc10
movzx ecx, byte [rdi + 0x130]
cmp cl, 0x3c
jne 0x180012d4d
mov byte [rbp + 0x38], 0x3e
jmp 0x180012d5f
mov al, 0x3e
movzx ebx, al
mov eax, 0x27
cmp cl, al
cmove ebx, eax
mov dword [rbp + 0x38], ebx
mov rcx, rdi
call fcn.18000fc10
mov eax, dword [rdi + 0x10]
mov dword [rbp + 0x40], eax
inc eax
mov dword [rdi + 0x10], eax
mov ecx, 0x38
call fcn.180042b88
mov rdx, rax
test rax, rax
je 0x180012db5
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
and eax, 0x10
lea r8, vtable.CListElxT_0_.0
mov qword [rdx], r8
mov qword [rdx + 0x10], rsi
mov dword [rdx + 0x18], esi
lea r8, vtable.CBufferT_class_ElxInterface____ptr64_.0
mov qword [rdx + 8], r8
mov dword [rdx + 0x28], esi
mov qword [rdx + 0x20], rsi
mov dword [rdx + 0x30], eax
jmp 0x180012db8
mov rdx, rsi
mov rcx, rdi
call fcn.180011480
mov qword [rbp - 0x58], rax
mov ecx, 0x38
call fcn.180042b88
mov rdx, rax
lea rcx, vtable.CBracketElxT_char_.0
lea rbx, vtable.CBufferT_char_.0
test rax, rax
je 0x180012e11
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 0x180012e14
mov rdx, rsi
mov rcx, rdi
call fcn.180011480
mov qword [rbp - 0x50], rax
mov ecx, 0x38
call fcn.180042b88
test rax, rax
je 0x180012e65
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx]
shr ecx, 4
not ecx
and ecx, 1
lea rdx, vtable.CBracketElxT_char_.0
mov qword [rax], rdx
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 0x180012e68
mov rax, rsi
mov rdx, rax
mov rcx, rdi
call fcn.180011480
mov qword [rbp - 0x48], rax
mov rcx, qword [rbp - 0x50]
add rcx, 0x10
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
mov qword [rbp - 0x30], rbx
mov dword [rbp - 0x10], esi
mov rbx, rsi
mov qword [rbp - 0x18], rbx
cmp byte [rdi + 0x130], 0
je 0x180012f61
nop word [rax + rax]
movzx eax, byte [rdi + 0x130]
cmp al, byte [rbp + 0x38]
je 0x180012f5b
mov byte [rbp + 0x28], al
mov r8d, 1
lea rdx, [rbp + 0x28]
call fcn.1800143e0
movzx eax, byte [rdi + 0x130]
mov byte [rbp + 0x28], al
mov ecx, dword [rbp - 0x10]
mov ebx, ecx
cmp ecx, 8
mov eax, 8
cmovl ebx, eax
lea eax, [rsi + 2]
cmp eax, ebx
jle 0x180012f0e
add ebx, ebx
cmp eax, ebx
jle 0x180012f0e
lea ebx, [rsi + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x180012f0c
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, ecx
mov rcx, qword [rbp - 0x18]
jle 0x180012f2c
movsxd rdx, ebx
call fcn.180043c0c
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.18000fc10
cmp byte [rdi + 0x130], 0
mov rcx, qword [rbp - 0x40]
jne 0x180012eb0
xor esi, esi
mov rbx, qword [rbp - 0x18]
mov rcx, rdi
call fcn.18000fc10
lea r11, [0x18006448b]
test rbx, rbx
cmovne r11, rbx
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.180011d20
test eax, eax
je 0x180012fc9
mov ecx, esi
mov rax, qword [rbp + 0x38]
cmp byte [rax], 0
sete cl
test ecx, ecx
je 0x180012fc9
mov eax, dword [rbp + 0x28]
mov rbx, qword [rbp - 0x50]
mov dword [rbx + 8], eax
mov rcx, qword [rbp - 0x48]
mov dword [rcx + 8], eax
mov rcx, qword [rbx + 0x28]
mov qword [rbx + 0x28], rsi
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x30], esi
mov dword [rbx + 0x20], esi
test rcx, rcx
je 0x180012fc9
call fcn.180043658
mov rbx, qword [rbp - 0x58]
add rbx, 8
mov rdx, qword [rbp - 0x50]
mov rcx, rbx
call fcn.1800151d0
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.18000fcd0
mov rdx, rax
mov rcx, rbx
call fcn.1800151d0
mov rdx, qword [rbp - 0x48]
mov rcx, rbx
call fcn.1800151d0
lea rcx, [rdi + 0x90]
movsxd rbx, dword [rbp + 0x40]
mov edx, ebx
call fcn.180015050
mov r11, rbx
mov rax, qword [rdi + 0xa8]
mov rbx, qword [rbp - 0x58]
mov qword [rax + r11*8], rbx
jmp 0x18001386c
mov rcx, rdi
call fcn.18000fc10
mov ecx, reloc.WS2_32.dll_recv
call fcn.180042b88
mov rbx, rax
mov qword [rbp + 0x28], rax
test rax, rax
je 0x180013067
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.18000fcd0
lea rcx, vtable.CIndependentElxT_0_.0
mov qword [rbx], rcx
mov qword [rbx + 8], rax
jmp 0x18001306a
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.180011480
mov rbx, rax
jmp 0x180013c62
mov rcx, rdi
call fcn.18000fc10
cmp byte [rdi + 0x130], sil
je 0x1800130b1
nop
movsx ecx, byte [rdi + 0x130]
call fcn.180043270
test eax, eax
je 0x1800130b1
mov rcx, rdi
call fcn.18000fc10
cmp byte [rdi + 0x130], sil
jne 0x180013090
movzx eax, byte [rdi + 0x130]
cmp al, 0x3c
je 0x180013210
cmp al, 0x27
je 0x180013210
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 0x180013194
mov r8d, 8
nop word [rax + rax]
movzx eax, byte [rdi + 0x130]
mov byte [rbp + 0x28], al
cmp al, 0x29
je 0x18001318b
mov ebx, edx
cmp edx, 8
cmovl ebx, r8d
lea eax, [rsi + 2]
cmp eax, ebx
jle 0x180013139
add ebx, ebx
cmp eax, ebx
jle 0x180013139
lea ebx, [rsi + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x180013137
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, edx
jle 0x180013153
movsxd rdx, ebx
call fcn.180043c0c
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.18000fc10
cmp byte [rdi + 0x130], 0
mov rcx, qword [rbp - 0x18]
mov edx, dword [rbp - 0x10]
mov r8d, 8
jne 0x180013100
xor esi, esi
lea rbx, vtable.CBufferT_char_.0
mov dword [rbp + 0x28], esi
lea r11, [0x18006448b]
test rcx, rcx
cmovne r11, rcx
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.180011d20
mov ecx, 0x40
call fcn.180042b88
mov rdx, rax
test rax, rax
je 0x1800131f0
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 0x1800131f3
mov rdx, rsi
mov rcx, rdi
call fcn.180011480
mov rbx, rax
lea rcx, [rdi + 0x68]
mov rdx, rax
call fcn.1800151d0
nop
jmp 0x18001386c
mov ecx, 0x27
mov edx, 0x3e
cmp al, 0x3c
cmove ecx, edx
mov dword [rbp + 0x38], ecx
lea ecx, [rdx + 2]
call fcn.180042b88
lea rcx, vtable.CBufferT_char_.0
test rax, rax
je 0x18001325f
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 0x180013262
mov rax, rsi
mov rdx, rax
mov rcx, rdi
call fcn.180011480
mov rbx, rax
mov qword [rbp - 0x58], rax
mov rcx, rdi
call fcn.18000fc10
lea rcx, [rbx + 0x18]
mov qword [rbp + 0x40], rcx
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
lea rdx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rdx
mov dword [rbp - 0x10], esi
mov rbx, rsi
mov qword [rbp - 0x18], rbx
cmp byte [rdi + 0x130], 0
je 0x180013361
nop dword [rax]
movzx eax, byte [rdi + 0x130]
cmp al, byte [rbp + 0x38]
je 0x18001335b
mov byte [rbp + 0x28], al
mov r8d, 1
lea rdx, [rbp + 0x28]
call fcn.1800143e0
movzx eax, byte [rdi + 0x130]
mov byte [rbp + 0x28], al
mov ecx, dword [rbp - 0x10]
mov ebx, ecx
cmp ecx, 8
mov eax, 8
cmovl ebx, eax
lea eax, [rsi + 2]
cmp eax, ebx
jle 0x18001330e
add ebx, ebx
cmp eax, ebx
jle 0x18001330e
lea ebx, [rsi + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x18001330c
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, ecx
mov rcx, qword [rbp - 0x18]
jle 0x18001332c
movsxd rdx, ebx
call fcn.180043c0c
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.18000fc10
cmp byte [rdi + 0x130], 0
mov rcx, qword [rbp + 0x40]
jne 0x1800132b0
xor esi, esi
mov rbx, qword [rbp - 0x18]
mov rcx, rdi
call fcn.18000fc10
lea r11, [0x18006448b]
test rbx, rbx
cmovne r11, rbx
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.180011d20
test eax, eax
je 0x1800133c5
mov ecx, esi
mov rax, qword [rbp + 0x38]
cmp byte [rax], 0
sete cl
test ecx, ecx
je 0x1800133c5
mov eax, dword [rbp + 0x28]
mov rcx, qword [rbp - 0x58]
mov dword [rcx + 0x10], eax
mov rax, qword [rcx + 0x30]
mov qword [rcx + 0x30], rsi
mov qword [rcx + 0x20], rsi
mov dword [rcx + 0x38], esi
mov dword [rcx + 0x28], esi
test rax, rax
je 0x1800133c5
mov rcx, rax
call fcn.180043658
lea rcx, [rdi + 0x68]
mov rdx, qword [rbp - 0x58]
call fcn.1800151d0
nop
test rbx, rbx
je 0x18001397b
mov rcx, rbx
call fcn.180043658
jmp 0x18001397b
mov ecx, 0x50
call fcn.180042b88
lea rcx, vtable.CBufferT_char_.0
test rax, rax
je 0x180013424
lea rdx, vtable.CConditionElxT_char_.0
mov qword [rax], rdx
mov qword [rax + 0x18], rsi
mov dword [rax + 0x20], esi
mov qword [rax + 0x10], rcx
mov dword [rax + 0x30], esi
mov qword [rax + 0x28], rsi
mov dword [rax + 8], 0xffffffff
jmp 0x180013427
mov rax, rsi
mov rdx, rax
mov rcx, rdi
call fcn.180011480
mov rbx, rax
mov qword [rbp - 0x58], rax
cmp byte [rdi + 0x140], 0x3f
jne 0x180013460
cmp dword [rdi + 0x144], 1
jne 0x180013460
mov rdx, qword [rbp + 0x30]
mov rcx, rdi
call fcn.180012bc0
mov qword [rbx + 0x38], rax
jmp 0x1800136a5
mov rcx, rdi
call fcn.18000fc10
mov eax, dword [rdi + 0x138]
mov dword [rbp + 0x38], eax
mov ecx, 0x18
call fcn.180042b88
mov qword [rbp + 0x28], rax
test rax, rax
je 0x1800134ad
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.18000fcd0
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 0x1800134b0
mov rdx, rsi
mov rcx, rdi
call fcn.180011480
mov qword [rbx + 0x38], rax
mov rax, qword [rdi + 0x110]
lea rdx, [0x18006448b]
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, [rbx + 0x10]
call fcn.1800143e0
mov qword [rbp - 0x28], rsi
mov r8d, esi
mov dword [rbp - 0x20], esi
lea rdx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rdx
mov edx, esi
mov dword [rbp - 0x10], edx
mov rcx, rsi
mov qword [rbp - 0x18], rcx
mov r11d, 8
mov eax, dword [rbp + 0x38]
cmp eax, dword [rdi + 0x138]
jge 0x1800135e9
mov r10, rsi
mov qword [rbp - 0x48], rsi
mov r9, qword [rbp + 0x40]
cmp eax, dword [rdi + 0x118]
jl 0x18001353e
mov byte [rbp + 0x28], 0
jmp 0x18001354d
mov rax, qword [rdi + 0x110]
movzx eax, byte [r9 + rax]
mov byte [rbp + 0x28], al
mov ebx, edx
cmp edx, 8
cmovl ebx, r11d
lea eax, [r8 + 2]
cmp eax, ebx
jle 0x18001357a
add ebx, ebx
cmp eax, ebx
jle 0x18001357a
lea ebx, [r8 + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x180013578
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, edx
jle 0x1800135a1
movsxd rdx, ebx
call fcn.180043c0c
mov rcx, rax
mov qword [rbp - 0x28], rax
mov edx, ebx
mov r8d, dword [rbp - 0x20]
mov r9, qword [rbp + 0x40]
mov r10, qword [rbp - 0x48]
mov r11d, 8
movzx eax, byte [rbp + 0x28]
mov byte [rcx + r10], al
inc r8d
mov dword [rbp - 0x20], r8d
movsxd r10, r8d
mov qword [rbp - 0x48], r10
mov byte [rcx + r10], 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 0x180013530
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x10], edx
test rcx, rcx
je 0x1800135e9
mov qword [rbp + 0x38], rcx
jmp 0x1800135f4
lea r11, [0x18006448b]
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.180011d20
test eax, eax
je 0x180013624
mov ecx, esi
mov rax, qword [rbp + 0x38]
cmp byte [rax], cl
sete cl
test ecx, ecx
je 0x180013624
mov eax, dword [rbp + 0x28]
mov rbx, qword [rbp - 0x58]
mov dword [rbx + 8], eax
mov qword [rbx + 0x38], rsi
jmp 0x18001368e
mov rbx, qword [rbp - 0x58]
mov dword [rbx + 8], 0xffffffff
mov eax, dword [rdi + 0x100]
cmp dword [rdi + 0xf0], eax
jl 0x180013676
lea ebx, [rax + rax]
cmp ebx, 8
mov eax, 8
cmovl ebx, eax
movsxd rdx, ebx
shl rdx, 3
mov rcx, qword [rdi + 0xf8]
call fcn.180043c0c
mov qword [rdi + 0xf8], rax
mov qword [rdi + 0xe8], rax
mov dword [rdi + 0x100], ebx
mov rbx, qword [rbp - 0x58]
movsxd rcx, dword [rdi + 0xf0]
mov rax, qword [rdi + 0xf8]
mov qword [rax + rcx*8], rbx
inc dword [rdi + 0xf0]
mov rcx, rdi
call fcn.18000fc10
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1800136a5
call fcn.180043658
mov rax, qword [rbp + 0x30]
mov eax, dword [rax]
mov dword [rbp + 0x28], eax
lea rdx, [rbp + 0x28]
mov rcx, rdi
call fcn.1800109d0
mov qword [rbx + 0x40], rax
cmp byte [rdi + 0x130], 0x7c
jne 0x1800136e6
mov rcx, rdi
call fcn.18000fc10
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.18000fcd0
mov qword [rbx + 0x48], rax
jmp 0x180013c62
mov qword [rbx + 0x48], rsi
jmp 0x180013c62
test dl, dl
je 0x18001371e
movsx ecx, byte [rdi + 0x130]
call fcn.180043270
test eax, eax
je 0x180013714
mov rcx, rdi
call fcn.18000fc10
cmp byte [rdi + 0x130], sil
jne 0x1800136f3
mov r8d, esi
lea r10, [0x180000000]
movzx eax, byte [rdi + 0x130]
cmp al, 0x30
jl 0x180013883
cmp al, 0x39
jg 0x180013883
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 0x1800137f5
mov r8d, 8
movzx eax, byte [rdi + 0x130]
mov byte [rbp + 0x28], al
cmp al, 0x29
je 0x1800137ec
mov ebx, edx
cmp edx, 8
cmovl ebx, r8d
lea eax, [rsi + 2]
cmp eax, ebx
jle 0x18001379a
add ebx, ebx
cmp eax, ebx
jle 0x18001379a
lea ebx, [rsi + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x180013798
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, edx
jle 0x1800137b4
movsxd rdx, ebx
call fcn.180043c0c
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.18000fc10
cmp byte [rdi + 0x130], 0
mov rcx, qword [rbp - 0x18]
mov edx, dword [rbp - 0x10]
mov r8d, 8
jne 0x180013761
xor esi, esi
lea rbx, vtable.CBufferT_char_.0
mov dword [rbp + 0x28], esi
lea r11, [0x18006448b]
test rcx, rcx
cmovne r11, rcx
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.180011d20
mov ecx, 0x40
call fcn.180042b88
mov rdx, rax
test rax, rax
je 0x180013851
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 0x180013854
mov rdx, rsi
mov rcx, rdi
call fcn.180011480
mov rbx, rax
lea rcx, [rdi + 0x68]
mov rdx, rax
call fcn.1800151d0
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x180013c62
call fcn.180043658
jmp 0x180013c62
mov ebx, dword [rbx]
mov r9d, 8
movzx ecx, byte [rdi + 0x130]
test cl, cl
jne 0x1800138a3
cmp dword [rdi + 0x134], 1
je 0x18001392d
movzx eax, byte [rdi + 0x130]
cmp al, 0x3a
je 0x18001392d
cmp al, 0x29
je 0x18001392d
cmp cl, 0x28
jne 0x1800138c0
cmp dword [rdi + 0x134], 1
je 0x18001392d
mov edx, esi
movsx eax, al
add eax, 0xffffffd3
cmp eax, 0x46
ja case.0x1800138e3.50
cdqe
movzx eax, byte [r10 + rax + 0x13ce8]
mov ecx, dword [r10 + rax*4 + 0x13cd0]
add rcx, r10
jmp rcx
mov edx, r9d
jmp case.0x1800138e3.50
mov edx, 1
jmp case.0x1800138e3.50
mov edx, 2
jmp case.0x1800138e3.50
mov edx, 4
jmp case.0x1800138e3.50
mov dword [rbp + 0x28], 1
jmp 0x18001390d
test r8d, r8d
je 0x180013913
not edx
and ebx, edx
jmp 0x180013915
or ebx, edx
mov rcx, rdi
call fcn.18000fc10
mov r8d, dword [rbp + 0x28]
lea r10, [0x180000000]
jmp 0x180013885
movzx eax, byte [rdi + 0x130]
cmp al, 0x3a
je 0x180013961
cmp al, 0x28
jne 0x180013945
cmp dword [rdi + 0x134], 1
je 0x18001395d
mov rax, qword [rbp + 0x30]
mov dword [rax], ebx
xor edx, edx
mov rcx, rdi
call fcn.180010b30
mov rbx, rax
jmp 0x180013c62
cmp al, 0x3a
jne 0x180013969
mov rcx, rdi
call fcn.18000fc10
mov edx, ebx
mov rcx, rdi
call fcn.18000fcd0
mov rbx, rax
jmp 0x180013c62
mov rbx, qword [rbp - 0x58]
jmp 0x180013c62
mov ecx, 0x38
call fcn.180042b88
mov rcx, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x1800139c9
mov eax, dword [rbx]
and eax, 0x10
lea r8, vtable.CListElxT_0_.0
mov qword [rcx], r8
xor esi, esi
mov qword [rcx + 0x10], rsi
mov dword [rcx + 0x18], esi
lea r8, vtable.CBufferT_class_ElxInterface____ptr64_.0
mov qword [rcx + 8], r8
mov dword [rcx + 0x28], esi
mov qword [rcx + 0x20], rsi
mov dword [rcx + 0x30], eax
jmp 0x1800139cf
xor esi, esi
mov qword [rbp + 0x38], rsi
mov ebx, dword [rdi + 0x38]
mov eax, 8
cmp dword [rdi + 0x28], ebx
jl 0x1800139fe
add ebx, ebx
cmp ebx, eax
cmovl ebx, eax
movsxd rdx, ebx
shl rdx, 3
mov rcx, qword [rdi + 0x30]
call fcn.180043c0c
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x20], rax
mov dword [rdi + 0x38], ebx
movsxd rcx, dword [rdi + 0x28]
mov rax, qword [rdi + 0x30]
mov rbx, qword [rbp + 0x38]
mov qword [rax + rcx*8], rbx
inc dword [rdi + 0x28]
inc dword [rdi + 0xc]
mov eax, dword [rdi + 0xc]
mov dword [rbp + 0x28], eax
mov ecx, 0x38
call fcn.180042b88
mov rdx, rax
mov qword [rbp + 0x40], rax
lea r8, vtable.CBracketElxT_char_.0
lea rax, vtable.CBufferT_char_.0
test rdx, rdx
je 0x180013a6a
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx]
shr ecx, 4
and ecx, 1
mov qword [rdx], r8
mov qword [rdx + 0x18], rsi
mov dword [rdx + 0x20], esi
mov qword [rdx + 0x10], rax
mov dword [rdx + 0x30], esi
mov qword [rdx + 0x28], rsi
mov eax, dword [rbp + 0x28]
mov dword [rdx + 8], eax
mov dword [rdx + 0xc], ecx
jmp 0x180013a6e
mov qword [rbp + 0x40], rsi
mov eax, dword [rdi + 0x38]
cmp dword [rdi + 0x28], eax
jl 0x180013aa3
lea ebx, [rax + rax]
cmp ebx, 8
mov eax, 8
cmovl ebx, eax
movsxd rdx, ebx
shl rdx, 3
mov rcx, qword [rdi + 0x30]
call fcn.180043c0c
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x20], rax
mov dword [rdi + 0x38], ebx
mov rbx, qword [rbp + 0x38]
movsxd rcx, dword [rdi + 0x28]
mov rax, qword [rdi + 0x30]
mov rdx, qword [rbp + 0x40]
mov qword [rax + rcx*8], rdx
inc dword [rdi + 0x28]
mov eax, dword [rbx + 0x28]
cmp dword [rbx + 0x18], eax
jl 0x180013af6
lea ebx, [rax + rax]
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.180043c0c
mov rcx, qword [rbp + 0x38]
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x10], rax
mov dword [rcx + 0x28], ebx
mov rbx, rcx
mov rdx, qword [rbp + 0x40]
movsxd rcx, dword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
mov qword [rax + rcx*8], rdx
inc dword [rbx + 0x18]
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.18000fcd0
mov qword [rbp + 0x40], rax
mov ecx, dword [rbx + 0x28]
cmp dword [rbx + 0x18], ecx
jl 0x180013b53
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.180043c0c
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.180042b88
mov qword [rbp + 0x40], rax
test rax, rax
je 0x180013bb8
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx]
shr ecx, 4
not ecx
and ecx, 1
lea rdx, vtable.CBracketElxT_char_.0
mov qword [rax], rdx
mov qword [rax + 0x18], rsi
mov dword [rax + 0x20], esi
lea rdx, vtable.CBufferT_char_.0
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
mov rsi, rax
jmp 0x180013bbc
mov qword [rbp + 0x40], rsi
mov eax, dword [rdi + 0x38]
cmp dword [rdi + 0x28], eax
jl 0x180013bf1
lea ebx, [rax + rax]
cmp ebx, 8
mov eax, 8
cmovl ebx, eax
movsxd rdx, ebx
shl rdx, 3
mov rcx, qword [rdi + 0x30]
call fcn.180043c0c
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x20], rax
mov dword [rdi + 0x38], ebx
mov rbx, qword [rbp + 0x38]
movsxd rcx, dword [rdi + 0x28]
mov rax, qword [rdi + 0x30]
mov qword [rax + rcx*8], rsi
inc dword [rdi + 0x28]
mov eax, dword [rbx + 0x28]
cmp dword [rbx + 0x18], eax
jl 0x180013c3c
lea ebx, [rax + rax]
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.180043c0c
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x28], ebx
mov rbx, rsi
mov rsi, qword [rbp + 0x40]
movsxd rdx, dword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
mov qword [rcx + rdx*8], rsi
inc dword [rbx + 0x18]
lea rcx, [rdi + 0x40]
movsxd rsi, dword [rbp + 0x28]
mov edx, esi
call fcn.180015050
mov rcx, qword [rdi + 0x58]
mov qword [rcx + rsi*8], rbx
mov rcx, rdi
call fcn.18000fc10
mov rax, rbx
add rsp, 0x78
pop rdi
pop rsi
pop rbx
pop rbp
ret