Function at 0x42a0c0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
mov byte [rcx + 0x13], 0
mov qword [rsp + 0x148], rdx
mov rsi, rcx
movzx edx, word [rdx + 0x18]
mov byte [rcx + 0x1b0], 0
mov byte [rcx + 0xc0], 1
mov qword [rsp + 0x150], r8
mov dword [rsp + 0x158], r9d
mov eax, edx
shr ax, 6
mov ecx, eax
and cx, 0x84
cmp cx, 4
je 0x42a2a5
test al, 4
jne 0x42a250
mov rbx, qword [rsp + 0x148]
mov rbx, qword [rbx + 0x20]
mov rdi, rbx
mov qword [rsp + 0x58], rbx
xor ebx, ebx
test byte [rdi + 0x1c], 1
jne 0x42a350
test al, 0x80
je 0x42a300
mov rdi, qword [rsp + 0x148]
or eax, 0x20
shl eax, 6
movzx edi, word [rdi + 0x18]
mov edx, edi
mov word [rsp + 0x48], di
mov rdi, qword [rsp + 0x148]
and edx, 0x3f
or eax, edx
mov word [rdi + 0x18], ax
mov rax, qword [rsi + 0x3d8]
test rax, rax
je 0x42a195
mov r8, qword [rsp + 0x148]
mov edx, dword [rsp + 0x158]
mov rcx, rsi
call rax
mov rdi, qword [rsp + 0x58]
movzx eax, byte [rdi + 0x1c]
mov byte [rsp + 0x48], al
or eax, 8
cmp word [rdi + 0x18], 0
mov byte [rdi + 0x1c], al
je 0x42a480
test rbx, rbx
je 0x42a584
cmp byte [rsi + 0x10], 0
je 0x42a54d
lea r13, [rsi + 0x88]
nop dword [rax]
mov rbp, qword [rbx + 8]
mov rdi, qword [rbx + 0x10]
mov rcx, r13
mov r12, qword [rbx]
mov qword [rbx], 0
call fcn.00428e10
sub rdi, rbp
mov dword [rax + 0x30], 0
mov qword [rax + 0x28], 0
sar rdi, 3
mov qword [rax + 0x20], rbx
mov qword [rax + 0x10], rbp
mov edx, edi
lea rdx, [rbp + rdx*8]
mov qword [rax + 0x18], rdx
cmp byte [rsi + 0x455], 0
jne 0x42a222
add dword [0x00477410], edi
test r12, r12
mov rbx, r12
jne 0x42a1d0
mov byte [rsi + 0xc0], 0
mov eax, 2
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi + 0xb8]
mov byte [rsi + 0xc0], 0
test byte [rax + 0x19], 1
je 0x42a285
mov r9d, dword [rsi + 0xb0]
mov r8d, dword [rsp + 0x158]
mov rdx, qword [rsp + 0x148]
mov rcx, rsi
call fcn.00429a40
jmp 0x42a236
mov rax, qword [rax + 0x20]
test byte [rax + 0x1c], 1
je 0x42a264
mov rax, qword [rsi + 0x1b8]
mov eax, dword [rax - 0x18]
mov dword [rsp + 0x158], eax
mov r9d, eax
jmp 0x42a26b
or al, 0x80
mov rbx, qword [rsp + 0x148]
and edx, 0x3f
shl eax, 6
or eax, edx
mov word [rbx + 0x18], ax
mov rax, qword [rsi + 0x3e8]
test rax, rax
je 0x42a390
mov rdx, qword [rsp + 0x148]
mov rcx, rsi
call rax
test al, al
je 0x42a390
mov rax, qword [rsp + 0x148]
movzx eax, word [rax + 0x18]
mov word [rsp + 0x48], ax
shr ax, 6
jmp 0x42a11b
mov rdi, qword [rsp + 0x148]
or al, 0xa0
shl eax, 6
movzx edi, word [rdi + 0x18]
mov edx, edi
mov word [rsp + 0x48], di
mov rdi, qword [rsp + 0x148]
and edx, 0x3f
or eax, edx
mov word [rdi + 0x18], ax
mov rax, qword [rsi + 0x3c0]
test rax, rax
je 0x42a175
mov edx, dword [rsi + 0x30]
mov r8, rdi
mov rcx, rsi
call rax
jmp 0x42a175
add byte [rsi + 0x18], 1
add dword [rsi + 0x1ec], 1
mov byte [rsi + 0x19], 1
nop
mov rcx, rsi
call fcn.0042c520
movzx edx, byte [rax + 4]
cmp dl, 0x53
jne 0x42a3d5
test rbx, rbx
je 0x42a3d0
test byte [rbx + 6], 1
jne 0x42a360
cmp qword [rax + 8], 0
cmove rbx, rax
jmp 0x42a360
mov rax, qword [rsi + 0x3c0]
test rax, rax
je 0x42a2e0
mov edx, dword [rsi + 0x30]
mov r8, qword [rsp + 0x148]
mov rcx, rsi
call rax
mov rax, qword [rsp + 0x148]
movzx eax, word [rax + 0x18]
mov word [rsp + 0x48], ax
shr ax, 6
jmp 0x42a11b
mov rbx, rax
jmp 0x42a360
cmp dl, 0x14
je 0x42a63e
cmp dl, 0x16
jne 0x42a3ef
lea rdx, [rsi + 0x280]
cmp rax, rdx
jne 0x42a414
mov edx, 1
mov rcx, rsi
call fcn.00429df0
test rbx, rbx
je 0x42a414
mov r9d, 1
mov r8, rbx
xor edx, edx
mov rcx, rsi
call fcn.004299c0
sub dword [rsi + 0x1ec], 1
sub byte [rsi + 0x18], 1
cmp byte [rsi + 0x442], 0
mov byte [rsi + 0x19], 0
je 0x42a46f
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x20]
test byte [rax + 0x1c], 4
jne 0x42a46f
xor ebx, ebx
mov rax, qword [rsp + 0x148]
lea r8, str.function_like_macro___s__must_be_used_with_arguments_in_traditional_C
mov edx, 6
mov rcx, rsi
mov r9, qword [rax]
call fcn.00419b40
test rbx, rbx
je 0x42a46f
mov rdx, rbx
mov rcx, rsi
call fcn.00423580
mov byte [rsi + 0xc0], 0
xor eax, eax
jmp 0x42a236
test al, 0x20
jne 0x42a5b0
cmp byte [rsi + 0x455], 0
mov rax, qword [rsp + 0x58]
mov edi, dword [rax + 0x14]
mov r14, qword [rax + 8]
je 0x42a595
mov ebp, edi
mov rcx, rbp
shl rcx, 4
call fcn.00443bd0
lea rdx, [rbp*8]
mov rcx, rsi
mov r12, rax
call fcn.004235a0
mov rcx, qword [rsi + 0x28]
mov r8d, dword [rsp + 0x158]
mov r9d, edi
mov rdx, qword [rsp + 0x148]
mov rbp, rax
call fcn.00426b40
test edi, edi
mov r13, rax
je 0x42b98d
xor r15d, r15d
nop
mov r9d, dword [r14]
mov r8, r14
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], r13
mov rdx, r12
mov rcx, rbp
add r15d, 1
add r14, 0x18
mov dword [rsp + 0x20], r9d
call fcn.00428fa0
cmp r15d, edi
jne 0x42a4f0
mov dword [rsp + 0x28], r15d
mov rax, qword [rbp + 8]
mov r9, r12
mov rdx, qword [rsp + 0x148]
mov r8, rbp
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.00428e90
add dword [0x00477410], r15d
jmp 0x42a1b3
mov rcx, rsi
call fcn.00422ab0
mov r8, rax
mov byte [rax + 4], 0x53
mov rax, qword [rsp + 0x150]
xor ecx, ecx
mov r9d, 1
xor edx, edx
mov word [r8 + 6], cx
mov rcx, rsi
mov qword [r8 + 8], rax
call fcn.004299c0
jmp 0x42a1c6
mov byte [rsi + 0xc0], 0
mov eax, 1
jmp 0x42a236
mov rdx, qword [rsp + 0x148]
mov r9d, edi
mov r8, r14
mov rcx, rsi
mov r15d, edi
call fcn.004299c0
jmp 0x42a541
mov ecx, dword [rdi + 0x14]
test ecx, ecx
je 0x42be82
mov rax, qword [rsp + 0x58]
xor edi, edi
mov r14, qword [rax + 8]
cmp byte [r14 + 4], 0x26
lea rax, [r14 + 0x18]
je 0x42bdcb
add edi, 1
cmp edi, ecx
je 0x42be82
movzx edx, byte [rax + 4]
add rax, 0x18
cmp dl, 0x26
jne 0x42a5d5
cmp byte [rsi + 0x455], 0
je 0x42a595
mov ebp, edi
mov rcx, rbp
shl rcx, 4
call fcn.00443bd0
lea rdx, [rbp*8]
mov rcx, rsi
mov r12, rax
call fcn.004235a0
mov rcx, qword [rsi + 0x28]
mov r8d, dword [rsp + 0x158]
mov r9d, edi
mov rdx, qword [rsp + 0x148]
mov rbp, rax
call fcn.00426b40
mov r13, rax
jmp 0x42a4ec
movzx eax, byte [rsi + 0x455]
mov byte [rsi + 0x19], 2
mov byte [rsp + 0x80], al
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x70], rax
movzx eax, word [rax + 0x18]
test ax, ax
je 0x42b877
lea rdx, [rax*8]
lea rbx, [rax + rax*2]
sub rdx, rax
shl rbx, 4
shl rdx, 6
mov rcx, rsi
lea rdi, [rsi + 0x280]
lea r15, [rsp + 0xec]
call fcn.004235a0
mov r13, rax
mov qword [rsp + 0x88], rax
mov rax, qword [rax + 8]
mov r8, rbx
xor edx, edx
mov r12, rax
mov rcx, rax
mov qword [rsp + 0x90], rax
call sub.msvcrt.dll_memset
mov rax, r12
mov dword [rsp + 0x98], 0
mov qword [rsp + 0x78], rdi
add rax, rbx
cmp byte [rsp + 0x80], 0
mov qword [r13 + 0x10], rax
setne byte [rsp + 0x48]
xor ebx, ebx
nop dword [rax]
mov edi, dword [rsp + 0x98]
mov qword [r12], rax
add edi, 1
cmp byte [rsp + 0x80], 0
mov dword [rsp + 0x64], edi
jne 0x42aa6a
mov r14d, 0x32
xor edi, edi
mov dword [rsp + 0x50], 0
mov ebp, 2
jmp 0x42a758
mov rax, qword [r12]
test rax, rax
je 0x42a7e6
mov rcx, qword [r12 + 0x20]
mov qword [rax + rdx*8], r8
lea rcx, [rcx + rdx*4]
test rcx, rcx
je 0x42a752
mov dword [rcx], r9d
add edi, 1
lea ebp, [rdi + 2]
mov edx, ebp
lea rax, [rax + rdx*8]
cmp qword [r13 + 0x18], rax
jb 0x42a7f0
cmp ebp, r14d
jbe 0x42a778
cmp byte [rsp + 0x48], 0
jne 0x42a850
mov rdx, r15
mov rcx, rsi
call fcn.0042bf80
mov r8, rax
movzx eax, byte [rax + 4]
cmp al, 0x53
je 0x42a811
cmp al, 0x14
je 0x42a820
cmp al, 0x15
je 0x42a830
cmp al, 0x13
je 0x42a880
cmp al, 0x16
je 0x42a8b0
cmp al, 0x25
je 0x42a980
cmp al, 0x51
je 0x42a990
cmp byte [rsi + 0x455], 0
mov edx, edi
mov r9d, dword [rsp + 0xec]
jne 0x42a730
mov rax, qword [r12]
test rax, rax
jne 0x42a872
mov qword [0], r8
ud2
mov rdx, r13
mov r8d, 0x1f40
mov rcx, rsi
call fcn.00423640
mov r13, rax
mov rax, qword [rax + 0x10]
mov qword [r12], rax
jmp 0x42a768
test edi, edi
jne 0x42a7c2
mov rax, qword [r12]
jmp 0x42a758
add dword [rsp + 0x50], 1
jmp 0x42a7c2
mov ecx, dword [rsp + 0x50]
mov eax, ecx
sub eax, 1
test ecx, ecx
je 0x42a8b0
mov dword [rsp + 0x50], eax
jmp 0x42a7c2
lea edx, [r14 + 0x3e8]
mov rcx, qword [r12 + 0x20]
mov r14, rdx
shl rdx, 2
call fcn.00443c50
mov qword [r12 + 0x20], rax
jmp 0x42a778
mov qword [rax + rdx*8], r8
jmp 0x42a752
mov r9d, dword [rsp + 0x50]
test r9d, r9d
jne 0x42a7c2
mov rax, qword [rsp + 0x70]
test byte [rax + 0x1c], 2
je 0x42a8b0
movzx eax, word [rax + 0x18]
cmp dword [rsp + 0x64], eax
je 0x42a7c2
nop word [rax + rax]
xor eax, eax
xor edx, edx
test edi, edi
mov r9, qword [r12]
je 0x42a8ed
lea edx, [rdi - 1]
mov rax, rdx
mov rdx, qword [r9 + rdx*8]
cmp byte [rdx + 4], 0x53
je 0x42a8e7
jmp 0x42b984
lea ecx, [rax - 1]
mov rdx, rcx
mov rcx, qword [r9 + rcx*8]
cmp byte [rcx + 4], 0x53
jne 0x42aa63
mov eax, edx
test eax, eax
jne 0x42a8d1
xor edx, edx
mov dword [r12 + 0x18], eax
cmp byte [rsi + 0x455], 0
mov r10d, dword [rsi + 0x280]
je 0x42aa4f
test r9, r9
je 0x42aa54
mov rcx, qword [r12 + 0x20]
mov rdi, qword [rsp + 0x78]
lea rcx, [rcx + rdx*4]
mov qword [r9 + rdx*8], rdi
test rcx, rcx
je 0x42a929
mov dword [rcx], r10d
mov rdi, qword [rsp + 0x70]
movzx edx, word [rdi + 0x18]
mov edi, dword [rsp + 0x64]
cmp edi, edx
mov r10d, edx
ja 0x42a953
add eax, 1
cmp edi, edx
lea rax, [r9 + rax*8]
mov qword [r13 + 0x10], rax
lea rax, [r12 + 0x30]
cmovne r12, rax
movzx eax, byte [r8 + 4]
lea edx, [rax - 0x15]
cmp dl, 1
jbe 0x42aa90
mov edi, dword [rsp + 0x64]
mov rax, qword [r13 + 0x10]
mov dword [rsp + 0x98], edi
jmp 0x42a6f0
test byte [r8 + 6], 0x40
je 0x42a7c2
jmp 0x42a8b0
mov rcx, rsi
mov qword [rsp + 0x68], r8
call fcn.00422ab0
mov r8, qword [rsp + 0x68]
mov dword [rsp + 0x68], edi
mov rdi, rax
mov rdx, qword [r8]
mov qword [rax], rdx
mov rdx, qword [r8 + 8]
mov qword [rax + 8], rdx
mov rdx, qword [r8 + 0x10]
mov qword [rax + 0x10], rdx
jmp 0x42aa10
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
sub rax, rdx
cmp rax, 7
ja 0x42a9eb
sub rdx, qword [rbx + 8]
mov rcx, rsi
add rdx, rdx
call fcn.004235a0
mov rdx, qword [rax + 0x10]
mov qword [rax], rbx
mov rbx, rax
mov qword [rdx], rdi
add rdx, 8
cmp byte [rdi + 4], 0x52
mov qword [rbx + 0x10], rdx
je 0x42aa30
mov rdx, r15
mov rcx, rsi
call fcn.0042bf80
cmp byte [rax + 4], 0x16
mov rdi, rax
je 0x42aa30
test rbx, rbx
jne 0x42a9c1
mov edx, 0x100
mov rcx, rsi
call fcn.004235a0
mov rbx, rax
mov rdx, qword [rax + 0x10]
jmp 0x42a9eb
mov r8, rdi
mov byte [rsi + 0x19], 2
mov byte [rsi + 0x18], 1
cmp byte [r8 + 4], 0x16
mov edi, dword [rsp + 0x68]
jne 0x42a815
jmp 0x42a8b0
test r9, r9
jne 0x42aa82
mov rax, qword [rsp + 0x78]
mov qword [0], rax
ud2
mov edx, eax
jmp 0x42a8ed
mov ecx, 0xc8
call fcn.00443bd0
mov qword [r12 + 0x20], rax
mov rax, qword [r12]
jmp 0x42a710
mov rdi, qword [rsp + 0x78]
mov qword [r9 + rdx*8], rdi
jmp 0x42a929
cmp al, 0x16
je 0x42bb72
mov eax, dword [rsp + 0x64]
cmp eax, 1
mov edi, eax
je 0x42ba00
mov r14, qword [rsp + 0x70]
mov r8, qword [rsp + 0x148]
mov r9d, edi
mov rcx, rsi
mov rdx, r14
call fcn.004298d0
test al, al
mov byte [rsp + 0xd6], al
je 0x42bbb0
test byte [r14 + 0x1c], 2
je 0x42aaf1
movzx edx, word [r14 + 0x18]
cmp edi, edx
mov rax, rdx
jb 0x42b9c6
cmp edi, 1
je 0x42b9a6
mov rax, qword [rsp + 0x58]
sub byte [rsi + 0x18], 1
mov byte [rsi + 0x19], 0
sub dword [rsi + 0x1ec], 1
cmp word [rax + 0x18], 0
je 0x42adb8
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 8]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x58]
test byte [rax + 0x1c], 0x20
jne 0x42b886
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x14]
mov r8, qword [rax + 8]
lea rax, [rcx + rcx*2]
mov r14, rcx
lea rax, [r8 + rax*8]
mov qword [rsp + 0x48], rax
lea rax, [rsi + 0x88]
cmp qword [rsp + 0x48], r8
mov dword [rsp + 0x50], r14d
mov r13, r8
mov qword [rsp + 0x80], rax
lea rax, [rsi + 0x40]
mov qword [rsp + 0x70], rax
jbe 0x42aea1
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x68], rbx
mov ebp, r14d
mov r15, qword [rsp + 0x48]
jmp 0x42ab9d
add r13, 0x18
cmp r13, r15
jae 0x42ae97
cmp byte [r13 + 4], 0x50
jne 0x42ab90
mov eax, dword [r13 + 8]
add dword [rsp + 0x50], 2
lea ebx, [rbp + 2]
sub eax, 1
lea rdi, [rax + rax*2]
movzx eax, word [r13 + 6]
shl rdi, 4
add rdi, qword [rsp + 0x78]
test al, 4
je 0x42ae62
cmp qword [rdi + 0x10], 0
mov ebp, ebx
jne 0x42ab90
mov rdx, qword [rsi + 0x40]
mov rax, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
sub rdx, rax
cmp rdx, 2
ja 0x42ac06
mov rdx, qword [rsp + 0x70]
mov r8d, 3
mov rcx, rsi
call fcn.00423730
mov rax, qword [rsi + 0x40]
mov rax, qword [rax + 0x10]
mov byte [rax], 0x22
mov r14d, dword [rdi + 0x18]
lea r12, [rax + 1]
test r14d, r14d
je 0x42b56c
xor eax, eax
mov dword [rsp + 0x9c], ebx
xor ebp, ebp
xor r14d, r14d
mov qword [rsp + 0xa0], r13
mov ebx, eax
mov qword [rsp + 0xa8], r15
mov rdx, qword [rdi]
mov eax, r14d
mov r13, qword [rdx + rax*8]
movzx eax, byte [r13 + 4]
cmp al, 0x53
je 0x42b5d6
lea edx, [rax - 0x38]
cmp dl, 4
jbe 0x42ac71
lea edx, [rax - 0x3e]
cmp dl, 4
jbe 0x42ac71
movzx ecx, al
call fcn.0041b120
test al, al
je 0x42bf4e
mov rcx, r13
call fcn.00422bf0
movzx r15d, byte [rsp + 0xd6]
mov eax, eax
shl rax, 2
mov rcx, qword [rsi + 0x40]
add rax, 3
mov rdx, qword [rcx + 0x18]
sub rdx, r12
cmp rax, rdx
ja 0x42b625
mov rdx, qword [rcx + 0x10]
lea rcx, [r12 - 1]
cmp rdx, rcx
je 0x42acc4
test rbp, rbp
cmove rbp, r13
test byte [rbp + 6], 1
je 0x42acc4
mov byte [r12], 0x20
add r12, 1
test r15b, r15b
je 0x42b5ba
mov rdx, rax
mov rcx, rsi
call fcn.004235a0
mov rbp, qword [rax + 0x10]
mov rdx, r13
mov r9d, 1
mov rcx, rsi
mov r15, rax
mov r8, rbp
call fcn.00422ca0
sub rax, rbp
test eax, eax
lea edx, [rax - 1]
je 0x42b512
mov eax, edx
lea rcx, [rbp + rax + 1]
jmp 0x42ad1f
cmp rbp, rcx
lea r12, [rdx + 1]
mov byte [rdx], al
je 0x42b512
add rbp, 1
movzx eax, byte [rbp - 1]
cmp al, 0x22
je 0x42ad3b
cmp al, 0x5c
je 0x42ad3b
cmp al, 0xa
mov rdx, r12
jne 0x42ad10
mov eax, 0x6e
lea rdx, [r12 + 1]
mov byte [r12], 0x5c
jmp 0x42ad10
mov rbx, qword [rsp + 0xc0]
mov r11d, dword [rsp + 0x70]
test r11d, r11d
jne 0x42b4a8
lea rcx, [rsi + 0x88]
mov rdi, qword [r12 + 0x10]
sub rdi, qword [r12 + 8]
call fcn.00428e10
mov rcx, qword [rsp + 0x148]
mov dword [rax + 0x30], 0
shr rdi, 3
mov qword [rax + 0x20], r12
mov edi, edi
mov qword [rax + 0x28], rcx
mov rcx, qword [rsp + 0xb8]
lea rdx, [rcx + rdi*8]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rdx
mov rax, qword [r12 + 0x10]
sub rax, qword [r12 + 8]
shr rax, 3
add dword [0x00477410], eax
mov r8d, dword [rsp + 0x64]
mov rax, qword [rsp + 0x88]
test r8d, r8d
mov rdx, qword [rax + 8]
je 0x42ae3b
mov eax, dword [rsp + 0x98]
lea rbp, [rdx + 8]
lea rax, [rax + rax*2]
shl rax, 4
lea rdi, [rdx + rax + 0x38]
nop word cs:[rax + rax]
mov rcx, qword [rbp]
test rcx, rcx
je 0x42ae06
call sub.msvcrt.dll_free
mov qword [rbp], 0
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x42ae1c
call sub.msvcrt.dll_free
mov qword [rbp + 0x18], 0
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x42ae32
call sub.msvcrt.dll_free
mov qword [rbp + 0x20], 0
add rbp, 0x30
cmp rdi, rbp
jne 0x42adf0
mov rcx, qword [rsp + 0x88]
call fcn.00423780
mov rax, qword [rsp + 0x148]
movzx eax, word [rax + 0x18]
mov word [rsp + 0x48], ax
shr ax, 6
jmp 0x42a143
test al, 8
jne 0x42b02b
mov rax, qword [rsp + 0x58]
cmp qword [rax + 8], r13
jae 0x42ae80
test byte [r13 - 0x12], 8
jne 0x42b02b
cmp qword [rdi + 8], 0
je 0x42bc40
mov eax, dword [rdi + 0x1c]
lea ebp, [rbp + rax + 1]
jmp 0x42ab90
mov rbx, qword [rsp + 0x68]
mov ecx, ebp
mov r14, rcx
lea rbp, [rcx*8]
movzx eax, byte [rsi + 0x455]
test eax, eax
mov dword [rsp + 0x70], eax
jne 0x42b241
mov rdx, rbp
mov rcx, rsi
call fcn.004235a0
mov r12, rax
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0xb8], rax
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
movzx eax, word [rdi + 0x18]
lea rax, [rax + rax*2]
shl rax, 4
mov eax, dword [rcx + rax - 0x18]
mov dword [rsp + 0xd0], eax
mov rax, rdi
movzx edi, byte [rdi + 0x1c]
mov r15d, edi
mov byte [rsp + 0x80], dil
mov rdi, qword [rax + 8]
and r15d, 2
cmp qword [rsp + 0x48], rdi
jbe 0x42ad4f
lea rax, [rsi + 0x268]
mov dword [rsp + 0x9c], 0
xor ebp, ebp
mov byte [rsp + 0xd6], 0
xor r13d, r13d
xor r14d, r14d
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xc0], rbx
jmp 0x42afb6
cmp al, 0x50
je 0x42b040
movzx edx, byte [rsi + 0x455]
mov eax, r13d
cmp edx, 1
jle 0x42b2d0
mov r9d, dword [rdi]
mov dword [rsp + 0x30], eax
mov r8, rdi
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x50]
mov rcx, r12
add r13d, 1
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x28], rax
call fcn.00428fa0
add rdi, 0x18
cmp qword [rsp + 0x48], rdi
jbe 0x42ad47
test r15b, r15b
movzx eax, byte [rdi + 4]
je 0x42af62
cmp al, 0x35
je 0x42b00a
cmp ebp, 1
je 0x42b29d
jle 0x42af62
cmp ebp, 2
je 0x42b500
cmp al, 0x26
je 0x42b4e4
cmp al, 0x14
je 0x42b5fe
cmp al, 0x15
je 0x42b783
mov r10d, dword [rsp + 0xd0]
mov byte [rsp + 0xd6], 0
test r10d, r10d
jne 0x42af62
jmp 0x42afa7
mov rbx, qword [rsi + 0x4d0]
cmp qword [rdi + 8], rbx
je 0x42b79c
cmp ebp, 1
je 0x42b2aa
jg 0x42afce
jmp 0x42af6a
mov eax, dword [rdi + 0x18]
lea ebp, [rbp + rax + 1]
jmp 0x42ab90
mov edx, dword [rdi + 8]
movzx ecx, word [rdi + 6]
lea eax, [rdx - 1]
lea rax, [rax + rax*2]
shl rax, 4
add rax, qword [rsp + 0x78]
test cl, 4
je 0x42b3fa
movzx edx, byte [rsi + 0x455]
lea rbx, [rax + 0x10]
test dl, dl
setne byte [rsp + 0x90]
jne 0x42b844
mov qword [rsp + 0xa0], 0
mov dword [rsp + 0xa8], 1
mov r10d, 1
cmp byte [rsi + 0x10], 0
mov qword [rsp + 0xb0], 0
je 0x42b0b4
cmp byte [rsi + 0x11], 0
je 0x42b157
mov rax, qword [rsp + 0x58]
cmp qword [rax + 8], rdi
je 0x42b157
test byte [rdi - 0x12], 8
jne 0x42b157
test r14, r14
je 0x42b0e7
mov rax, qword [r12 + 0x10]
cmp qword [r12 + 8], rax
je 0x42b0e7
sub rax, 8
cmp r14, rax
je 0x42b157
mov rcx, rsi
mov dword [rsp + 0x80], r10d
call fcn.00422ab0
mov byte [rax + 4], 0x53
mov qword [rax + 8], rdi
mov r8, rax
xor eax, eax
mov edx, r13d
mov r10d, dword [rsp + 0x80]
mov word [r8 + 6], ax
movzx eax, byte [rsi + 0x455]
cmp eax, 1
jle 0x42ba22
mov r9d, dword [r8]
mov rax, qword [rsp + 0x68]
mov rcx, r12
mov dword [rsp + 0x30], edx
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x80], r10d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
call fcn.00428fa0
mov r10d, dword [rsp + 0x80]
test r10d, r10d
je 0x42b2eb
lea eax, [r13 + r10]
mov byte [rsp + 0xd7], r15b
mov qword [rsp + 0xd8], r14
movzx r15d, byte [rsp + 0x90]
mov r14, qword [rsp + 0xa0]
mov dword [rsp + 0x80], eax
mov dword [rsp + 0xa0], ebp
mov dword [rsp + 0x90], r13d
mov ebp, dword [rsp + 0xa8]
jmp 0x42b1ed
xor r8d, r8d
test rbx, rbx
mov r9d, dword [r14]
je 0x42b1b3
mov r8, qword [rbx]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x68]
mov rcx, r12
mov dword [rsp + 0x20], edx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
call fcn.00428fa0
test ebp, ebp
je 0x42b218
cmp ebp, 2
je 0x42b218
add r13d, 1
cmp r13d, dword [rsp + 0x80]
je 0x42b465
cmp dword [rsp + 0x70], 1
movzx edx, byte [rsi + 0x455]
mov eax, dword [rsp + 0x90]
cmovg eax, r13d
cmp edx, 1
jle 0x42b229
test r15b, r15b
mov edx, dword [rdi]
jne 0x42b1a5
mov r8, qword [rbx]
mov r9d, dword [r8]
jmp 0x42b1b3
lea rax, [r14 + 4]
add rbx, 8
test r15b, r15b
cmovne r14, rax
jmp 0x42b1db
mov rcx, qword [rsp + 0x58]
mov rax, rdi
sub rax, qword [rcx + 8]
sar rax, 3
imul eax, eax, 0xaaaaaaab
jmp 0x42b209
shl rcx, 4
call fcn.00443bd0
mov rdx, rbp
mov rcx, rsi
mov rdi, rax
call fcn.004235a0
cmp dword [rsp + 0x70], 1
mov r9d, dword [rsp + 0x50]
mov r12, rax
mov rcx, qword [rsi + 0x28]
mov rax, qword [rax + 8]
mov r8d, dword [rsp + 0x158]
mov rdx, qword [rsp + 0x148]
cmovne r9d, r14d
mov qword [rsp + 0xb8], rax
call fcn.00426b40
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x68], rax
jmp 0x42aee8
cmp al, 0x14
mov ebp, 2
je 0x42afa7
mov r8d, dword [rsp + 0x9c]
lea r9, str.__VA_OPT___must_be_followed_by_an_open_parenthesis
mov edx, 3
mov rcx, rsi
mov ebp, 1
call fcn.00419d10
jmp 0x42afa7
mov rbx, qword [rsp + 0x58]
mov rax, rdi
sub rax, qword [rbx + 8]
sar rax, 3
imul eax, eax, 0xaaaaaaab
jmp 0x42af7d
cmp byte [rsi + 0x452], 0
je 0x42b659
cmp byte [rsi + 0x450], 0
jne 0x42b659
mov rax, qword [rsp + 0x58]
test byte [rax + 0x1c], 4
jne 0x42b659
mov rax, qword [rsi]
test rax, rax
je 0x42b326
cmp byte [rax + 0x6d], 0
jne 0x42b659
cmp byte [rsi + 0x430], 0
jne 0x42ba3d
cmp byte [rsi + 0x47e], 0
je 0x42b371
mov rbx, qword [rsp + 0x148]
mov eax, dword [rdi + 8]
setg dl
movzx edx, dl
lea r8, str.invoking_macro__s_argument__d:_empty_macro_arguments_are_undefined_in_ISO_C90
mov rcx, rsi
add edx, 0x15
mov rbx, qword [rbx]
mov dword [rsp + 0x20], eax
mov r9, rbx
mov qword [rsp + 0x80], rbx
call fcn.00419b70
cmp byte [rsi + 0x10], 0
mov dword [rsp + 0x80], r13d
jne 0x42b3d1
test byte [rdi + 6], 8
jne 0x42b3d1
test r14, r14
je 0x42b39f
mov rax, qword [r12 + 0x10]
cmp qword [r12 + 8], rax
je 0x42b39f
sub rax, 8
cmp r14, rax
je 0x42b3d1
mov r9d, dword [rsi + 0x268]
mov r8, qword [rsp + 0xc8]
mov rcx, r12
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], r9d
call fcn.00428fa0
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x42b3ed
lea r8, [rdi + 6]
mov rdx, rax
mov rcx, rsi
call fcn.00428f30
mov r13d, dword [rsp + 0x80]
jmp 0x42afa7
and ecx, 8
je 0x42b6ce
movzx edx, byte [rsi + 0x455]
mov r10d, dword [rax + 0x18]
mov rbx, qword [rax]
mov qword [rsp + 0xa0], 0
mov dword [rsp + 0xa8], 0
test dl, dl
setne byte [rsp + 0x90]
je 0x42b098
test rbx, rbx
je 0x42be29
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0
mov byte [rsp + 0x90], 1
jmp 0x42b098
test byte [rdi + 6], 8
movzx r15d, byte [rsp + 0xd7]
mov r14, qword [rsp + 0xd8]
mov ebp, dword [rsp + 0xa0]
je 0x42b6bf
mov rax, qword [r12 + 0x10]
cmp qword [r12 + 8], rax
je 0x42b3ed
sub rax, 8
mov qword [rsp + 0xb0], rax
jmp 0x42b3d1
mov rax, qword [r12 + 0x10]
sub rax, qword [r12 + 8]
mov r8, r12
mov r9, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x148]
mov rcx, rsi
shr rax, 3
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
call fcn.00428e90
jmp 0x42ada4
mov byte [rsp + 0xd6], 1
mov edx, dword [rsp + 0xd0]
test edx, edx
jne 0x42af6a
jmp 0x42afa7
cmp al, 0x26
je 0x42bc00
mov ebp, 3
jmp 0x42afdf
mov rdx, r15
mov rcx, rsi
call fcn.00423580
cmp byte [r13 + 4], 0x3d
je 0x42b60e
xor ebp, ebp
xor ebx, ebx
add r14d, 1
cmp dword [rdi + 0x18], r14d
ja 0x42ac3a
mov eax, ebx
mov r13, qword [rsp + 0xa0]
mov ebx, dword [rsp + 0x9c]
test al, 1
mov r15, qword [rsp + 0xa8]
je 0x42b56c
lea r8, str.invalid_string_literal__ignoring_final_
xor edx, edx
mov rcx, rsi
sub r12, 1
call fcn.00419b10
mov byte [r12], 0x22
mov rdx, qword [rsi + 0x40]
lea rax, [r12 + 1]
add r12, 2
mov rcx, rsi
mov rbp, rax
sub rbp, qword [rdx + 0x10]
mov qword [rdx + 0x10], r12
sub rax, rbp
mov r12, rax
call fcn.00422ab0
mov edx, ebp
mov byte [r12 + rdx], 0
mov dword [rax + 8], ebp
xor ebp, ebp
mov word [rax + 6], bp
mov byte [rax + 4], 0x3e
mov ebp, ebx
mov qword [rax + 0x10], r12
mov qword [rdi + 0x10], rax
jmp 0x42ab90
mov r8, r12
mov r9d, 1
mov rdx, r13
mov rcx, rsi
call fcn.00422ca0
mov r12, rax
jmp 0x42b51d
test rbp, rbp
je 0x42bd3c
test byte [rbp + 6], 1
jne 0x42b52c
mov rax, qword [r13 + 8]
test rax, rax
jne 0x42b52c
mov rbp, rax
jmp 0x42b52c
add ebp, 1
mov byte [rsp + 0xd6], 0
jmp 0x42b4ec
mov rax, qword [r13 + 0x10]
add ebx, 1
xor ebp, ebp
cmp byte [rax], 0x5c
jne 0x42b528
jmp 0x42b52c
mov rdx, qword [rsp + 0x70]
sub r12, qword [rcx + 0x10]
mov r8, rax
mov rcx, rsi
mov qword [rsp + 0xb0], rax
call fcn.00423730
mov rdx, qword [rsi + 0x40]
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rdx + 0x10]
add r12, rdx
jmp 0x42aca4
cmp byte [rsi + 0x47e], 0
jle 0x42b371
cmp byte [rsi + 0x430], 0
jne 0x42b371
mov rax, qword [rsp + 0x58]
test byte [rax + 0x1c], 4
jne 0x42b371
mov rax, qword [rsi]
test rax, rax
je 0x42b694
cmp byte [rax + 0x6d], 0
jne 0x42b371
mov eax, dword [rdi + 8]
lea r8, str.invoking_macro__s_argument__d:_empty_macro_arguments_are_undefined_in_ISO_C90
mov edx, 0x16
mov rcx, rsi
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x148]
mov r9, qword [rax]
call fcn.00419b40
jmp 0x42b371
cmp byte [rsi + 0x10], 0
je 0x42b385
jmp 0x42b3d1
mov rbx, qword [rsp + 0x58]
cmp qword [rbx + 8], rdi
je 0x42b8db
test byte [rdi - 0x12], 8
je 0x42b8db
movzx ecx, byte [rsi + 0x455]
mov r10d, dword [rax + 0x18]
mov rbx, qword [rax]
mov qword [rsp + 0xa0], 0
test cl, cl
setne byte [rsp + 0x90]
jne 0x42bda0
mov rax, qword [r12 + 0x10]
mov rcx, qword [r12 + 8]
mov r8, rax
sub r8, rcx
shr r8, 3
test r8d, r8d
je 0x42b995
cmp rcx, rax
je 0x42bc36
mov r8, qword [rax - 8]
lea r11, [rax - 8]
mov qword [rsp + 0xb0], r11
cmp byte [r8 + 4], 0x13
je 0x42bd45
test r10d, r10d
jne 0x42b995
cmp qword [rsp + 0xb0], r14
je 0x42b995
cmp byte [rsi + 0x10], 0
mov dword [rsp + 0xa8], 0
je 0x42b157
jmp 0x42b0aa
sub ebp, 1
cmp ebp, 2
je 0x42ba68
mov byte [rsp + 0xd6], 0
jmp 0x42b4ec
test ebp, ebp
jg 0x42b9e4
mov eax, dword [rdi]
add ebp, 1
mov dword [rsp + 0x9c], eax
mov rax, qword [rsp + 0x58]
cmp qword [rax + 8], rdi
je 0x42b7c1
test byte [rdi - 0x12], 8
je 0x42b7dd
mov rax, qword [r12 + 0x10]
cmp qword [r12 + 8], rax
lea r14, [rax - 8]
mov eax, 0
cmove r14, rax
jmp 0x42afa7
mov rcx, rsi
call fcn.00422ab0
xor r9d, r9d
mov byte [rax + 4], 0x53
mov qword [rax + 8], rdi
mov word [rax + 6], r9w
movzx edx, byte [rsi + 0x455]
mov r8, rax
mov eax, r13d
cmp edx, 1
jle 0x42b82c
mov r9d, dword [r8]
mov dword [rsp + 0x30], eax
mov rcx, r12
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x28], rax
call fcn.00428fa0
jmp 0x42b7c1
mov rbx, qword [rsp + 0x58]
mov rax, rdi
sub rax, qword [rbx + 8]
sar rax, 3
imul eax, eax, 0xaaaaaaab
jmp 0x42b807
test rbx, rbx
je 0x42bdba
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 1
mov byte [rsp + 0x90], 1
mov r10d, 1
jmp 0x42b098
mov ebx, 0x30
mov edx, 0x1c0
jmp 0x42a685
mov r9d, dword [rax + 0x14]
test r9d, r9d
je 0x42be82
mov rax, qword [rsp + 0x58]
mov ecx, 1
mov r8, qword [rax + 8]
cmp byte [r8 + 4], 0x26
lea rax, [r8 + 0x18]
jne 0x42b8b4
jmp 0x42be69
mov rcx, r10
cmp ecx, r9d
mov r14d, ecx
jae 0x42be82
mov rdx, rax
add rax, 0x18
lea r10, [rcx + 1]
cmp byte [rdx + 4], 0x26
jne 0x42b8b1
mov qword [rsp + 0x48], rdx
jmp 0x42ab4c
movzx edx, byte [rsi + 0x455]
mov r10d, dword [rax + 0x1c]
mov rbx, qword [rax + 8]
mov qword [rsp + 0xa0], 0
test dl, dl
setne byte [rsp + 0x90]
jne 0x42bc1c
test r14, r14
je 0x42b96a
mov rax, qword [r12 + 0x10]
cmp qword [r12 + 8], rax
je 0x42b96a
sub rax, 8
mov dword [rsp + 0xa8], 2
cmp r14, rax
jne 0x42b098
test r10d, r10d
je 0x42b098
mov rcx, qword [rsp + 0xa0]
test rbx, rbx
je 0x42b97a
mov rax, qword [rbx]
cmp byte [rax + 4], 0x53
jne 0x42b962
lea rax, [rcx + 4]
add rbx, 8
test dl, dl
cmovne rcx, rax
sub r10d, 1
jne 0x42b940
mov qword [rsp + 0xa0], rcx
mov dword [rsp + 0xa8], 2
jmp 0x42b098
movzx eax, byte [4]
ud2
mov edx, edi
mov eax, edi
jmp 0x42a8ed
xor r15d, r15d
jmp 0x42a51d
mov qword [rsp + 0xb0], 0
jmp 0x42b769
mov rdi, qword [rsp + 0x90]
mov edx, dword [rdi + 0x18]
test edx, edx
jne 0x42aaf1
cmp byte [rsi + 0x451], 0
jne 0x42aaf1
lea rax, [rax + rax*2]
mov rdi, qword [rsp + 0x90]
shl rax, 4
mov qword [rdi + rax - 0x30], 0
jmp 0x42aaf1
mov r8d, dword [rdi]
lea r9, str.__VA_OPT___may_not_appear_in_a___VA_OPT__
mov edx, 3
mov rcx, rsi
call fcn.00419d10
jmp 0x42afa7
test r10w, r10w
jne 0x42aaa7
mov rax, qword [rsp + 0x90]
xor edi, edi
mov ecx, dword [rax + 0x18]
test ecx, ecx
setne dil
jmp 0x42aaa7
mov rax, qword [rsp + 0x58]
mov rdx, rdi
sub rdx, qword [rax + 8]
sar rdx, 3
imul edx, edx, 0xaaaaaaab
jmp 0x42b124
mov eax, dword [rdi + 8]
lea r8, str.invoking_macro__s_argument__d:_empty_macro_arguments_are_undefined_in_ISO_C98
mov edx, 0x15
mov rcx, rsi
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x148]
mov r9, qword [rax]
call fcn.00419b70
jmp 0x42b371
cmp byte [rsp + 0xd6], 0
jne 0x42be36
mov rcx, qword [r12 + 8]
mov rdx, qword [r12 + 0x10]
cmp rcx, rdx
je 0x42bb0d
sub rdx, 8
xor r8d, r8d
jmp 0x42bab0
mov rax, qword [r12 + 0x10]
cmp rcx, rax
jae 0x42baa5
sub rax, 8
mov qword [r12 + 0x10], rax
lea rdx, [rax - 8]
cmp rcx, rax
cmove rdx, r8
test rdx, rdx
je 0x42bae7
cmp rdx, r14
je 0x42bae7
mov rax, qword [rdx]
cmp byte [rax + 4], 0x53
je 0x42ba92
test byte [rdi + 6], 8
je 0x42bb1c
lea r8, [rdi + 6]
mov rcx, rsi
xor ebp, ebp
xor r14d, r14d
call fcn.00428f30
mov byte [rsp + 0xd6], 0
jmp 0x42afa7
test byte [rdi + 6], 8
je 0x42bb1c
test rdx, rdx
je 0x42bb60
mov rax, qword [rdx]
cmp byte [rax + 4], 0x53
jne 0x42bac9
xor ebp, ebp
mov byte [rsp + 0xd6], 0
xor r14d, r14d
jmp 0x42afa7
xor ebp, ebp
xor r14d, r14d
test byte [rdi + 6], 8
jne 0x42afa7
mov r9d, dword [rsi + 0x268]
mov r8, qword [rsp + 0xc8]
mov rcx, r12
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x30], 0
xor ebp, ebp
mov qword [rsp + 0x28], 0
xor r14d, r14d
mov dword [rsp + 0x20], r9d
call fcn.00428fa0
mov byte [rsp + 0xd6], 0
jmp 0x42afa7
xor r14d, r14d
xor ebp, ebp
mov byte [rsp + 0xd6], 0
jmp 0x42afa7
mov rax, qword [rsi + 0x88]
cmp qword [rax + 8], 0
je 0x42bea7
mov edx, 1
mov rcx, rsi
call fcn.00429df0
mov rax, qword [rsp + 0x148]
lea r8, [0x00466cc8]
mov edx, 3
mov rcx, rsi
mov r9, qword [rax]
call fcn.00419b10
mov rdx, qword [rsp + 0x88]
mov rcx, rsi
call fcn.00423580
sub dword [rsi + 0x1ec], 1
sub byte [rsi + 0x18], 1
cmp byte [rsi + 0x442], 0
mov byte [rsi + 0x19], 0
je 0x42a45f
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x20]
test byte [rax + 0x1c], 4
jne 0x42a45f
jmp 0x42a440
mov r8d, dword [rdi]
lea r9, str._cannot_appear_at_either_end_of___VA_OPT__
mov edx, 3
mov rcx, rsi
call fcn.00419d10
jmp 0x42afa7
test rbx, rbx
je 0x42be5c
mov rax, qword [rax + 0x28]
mov qword [rsp + 0xa0], rax
jmp 0x42b906
mov rax, qword [pe_dos_header]
ud2
mov ebx, dword [rdi + 0x18]
test ebx, ebx
je 0x42ae8b
cmp byte [rsi + 0x442], 0
mov ecx, 0x800
mov byte [rsi + 0x442], 0
movzx ebx, byte [rsi + 0x455]
setne r14b
call fcn.00443bd0
mov qword [rdi + 8], rax
cmp byte [rsi + 0x455], 0
je 0x42bc89
mov ecx, 0x400
call fcn.00443bd0
mov qword [rdi + 0x28], rax
test bl, bl
je 0x42befa
mov eax, dword [rdi + 0x18]
mov r9, qword [rdi + 0x20]
xor r8d, r8d
xor edx, edx
mov rcx, rsi
add eax, 1
mov dword [rsp + 0x28], eax
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.00428e90
mov edx, dword [rdi + 0x1c]
mov ebx, 0x100
jmp 0x42bcd5
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x42bf72
mov qword [rcx + rax*8], r10
add edx, 1
mov dword [rdi + 0x1c], edx
lea r12d, [rdx + 1]
cmp r12, rbx
ja 0x42beb6
mov rdx, qword [rsp + 0x90]
mov rcx, rsi
call fcn.0042bf80
cmp byte [rax + 4], 0x16
mov r10, rax
je 0x42be15
mov eax, dword [rdi + 0x1c]
cmp byte [rsi + 0x455], 0
mov r9d, dword [rsp + 0xec]
mov rdx, rax
je 0x42bcbe
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x42bf72
mov r8, qword [rdi + 0x28]
mov qword [rcx + rax*8], r10
lea r8, [r8 + rax*4]
test r8, r8
je 0x42bccf
mov dword [r8], r9d
mov edx, dword [rdi + 0x1c]
jmp 0x42bccf
mov rax, qword [r13 + 8]
jmp 0x42b5f6
mov r11, qword [rsp + 0x58]
test byte [r11 + 0x1c], 2
je 0x42b752
movzx r8d, word [r11 + 0x18]
cmp edx, r8d
jne 0x42b752
test rbx, rbx
je 0x42bd72
cmp qword [rbx], 0
jne 0x42b769
cmp rcx, rax
jae 0x42b995
mov rax, qword [rsp + 0xb0]
mov dword [rsp + 0xa8], 0
mov qword [r12 + 0x10], rax
jmp 0x42b098
test rbx, rbx
je 0x42be9a
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xa0], rax
jmp 0x42b711
mov qword [rsp + 0xa0], 0
jmp 0x42b859
xor edi, edi
cmp byte [rsi + 0x455], 0
je 0x42a595
xor ecx, ecx
xor r15d, r15d
call fcn.00443bd0
xor edx, edx
mov rcx, rsi
mov r12, rax
call fcn.004235a0
mov rcx, qword [rsi + 0x28]
mov r8d, dword [rsp + 0x158]
xor r9d, r9d
mov rdx, qword [rsp + 0x148]
mov rbp, rax
call fcn.00426b40
jmp 0x42a51d
mov rcx, rsi
call fcn.00429c40
mov byte [rsi + 0x442], r14b
jmp 0x42ae8b
mov qword [rsp + 0xa0], rbx
jmp 0x42b44d
mov r8d, dword [rdi]
lea r9, str._cannot_appear_at_either_end_of___VA_OPT__
mov edx, 3
mov rcx, rsi
xor ebp, ebp
call fcn.00419d10
mov byte [rsp + 0xd6], 0
jmp 0x42afa7
mov qword [rsp + 0xa0], rbx
jmp 0x42b906
mov qword [rsp + 0x48], r8
xor ebp, ebp
xor ecx, ecx
mov dword [rsp + 0x50], 0
xor r14d, r14d
jmp 0x42aea9
lea r8, str.macro_real_token_count
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s3_elf_src_gcc_libcpp_macro.c
mov edx, 0x4dc
call fcn.00459e70
mov qword [rsp + 0xa0], rbx
jmp 0x42b711
cmp byte [rsi + 0x10], 0
je 0x42bb91
jmp 0x42bb84
mov rcx, qword [rdi + 8]
mov rdx, r12
lea rbx, [r12 + r12]
shl rdx, 4
call fcn.00443c50
mov qword [rdi + 8], rax
cmp byte [rsi + 0x455], 0
je 0x42bce2
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x42bf38
lea rdx, [r12*8]
call fcn.00443c50
mov qword [rdi + 0x28], rax
jmp 0x42bce2
mov eax, dword [rdi + 0x18]
mov r12, qword [rdi]
mov rcx, qword [rsp + 0x80]
lea ebx, [rax + 1]
call fcn.00428e10
lea rdx, [r12 + rbx*8]
mov dword [rax + 0x30], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rdx
jmp 0x42bcb4
lea rcx, [r12*8]
call fcn.00443bd0
mov qword [rdi + 0x28], rax
jmp 0x42bce2
movzx ecx, byte [r13 + 4]
call fcn.0041b130
test al, al
mov r15d, eax
jne 0x42ac71
mov rcx, r13
call fcn.00422bf0
mov eax, eax
jmp 0x42ac88
mov qword [0], r10
ud2