Function at 0x42c6f0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rax, qword [rcx + 0x410]
mov rbx, rcx
mov r12, rdx
mov rax, qword [rax + 0x68]
test rax, rax
je 0x42ce20
mov ecx, 0x20
call rax
mov r15, rax
mov eax, dword [rbx + 0x30]
mov qword [r15], 0
mov dword [r15 + 0x10], eax
xor eax, eax
mov word [r15 + 0x18], ax
movzx eax, byte [r15 + 0x1c]
mov edx, eax
and edx, 0xfffffffd
mov byte [r15 + 0x1c], dl
cmp byte [rbx + 0x44f], 0
mov dword [r15 + 0x14], 0
sete dl
and eax, 0xffffffd4
shl edx, 3
or eax, edx
mov byte [r15 + 0x1c], al
mov rax, qword [rbx]
test rax, rax
je 0x42ce32
cmp byte [rax + 0x6d], 0
setne al
lea edx, [rax*4]
movzx eax, byte [r15 + 0x1c]
and eax, 0xfffffffb
or eax, edx
mov byte [r15 + 0x1c], al
cmp byte [rbx + 0x458], 0
je 0x42c8d0
mov rdx, r15
mov rcx, rbx
call fcn.00430100
mov ebp, eax
movzx eax, word [r15 + 0x18]
test eax, eax
lea edx, [rax - 1]
je 0x42c7e2
mov r8, qword [rbx + 0x1f0]
nop word [rax + rax]
mov eax, edx
sub edx, 1
shl rax, 4
add rax, r8
mov rcx, qword [rax]
and word [rcx + 0x18], 0xefff
cmp edx, 0xffffffff
mov rax, qword [rax + 8]
mov qword [rcx + 0x20], rax
jne 0x42c7c0
test bpl, bpl
je 0x42c8ba
movzx edx, byte [r12 + 0x18]
and edx, 0x3f
cmp dl, 1
je 0x42cbb0
movzx eax, word [r12 + 0x18]
shr ax, 6
test dl, dl
je 0x42c825
movzx edx, word [r12 + 0x18]
and ax, 0x35b
mov ecx, eax
shl ecx, 6
and edx, 0x3f
or edx, ecx
mov word [r12 + 0x18], dx
movzx edx, byte [r12 + 0x18]
lea rdi, str.__STDC_
mov qword [r12 + 0x20], r15
mov ecx, 7
and edx, 0xffffffc0
or edx, 1
mov byte [r12 + 0x18], dl
mov rdx, qword [r12]
mov rsi, rdx
repe cmpsb byte [rsi], byte [rdi]
jne 0x42c8a0
lea rdi, str.__STDC_FORMAT_MACROS
mov ecx, 0x15
mov rsi, rdx
repe cmpsb byte [rsi], byte [rdi]
je 0x42c8a0
lea rdi, str.__STDC_LIMIT_MACROS
mov ecx, 0x14
mov rsi, rdx
repe cmpsb byte [rsi], byte [rdi]
je 0x42c8a0
lea rdi, str.__STDC_CONSTANT_MACROS
mov ecx, 0x17
mov rsi, rdx
mov edx, eax
repe cmpsb byte [rsi], byte [rdi]
seta r8b
setb cl
or edx, 0x10
cmp r8b, cl
cmovne eax, edx
nop dword [rax + rax]
and ax, 0x2ff
shl eax, 6
mov edx, eax
movzx eax, word [r12 + 0x18]
and eax, 0x3f
or eax, edx
mov word [r12 + 0x18], ax
mov eax, ebp
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call fcn.00426150
mov rsi, rax
movzx eax, byte [rax + 4]
cmp al, 0x14
je 0x42cc20
cmp al, 0x16
je 0x42c920
test byte [rsi + 6], 1
jne 0x42c920
cmp byte [rbx + 0x450], 0
je 0x42cf50
cmp byte [rbx + 0x430], 0
je 0x42cf97
lea r8, str.ISO_C11_requires_whitespace_after_the_macro_name
mov edx, 2
mov rcx, rbx
call fcn.00419b10
nop
test byte [r15 + 0x1c], 1
je 0x42cb80
mov rdx, r15
mov rcx, rbx
call fcn.004290a0
movzx esi, byte [r15 + 0x1c]
mov dword [rsp + 0x3c], 0
xor edi, edi
xor r14d, r14d
xor r13d, r13d
xor ebp, ebp
and esi, 2
jmp 0x42c990
cmp ecx, 1
je 0x42cde0
movzx r8d, word [rax - 0x12]
test r8b, 8
je 0x42ca10
sub ecx, 1
or byte [r15 + 0x1c], 0x20
add r13d, 1
mov dword [rax + 8], ecx
test sil, sil
jne 0x42c9d4
cmp dl, 0x26
mov rcx, rbx
mov rdx, r15
sete bpl
call fcn.004290a0
mov ecx, dword [r15 + 0x14]
cmp ecx, 1
jbe 0x42c9a3
cmp byte [rax - 0x14], 0x25
je 0x42ca50
movzx edx, byte [rax + 4]
cmp dl, 0x16
je 0x42cd00
cmp dl, 0x26
je 0x42c952
test sil, sil
je 0x42c97e
cmp dl, 0x35
jne 0x42ca90
mov rcx, qword [rbx + 0x4d0]
cmp qword [rax + 8], rcx
je 0x42ce40
cmp edi, 1
je 0x42cab0
cmp edi, 1
jle 0x42c97e
cmp edi, 2
je 0x42cad4
cmp dl, 0x26
je 0x42cb00
cmp dl, 0x14
je 0x42caeb
cmp dl, 0x15
je 0x42ce00
xor r14d, r14d
jmp 0x42c97e
sub ecx, 1
mov dword [r15 + 0x14], ecx
mov ecx, r8d
or ecx, 8
mov word [rax - 0x12], cx
movzx ecx, word [rax + 6]
test cl, 2
je 0x42ca35
or r8w, 0x108
mov word [rax - 0x12], r8w
and ecx, 1
je 0x42c979
or word [rax - 0x12], 0x200
jmp 0x42c979
test byte [r15 + 0x1c], 1
movzx edx, byte [rax + 4]
je 0x42c9a7
cmp dl, 0x50
je 0x42cb10
cmp dword [rbx + 0x42c], 0x13
je 0x42c9a7
lea r8, str._is_not_followed_by_a_macro_parameter
mov edx, 3
mov rcx, rbx
xor ebp, ebp
call fcn.00419b10
jmp 0x42cacb
cmp edi, 1
jne 0x42c9dd
cmp dl, 0x14
jne 0x42cab0
mov edi, 2
jmp 0x42c97e
mov r8d, dword [rsp + 0x3c]
lea r9, str.__VA_OPT___must_be_followed_by_an_open_parenthesis
mov edx, 3
mov rcx, rbx
xor ebp, ebp
call fcn.00419d10
mov byte [rbx + 0x16], 0
jmp 0x42c7a7
cmp dl, 0x26
je 0x42d1bd
cmp dl, 0x14
mov edi, 3
jne 0x42c9fd
add edi, 1
xor r14d, r14d
jmp 0x42c97e
mov r14d, 1
jmp 0x42c97e
movzx r8d, word [rax + 6]
test r8b, 1
je 0x42cb26
or r8w, 0x200
mov word [rax + 6], r8w
movzx r9d, word [rax - 0x12]
mov r11d, r8d
or r11w, 0x100
test r9b, 2
cmovne r8d, r11d
and r9d, 1
sub ecx, 1
and r8d, 0xfffffffe
or r8d, 4
or r8d, r9d
test sil, sil
mov word [rax + 6], r8w
mov r8, qword [rax]
mov qword [rax - 0x18], r8
mov r8, qword [rax + 8]
mov qword [rax - 0x10], r8
mov r8, qword [rax + 0x10]
mov qword [rax - 8], r8
mov dword [r15 + 0x14], ecx
je 0x42c97e
jmp 0x42c9d4
lea rdx, [r15 + 0x14]
mov rcx, rbx
call fcn.00429030
mov rdx, qword [rsi]
mov qword [rax], rdx
mov rdx, qword [rsi + 8]
mov qword [rax + 8], rdx
mov rdx, qword [rsi + 0x10]
mov qword [rax + 0x10], rdx
jmp 0x42c936
cmp byte [rbx + 0x44f], 0
je 0x42ce63
movzx ecx, word [r12 + 0x18]
mov eax, ecx
shr ax, 6
test al, 4
je 0x42ce58
test al, 0x10
jne 0x42cc60
mov rax, qword [rbx + 0x3e8]
test rax, rax
je 0x42cbfb
mov rdx, r12
mov rcx, rbx
call rax
test al, al
jne 0x42d1dc
movzx ecx, word [r12 + 0x18]
cmp byte [rbx + 0x447], 0
setne al
test al, al
jne 0x42cc57
movzx edx, byte [r12 + 0x18]
mov eax, ecx
shr ax, 6
and edx, 0x3f
jmp 0x42c807
xor ebp, ebp
test byte [rsi + 6], 1
lea rdi, [0x004671e8]
jne 0x42c920
mov rcx, rbx
call fcn.00426150
movzx edx, byte [rax + 4]
lea ecx, [rdx - 0x13]
cmp cl, 0x22
ja case.0x42cc55.1
movzx ecx, cl
movsxd rcx, dword [rdi + rcx*4]
add rcx, rdi
jmp rcx
mov eax, ecx
shr ax, 6
nop dword [rax]
and eax, 0x14
mov edx, 0
mov r8d, dword [rbx + 0x30]
cmp ax, 4
mov eax, 0xb
mov rcx, rbx
cmove edx, eax
mov rax, qword [r12]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rax, str.__s__redefined
mov qword [rsp + 0x20], rax
call fcn.00419c70
movzx edx, byte [r12 + 0x18]
and edx, 0x3f
test al, al
je 0x42c7fd
movzx eax, word [r12 + 0x18]
shr ax, 6
cmp dl, 1
jne 0x42c807
test al, 4
jne 0x42c80b
mov rax, qword [r12 + 0x20]
xor r9d, r9d
mov edx, 5
mov rcx, rbx
mov r8d, dword [rax + 0x10]
lea rax, str.this_is_the_location_of_the_previous_definition
mov qword [rsp + 0x20], rax
call fcn.00419bf0
movzx edx, byte [r12 + 0x18]
and edx, 0x3f
jmp 0x42c7fd
test bpl, bpl
jne 0x42cde0
test sil, sil
je 0x42d192
test edi, edi
jne 0x42cfba
mov r8, qword [rbx + 0x38]
sub ecx, 1
mov rax, qword [r8 + 0x10]
and byte [r15 + 0x1c], 0xef
test ecx, ecx
mov dword [r15 + 0x14], ecx
mov qword [r15 + 8], rax
jne 0x42cfb0
mov rdx, qword [rbx + 0x410]
mov rdx, qword [rdx + 0x68]
test rdx, rdx
je 0x42d1c6
lea rcx, [rcx + rcx*2]
shl rcx, 3
call rdx
test r13d, r13d
mov r9, rax
mov eax, dword [r15 + 0x14]
je 0x42d11b
mov rdx, rax
sub rax, r13
lea rax, [rax + rax*2]
test edx, edx
lea rcx, [r9 + rax*8]
je 0x42d132
mov rax, qword [r15 + 8]
sub edx, 1
lea rdx, [rdx + rdx*2 + 3]
lea r11, [rax + rdx*8]
mov rdx, r9
jmp 0x42cdb7
mov qword [rdx], r8
mov r8, qword [rax + 8]
add rdx, 0x18
mov qword [rdx - 0x10], r8
mov r8, qword [rax + 0x10]
mov qword [rdx - 8], r8
add rax, 0x18
cmp r11, rax
je 0x42d132
cmp byte [rax + 4], 0x26
mov r8, qword [rax]
jne 0x42cd93
mov qword [rcx], r8
mov r8, qword [rax + 8]
add rcx, 0x18
mov qword [rcx - 0x10], r8
mov r8, qword [rax + 0x10]
mov qword [rcx - 8], r8
jmp 0x42cdaa
lea r8, str._cannot_appear_at_either_end_of_a_macro_expansion
mov edx, 3
mov rcx, rbx
xor ebp, ebp
call fcn.00419b10
jmp 0x42cacb
sub edi, 1
cmp edi, 2
jne 0x42ca06
test r14b, r14b
jne 0x42d1bd
xor edi, edi
jmp 0x42c97e
mov edx, 0x20
call fcn.004263a0
mov r15, rax
jmp 0x42c724
xor eax, eax
jmp 0x42c778
test edi, edi
jne 0x42d19f
mov eax, dword [rax]
mov edi, 1
mov dword [rsp + 0x3c], eax
jmp 0x42c97e
mov rdx, r12
mov rcx, rbx
call fcn.00429300
movzx ecx, word [r12 + 0x18]
mov eax, ecx
shr ax, 6
test al, 0x10
jne 0x42cc60
test al, 4
jne 0x42cbd9
test ah, 1
jne 0x42cfd8
mov rsi, qword [r12 + 0x20]
movzx edx, word [rsi + 0x18]
cmp dx, word [r15 + 0x18]
jne 0x42cc60
movzx ecx, byte [rsi + 0x1c]
xor cl, byte [r15 + 0x1c]
and ecx, 3
jne 0x42cc60
test edx, edx
je 0x42cee8
mov r11, qword [rsi]
mov r9, qword [r15]
lea r8d, [rdx - 1]
xor edx, edx
mov rdi, qword [r11]
cmp qword [r9], rdi
je 0x42cee3
jmp 0x42cc60
mov rcx, qword [r11 + rdx*8 + 8]
add rdx, 1
cmp rcx, qword [r9 + rdx*8]
jne 0x42cc60
cmp rdx, r8
jne 0x42ced0
cmp byte [rbx + 0x458], 0
jne 0x42d299
mov edx, dword [rsi + 0x14]
cmp edx, dword [r15 + 0x14]
jne 0x42cc60
xor edi, edi
test edx, edx
jne 0x42cf1c
jmp 0x42cfd8
add edi, 1
cmp dword [rsi + 0x14], edi
jbe 0x42cce9
mov eax, edi
lea rax, [rax + rax*2]
shl rax, 3
mov rdx, rax
add rax, qword [rsi + 8]
add rdx, qword [r15 + 8]
mov rcx, rax
call fcn.00422fe0
test eax, eax
jne 0x42cf10
movzx eax, word [r12 + 0x18]
shr ax, 6
jmp 0x42cc60
cmp al, 0x36
je 0x42d188
jbe 0x42d180
cmp al, 0x3d
jne 0x42cfe6
mov rax, qword [rsi + 0x10]
lea rcx, str._______._:______
movzx edx, byte [rax]
call sub.msvcrt.dll_strchr
xor edx, edx
test rax, rax
sete dl
add edx, edx
lea r8, str.missing_whitespace_after_the_macro_name
mov rcx, rbx
call fcn.00419b10
jmp 0x42c920
lea r8, str.ISO_C99_requires_whitespace_after_the_macro_name
mov edx, 2
mov rcx, rbx
call fcn.00419b10
jmp 0x42c920
and word [rax + 6], 0xfffe
jmp 0x42cd3a
mov r8d, dword [rsp + 0x3c]
lea r9, str.unterminated___VA_OPT__
mov edx, 3
mov rcx, rbx
call fcn.00419d10
jmp 0x42cacb
movzx edx, byte [r12 + 0x18]
and edx, 0x3f
jmp 0x42c807
cmp al, 0x43
je 0x42d188
xor edx, edx
jmp 0x42cf83
lea r8, str.missing___in_macro_parameter_list
mov edx, 3
mov rcx, rbx
call fcn.00419b10
mov rax, qword [rbx + 0x38]
xor ebp, ebp
mov rax, qword [rax + 0x10]
mov qword [r15], rax
jmp 0x42cacb
test ebp, ebp
jne 0x42d2c8
mov r9, qword [rax + 0x10]
mov r8, qword [rax + 8]
mov rdx, r15
mov rcx, rbx
call fcn.0042c5c0
test al, al
jne 0x42d006
mov ebp, 1
jmp 0x42cc33
or byte [r15 + 0x1c], 2
test ebp, ebp
je 0x42d1f8
cmp byte [rbx + 0x452], 0
je 0x42d081
cmp byte [rbx + 0x446], 0
je 0x42d081
cmp byte [rbx + 0x430], 0
je 0x42d280
lea r8, [0x00466fa8]
mov edx, 0xa
mov rcx, rbx
call fcn.00419b70
mov rcx, rbx
call fcn.00426150
cmp byte [rax + 4], 0x15
jne case.0x42cc55.3
movzx eax, word [r15 + 0x18]
mov r8, qword [rbx + 0x410]
mov rdx, qword [rbx + 0x38]
mov r8, qword [r8 + 0x68]
mov rcx, qword [rdx + 0x10]
test r8, r8
mov qword [r15], rcx
je 0x42d1eb
lea rcx, [rax*8]
call r8
movzx r8d, word [r15 + 0x18]
mov rdx, qword [r15]
mov rcx, rax
shl r8, 3
call sub.msvcrt.dll_memcpy
mov qword [r15], rax
or byte [r15 + 0x1c], 1
jmp 0x42c920
test ebp, ebp
movzx eax, word [r15 + 0x18]
jne 0x42d098
test ax, ax
je 0x42d098
lea r8, str.parameter_name_missing
mov edx, 3
mov rcx, rbx
call fcn.00419b10
jmp 0x42d006
test ebp, ebp
je 0x42d0f1
xor ebp, ebp
jmp 0x42cc33
lea r8, [rax + rax*2]
mov rdx, qword [r15 + 8]
mov rcx, r9
shl r8, 3
call sub.msvcrt.dll_memcpy
mov r9, rax
mov qword [r15 + 8], r9
mov ebp, 1
jmp 0x42cacb
cmp dl, 0x4f
jne 0x42d152
cmp byte [rbx + 0x434], 0
je 0x42cc33
mov rcx, rbx
mov rdx, rax
call fcn.00424730
lea r8, str.__s__may_not_appear_in_macro_parameter_list
mov r9, rax
mov edx, 3
mov rcx, rbx
call fcn.00419b10
jmp 0x42d006
cmp al, 0x34
jne 0x42cfee
mov edx, 2
jmp 0x42cf83
test edi, edi
je 0x42cd1a
jmp 0x42cacb
lea r9, str.__VA_OPT___may_not_appear_in_a___VA_OPT__
mov r8d, dword [rax]
mov edx, 3
mov rcx, rbx
xor ebp, ebp
call fcn.00419d10
jmp 0x42cacb
lea r9, str._cannot_appear_at_either_end_of___VA_OPT__
jmp 0x42d1a6
lea rdx, [rcx + rcx*2]
mov ebp, 1
lea rax, [rax + rdx*8]
mov qword [r8 + 0x10], rax
jmp 0x42cacb
movzx eax, word [r12 + 0x18]
shr ax, 6
jmp 0x42ce7f
lea rax, [rcx + rax*8]
mov qword [rdx + 0x10], rax
jmp 0x42d0d9
mov r8, qword [rbx + 0x4c8]
mov rdx, r15
mov rcx, rbx
mov r9, r8
call fcn.0042c5c0
cmp byte [rbx + 0x450], 0
mov byte [rbx + 0x16], 1
jne 0x42d250
cmp byte [rbx + 0x452], 0
je 0x42d250
cmp byte [rbx + 0x446], 0
je 0x42d250
cmp byte [rbx + 0x430], 0
je 0x42d2af
lea r8, str.anonymous_variadic_macros_were_introduced_in_C11
mov edx, 0xa
mov rcx, rbx
call fcn.00419b70
jmp 0x42d081
cmp byte [rbx + 0x47e], 0
jle 0x42d081
cmp byte [rbx + 0x430], 0
jne 0x42d081
lea r8, str.anonymous_variadic_macros_were_introduced_in_C99
xor edx, edx
mov rcx, rbx
call fcn.00419b10
jmp 0x42d081
lea r8, str.ISO_C_does_not_permit_named_variadic_macros
mov edx, 0xa
mov rcx, rbx
call fcn.00419b70
jmp 0x42d081
mov rcx, rsi
mov rdx, r15
call fcn.00430380
movzx ecx, word [r12 + 0x18]
jmp 0x42cc05
lea r8, str.anonymous_variadic_macros_were_introduced_in_C99
mov edx, 0xa
mov rcx, rbx
call fcn.00419b70
jmp 0x42d081
lea r8, str.macro_parameters_must_be_comma_separated
mov edx, 3
mov rcx, rbx
call fcn.00419b10
jmp 0x42d006