Function at 0x140013500
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.14000fe10
cmp word [rdi + 0x130], 0x3f
jne 0x14001447b
cmp dword [rdi + 0x134], 1
jne 0x14001447b
mov rcx, rdi
call fcn.14000fe10
xor esi, esi
mov r8d, esi
mov dword [rbp + 0x28], esi
mov ebx, 0x3e
mov dword [rbp + 0x38], ebx
movzx edx, word [rdi + 0x130]
lea eax, [rdx - 0x21]
lea r10, [0x140000000]
cmp eax, 0x31
ja case.0x140013586.41
cdqe
movzx eax, byte [r10 + rax + 0x146dc]
mov ecx, dword [r10 + rax*4 + 0x146b8]
add rcx, r10
jmp rcx
mov dword [rbp + 0x28], 1
mov rcx, rdi
call fcn.14000fe10
mov ecx, 0x18
call fcn.140095cd8
mov rbx, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x1400135d9
mov rcx, qword [rbp + 0x30]
mov edx, dword [rcx]
and edx, 0xffffffef
mov rcx, rdi
call fcn.140013390
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 0x1400135dc
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.14000c940
mov rbx, rax
jmp 0x1400146a4
movzx eax, word [rdi + 0x140]
cmp eax, 0x21
je 0x140013602
cmp eax, 0x3d
je 0x140013609
jmp case.0x140013586.39
mov dword [rbp + 0x28], 1
mov rcx, rdi
call fcn.14000fe10
mov rcx, rdi
call fcn.14000fe10
mov ecx, 0x18
call fcn.140095cd8
mov rbx, rax
mov qword [rbp + 0x40], rax
test rax, rax
je 0x14001365b
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
or edx, 0x10
mov rcx, rdi
call fcn.140013390
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 0x14001365e
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.14000c940
mov rbx, rax
test rax, rax
jne 0x1400146a4
lea ebx, [rax + 0x3e]
cmp word [rdi + 0x130], 0x50
jne case.0x140013586.34
mov rcx, rdi
call fcn.14000fe10
movzx eax, word [rdi + 0x130]
cmp ax, 0x3c
jne 0x14001369c
mov dword [rbp + 0x38], ebx
jmp 0x1400136ab
cmp ax, 0x27
jne 0x1400136ab
mov eax, 0x27
mov word [rbp + 0x38], ax
mov rcx, rdi
call fcn.14000fe10
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 0x140013701
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 0x140013704
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_wchar_t_.0
lea rbx, vtable.CBufferT_wchar_t_.0
test rax, rax
je 0x14001375d
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 0x140013760
mov rdx, rsi
mov rcx, rdi
call fcn.14000c940
mov qword [rbp - 0x48], rax
mov ecx, 0x38
call fcn.140095cd8
test rax, rax
je 0x1400137b1
mov rcx, qword [rbp + 0x30]
mov ecx, dword [rcx]
shr ecx, 4
not ecx
and ecx, 1
lea r8, vtable.CBracketElxT_wchar_t_.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 0x1400137b4
mov rax, rsi
mov rdx, rax
mov rcx, rdi
call fcn.14000c940
mov qword [rbp - 0x40], rax
mov rbx, qword [rbp - 0x48]
lea r9, [rbx + 0x10]
mov qword [rbp - 0x50], r9
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 r11d, esi
mov dword [rbp - 0x10], esi
mov r8, rsi
mov qword [rbp - 0x18], rsi
cmp word [rdi + 0x130], 0
je 0x140013962
mov ecx, 8
nop word [rax + rax]
movzx eax, word [rdi + 0x130]
mov dword [rbp + 0x28], eax
cmp ax, word [rbp + 0x38]
je 0x14001395e
mov r10d, dword [r9 + 0x20]
mov ebx, r10d
cmp r10d, 8
cmovl ebx, ecx
mov ecx, dword [r9 + 0x10]
lea eax, [rcx + 2]
cmp eax, ebx
jle 0x140013858
add ebx, ebx
cmp eax, ebx
jle 0x140013858
lea ebx, [rcx + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x140013856
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, r10d
jle 0x140013887
movsxd rdx, ebx
add rdx, rdx
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 edx, dword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov r11d, dword [rbp - 0x10]
movsxd rcx, dword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov r10d, dword [rbp + 0x28]
mov word [rax + rcx*2], r10w
inc dword [r9 + 0x10]
movsxd rcx, dword [r9 + 0x10]
mov rax, qword [r9 + 0x18]
mov word [rax + rcx*2], si
movzx ecx, word [rdi + 0x130]
movzx eax, cx
mov r9d, 0xff
and ax, r9w
cmp ax, cx
jne 0x1400138c6
mov byte [rbp + 0x28], cl
jmp 0x1400138ca
mov byte [rbp + 0x28], 0
mov ebx, r11d
cmp r11d, 8
mov eax, 8
cmovl ebx, eax
lea eax, [rdx + 2]
cmp eax, ebx
jle 0x1400138fb
add ebx, ebx
cmp eax, ebx
jle 0x1400138fb
lea ebx, [rdx + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x1400138f9
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, r11d
jle 0x14001391c
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.14000fe10
cmp word [rdi + 0x130], 0
mov edx, dword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov r9, qword [rbp - 0x50]
mov r11d, dword [rbp - 0x10]
mov ecx, 8
jne 0x140013810
mov rbx, qword [rbp - 0x48]
mov rcx, rdi
call fcn.14000fe10
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.14000ca20
test eax, eax
je 0x1400139b6
mov rax, qword [rbp + 0x38]
cmp byte [rax], 0
sete sil
test esi, esi
je 0x1400139b6
mov eax, dword [rbp + 0x28]
mov dword [rbx + 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.140013390
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 r11, rbx
mov rax, qword [rdi + 0xa8]
mov rbx, rsi
mov qword [rax + r11*8], rbx
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x1400146a4
mov rcx, rax
call fcn.140096684
jmp 0x1400146a4
mov rcx, rdi
call fcn.14000fe10
mov ecx, reloc.WS2_32.dll_recv
call fcn.140095cd8
mov rbx, rax
mov qword [rbp + 0x28], rax
test rax, rax
je 0x140013a6a
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.140013390
lea rcx, vtable.CIndependentElxT_0_.0
mov qword [rbx], rcx
mov qword [rbx + 8], rax
jmp 0x140013a6d
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.14000c940
mov rbx, rax
jmp 0x1400146a4
mov rcx, rdi
call fcn.14000fe10
cmp word [rdi + 0x130], si
je 0x140013ab2
movzx ecx, word [rdi + 0x130]
call fcn.14009733c
test eax, eax
je 0x140013ab2
mov rcx, rdi
call fcn.14000fe10
cmp word [rdi + 0x130], si
jne 0x140013a91
movzx eax, word [rdi + 0x130]
cmp ax, 0x3c
je 0x140013c34
cmp ax, 0x27
je 0x140013c34
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
lea rcx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rcx
mov edx, esi
mov dword [rbp - 0x10], edx
mov rcx, rsi
mov qword [rbp - 0x18], rcx
test ax, ax
je 0x140013bb1
mov r9d, 8
mov r10d, 0xff
movzx r8d, word [rdi + 0x130]
cmp r8w, 0x29
je 0x140013baf
movzx eax, r8w
and ax, r10w
cmp ax, r8w
jne 0x140013b27
mov byte [rbp + 0x28], r8b
jmp 0x140013b2b
mov byte [rbp + 0x28], 0
mov ebx, edx
cmp edx, 8
cmovl ebx, r9d
lea eax, [rsi + 2]
cmp eax, ebx
jle 0x140013b56
add ebx, ebx
cmp eax, ebx
jle 0x140013b56
lea ebx, [rsi + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x140013b54
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, edx
jle 0x140013b70
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.14000fe10
cmp word [rdi + 0x130], 0
mov rcx, qword [rbp - 0x18]
mov edx, dword [rbp - 0x10]
mov r9d, 8
mov r10d, 0xff
jne 0x140013b00
xor esi, esi
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.14000ca20
mov ecx, 0x40
call fcn.140095cd8
mov rdx, rax
test rax, rax
je 0x140013c14
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 eax, dword [rbp + 0x28]
mov dword [rdx + 0x10], eax
jmp 0x140013c17
mov rdx, rsi
mov rcx, rdi
call fcn.14000c940
mov rbx, rax
lea rcx, [rdi + 0x68]
mov rdx, rax
call fcn.14000d590
nop
jmp 0x14001434f
mov ecx, 0x27
cmp ax, 0x3c
cmove cx, bx
mov dword [rbp + 0x38], ecx
mov ecx, 0x40
call fcn.140095cd8
test rax, rax
je 0x140013c83
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 0x140013c86
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.14000fe10
lea r8, [rbx + 0x18]
mov qword [rbp + 0x40], r8
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 r10d, esi
mov dword [rbp - 0x10], esi
mov r9, rsi
mov qword [rbp - 0x18], rsi
cmp word [rdi + 0x130], 0
je 0x140013e2f
mov r11d, 8
nop dword [rax]
movzx eax, word [rdi + 0x130]
mov dword [rbp + 0x28], eax
cmp ax, word [rbp + 0x38]
je 0x140013e2f
mov ecx, dword [r8 + 0x20]
mov ebx, ecx
cmp ecx, 8
cmovl ebx, r11d
mov r11d, dword [r8 + 0x10]
lea eax, [r11 + 2]
cmp eax, ebx
jle 0x140013d29
add ebx, ebx
cmp eax, ebx
jle 0x140013d29
lea ebx, [r11 + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x140013d27
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, ecx
jle 0x140013d57
movsxd rdx, ebx
add rdx, rdx
mov rcx, qword [r8 + 0x18]
call fcn.140096e70
mov r8, qword [rbp + 0x40]
mov qword [r8 + 0x18], rax
mov qword [r8 + 8], rax
mov dword [r8 + 0x20], ebx
mov edx, dword [rbp - 0x20]
mov r9, qword [rbp - 0x18]
mov r10d, dword [rbp - 0x10]
movsxd rcx, dword [r8 + 0x10]
mov rax, qword [r8 + 0x18]
mov r11d, dword [rbp + 0x28]
mov word [rax + rcx*2], r11w
inc dword [r8 + 0x10]
movsxd rcx, dword [r8 + 0x10]
mov rax, qword [r8 + 0x18]
mov word [rax + rcx*2], si
movzx ecx, word [rdi + 0x130]
movzx eax, cx
mov r8d, 0xff
and ax, r8w
cmp ax, cx
jne 0x140013d96
mov byte [rbp + 0x28], cl
jmp 0x140013d9a
mov byte [rbp + 0x28], 0
mov ebx, r10d
cmp r10d, 8
mov eax, 8
cmovl ebx, eax
lea eax, [rdx + 2]
cmp eax, ebx
jle 0x140013dcb
add ebx, ebx
cmp eax, ebx
jle 0x140013dcb
lea ebx, [rdx + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x140013dc9
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, r10d
jle 0x140013dec
movsxd rdx, ebx
mov rcx, r9
call fcn.140096e70
mov r9, 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 + r9], cl
inc edx
mov dword [rbp - 0x20], edx
movsxd rax, edx
mov byte [rax + r9], 0
mov rcx, rdi
call fcn.14000fe10
cmp word [rdi + 0x130], 0
mov edx, dword [rbp - 0x20]
mov r8, qword [rbp + 0x40]
mov r9, qword [rbp - 0x18]
mov r10d, dword [rbp - 0x10]
mov r11d, 8
jne 0x140013ce0
mov rcx, rdi
call fcn.14000fe10
lea r11, [0x1400bd2f8]
mov rbx, qword [rbp - 0x18]
test rbx, rbx
cmovne r11, rbx
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.14000ca20
test eax, eax
je 0x140013e82
mov rax, qword [rbp + 0x38]
cmp byte [rax], 0
sete sil
test esi, esi
mov rsi, qword [rbp - 0x58]
je 0x140013e86
mov eax, dword [rbp + 0x28]
mov dword [rsi + 0x10], eax
mov rcx, qword [rbp + 0x40]
call fcn.140028130
jmp 0x140013e86
mov rsi, qword [rbp - 0x58]
lea rcx, [rdi + 0x68]
mov rdx, rsi
call fcn.14000d590
nop
test rbx, rbx
je 0x140014472
mov rcx, rbx
call fcn.140096684
jmp 0x140014472
mov ecx, 0x50
call fcn.140095cd8
test rax, rax
je 0x140013ee4
lea rcx, vtable.CConditionElxT_wchar_t_.0
mov qword [rax], rcx
mov qword [rax + 0x18], rsi
mov dword [rax + 0x20], esi
lea rcx, vtable.CBufferT_wchar_t_.0
mov qword [rax + 0x10], rcx
mov dword [rax + 0x30], esi
mov qword [rax + 0x28], rsi
mov dword [rax + 8], 0xffffffff
jmp 0x140013ee7
mov rax, rsi
mov rdx, rax
mov rcx, rdi
call fcn.14000c940
mov rbx, rax
mov qword [rbp - 0x58], rax
cmp word [rdi + 0x140], 0x3f
jne 0x140013f21
cmp dword [rdi + 0x144], 1
jne 0x140013f21
mov rdx, qword [rbp + 0x30]
mov rcx, rdi
call fcn.140013500
mov qword [rbx + 0x38], rax
jmp 0x140014145
mov rcx, rdi
call fcn.14000fe10
mov eax, dword [rdi + 0x138]
mov dword [rbp + 0x28], eax
mov ecx, 0x18
call fcn.140095cd8
mov rbx, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x140013f6d
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.140013390
lea rcx, vtable.CAssertElxT_0_.0
mov qword [rbx], rcx
mov qword [rbx + 8], rax
mov dword [rbx + 0x10], 1
jmp 0x140013f70
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.14000c940
mov r9, qword [rbp - 0x58]
mov qword [r9 + 0x38], rax
mov rax, qword [rdi + 0x110]
lea rcx, [0x1400bdbf0]
test rax, rax
cmovne rcx, rax
movsxd rbx, dword [rbp + 0x28]
mov r8d, dword [rdi + 0x138]
sub r8d, ebx
lea rdx, [rcx + rbx*2]
lea rcx, [r9 + 0x10]
mov r9d, 1
call fcn.14000d2c0
mov qword [rbp - 0x28], rsi
mov r9d, esi
mov dword [rbp - 0x20], esi
lea rcx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rcx
mov r10d, esi
mov dword [rbp - 0x10], esi
mov r8, rsi
mov qword [rbp - 0x18], rsi
cmp ebx, dword [rdi + 0x138]
jge 0x1400140d9
mov qword [rbp + 0x40], rsi
mov rcx, rbx
add rcx, rcx
mov qword [rbp - 0x40], rcx
mov r11d, 0xff
nop dword [rax + rax]
cmp ebx, dword [rdi + 0x118]
jl 0x14001400d
movzx edx, si
jmp 0x140014018
mov rax, qword [rdi + 0x110]
movzx edx, word [rcx + rax]
movzx ecx, dx
and cx, r11w
mov r11d, esi
movzx eax, dl
cmp cx, dx
cmove r11d, eax
mov dword [rbp + 0x38], r11d
mov ebx, r10d
cmp r10d, 8
mov eax, 8
cmovl ebx, eax
lea eax, [r9 + 2]
cmp eax, ebx
jle 0x140014063
add ebx, ebx
cmp eax, ebx
jle 0x140014063
lea ebx, [r9 + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x140014061
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, r10d
jle 0x140014085
movsxd rdx, ebx
mov rcx, r8
call fcn.140096e70
mov r8, rax
mov qword [rbp - 0x28], rax
mov r10d, ebx
mov r9d, dword [rbp - 0x20]
mov r11d, dword [rbp + 0x38]
mov rax, qword [rbp + 0x40]
mov byte [rax + r8], r11b
inc r9d
mov dword [rbp - 0x20], r9d
movsxd rax, r9d
mov qword [rbp + 0x40], rax
mov byte [rax + r8], 0
mov ebx, dword [rbp + 0x28]
inc ebx
mov dword [rbp + 0x28], ebx
mov rcx, qword [rbp - 0x40]
add rcx, 2
mov qword [rbp - 0x40], rcx
cmp ebx, dword [rdi + 0x138]
mov r11d, 0xff
jl 0x140014000
mov qword [rbp - 0x18], r8
mov dword [rbp - 0x10], r10d
test r8, r8
je 0x1400140d9
mov qword [rbp + 0x38], r8
jmp 0x1400140e4
lea r11, [0x1400bd2f8]
mov qword [rbp + 0x38], r11
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x38]
call fcn.14000ca20
test eax, eax
je 0x140014114
mov ecx, esi
mov rax, qword [rbp + 0x38]
cmp byte [rax], cl
sete cl
test ecx, ecx
je 0x140014114
mov eax, dword [rbp + 0x28]
mov rbx, qword [rbp - 0x58]
mov dword [rbx + 8], eax
mov qword [rbx + 0x38], rsi
jmp 0x14001412e
mov rbx, qword [rbp - 0x58]
mov dword [rbx + 8], 0xffffffff
lea rcx, [rdi + 0xe0]
mov rdx, rbx
call fcn.14000d590
mov rcx, rdi
call fcn.14000fe10
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140014145
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.140012730
mov qword [rbx + 0x40], rax
cmp word [rdi + 0x130], 0x7c
jne 0x140014187
mov rcx, rdi
call fcn.14000fe10
mov rax, qword [rbp + 0x30]
mov edx, dword [rax]
mov rcx, rdi
call fcn.140013390
mov qword [rbx + 0x48], rax
jmp 0x1400146a4
mov qword [rbx + 0x48], rsi
jmp 0x1400146a4
test dx, dx
je 0x1400141cb
nop word [rax + rax]
movzx ecx, word [rdi + 0x130]
call fcn.14009733c
test eax, eax
je 0x1400141c1
mov rcx, rdi
call fcn.14000fe10
cmp word [rdi + 0x130], si
jne 0x1400141a0
mov r8d, esi
lea r10, [0x140000000]
movzx eax, word [rdi + 0x130]
cmp ax, 0x30
jb 0x140014366
cmp ax, 0x39
ja 0x140014366
mov qword [rbp - 0x28], rsi
mov dword [rbp - 0x20], esi
lea rcx, vtable.CBufferT_char_.0
mov qword [rbp - 0x30], rcx
mov edx, esi
mov dword [rbp - 0x10], edx
mov rcx, rsi
mov qword [rbp - 0x18], rcx
test ax, ax
je 0x1400142d1
mov r9d, 8
mov r10d, 0xff
nop dword [rax]
movzx r8d, word [rdi + 0x130]
cmp r8w, 0x29
je 0x1400142cf
movzx eax, r8w
and ax, r10w
cmp ax, r8w
jne 0x140014247
mov byte [rbp + 0x28], r8b
jmp 0x14001424b
mov byte [rbp + 0x28], 0
mov ebx, edx
cmp edx, 8
cmovl ebx, r9d
lea eax, [rsi + 2]
cmp eax, ebx
jle 0x140014276
add ebx, ebx
cmp eax, ebx
jle 0x140014276
lea ebx, [rsi + 0xd]
mov eax, ebx
and eax, 0x80000007
jge 0x140014274
dec eax
or eax, 0xfffffff8
inc eax
sub ebx, eax
cmp ebx, edx
jle 0x140014290
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.14000fe10
cmp word [rdi + 0x130], 0
mov rcx, qword [rbp - 0x18]
mov edx, dword [rbp - 0x10]
mov r9d, 8
mov r10d, 0xff
jne 0x140014220
xor esi, esi
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.14000ca20
mov ecx, 0x40
call fcn.140095cd8
mov rdx, rax
test rax, rax
je 0x140014334
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 eax, dword [rbp + 0x28]
mov dword [rdx + 0x10], eax
jmp 0x140014337
mov rdx, rsi
mov rcx, rdi
call fcn.14000c940
mov rbx, rax
lea rcx, [rdi + 0x68]
mov rdx, rax
call fcn.14000d590
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1400146a4
call fcn.140096684
jmp 0x1400146a4
mov rdx, qword [rbp + 0x30]
mov ebx, dword [rdx]
mov r9d, 8
movzx ecx, word [rdi + 0x130]
test cx, cx
jne 0x14001438b
cmp dword [rdi + 0x134], 1
je 0x14001441e
movzx eax, word [rdi + 0x130]
cmp ax, 0x3a
je 0x14001441e
cmp ax, 0x29
je 0x14001441e
cmp cx, 0x28
jne 0x1400143b1
cmp dword [rdi + 0x134], 1
je 0x14001441e
mov edx, esi
movzx eax, ax
add eax, 0xffffffd3
cmp eax, 0x46
ja case.0x1400143d4.50
cdqe
movzx eax, byte [r10 + rax + 0x14728]
mov ecx, dword [r10 + rax*4 + 0x14710]
add rcx, r10
jmp rcx
mov edx, r9d
jmp case.0x1400143d4.50
mov edx, 1
jmp case.0x1400143d4.50
mov edx, 2
jmp case.0x1400143d4.50
mov edx, 4
jmp case.0x1400143d4.50
mov dword [rbp + 0x28], 1
jmp 0x1400143fe
test r8d, r8d
je 0x140014404
not edx
and ebx, edx
jmp 0x140014406
or ebx, edx
mov rcx, rdi
call fcn.14000fe10
mov r8d, dword [rbp + 0x28]
lea r10, [0x140000000]
jmp 0x14001436c
movzx eax, word [rdi + 0x130]
cmp ax, 0x3a
je 0x140014458
cmp ax, 0x28
jne 0x14001443a
cmp dword [rdi + 0x134], 1
je 0x140014452
mov rax, qword [rbp + 0x30]
mov dword [rax], ebx
xor edx, edx
mov rcx, rdi
call fcn.14000fed0
mov rbx, rax
jmp 0x1400146a4
cmp ax, 0x3a
jne 0x140014460
mov rcx, rdi
call fcn.14000fe10
mov edx, ebx
mov rcx, rdi
call fcn.140013390
mov rbx, rax
jmp 0x1400146a4
mov rbx, qword [rbp - 0x58]
jmp 0x1400146a4
mov ecx, 0x38
call fcn.140095cd8
mov rdx, rax
test rax, rax
je 0x1400144bc
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 0x1400144c0
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
mov rdx, rax
lea r8, vtable.CBracketElxT_wchar_t_.0
lea rax, vtable.CBufferT_wchar_t_.0
test rdx, rdx
je 0x140014524
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 0x140014527
mov rdx, rsi
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 0x14001456e
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.140013390
mov qword [rbp + 0x40], rax
mov ecx, dword [rbx + 0x28]
cmp dword [rbx + 0x18], ecx
jl 0x1400145cf
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 0x140014630
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
lea rcx, vtable.CBufferT_wchar_t_.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 0x140014633
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 0x140014677
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.14000fe10
mov rax, rbx
add rsp, 0x78
pop rdi
pop rsi
pop rbx
pop rbp
ret