Function at 0x140039915
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x128
mov byte [rcx + 0x13], 0
movzx eax, byte [rdx + 0x13]
mov r12, rcx
mov rbp, rdx
mov qword [rsp + 0x68], r8
and eax, 6
mov dword [rsp + 0x48], r9d
mov byte [rcx + 0x1b8], 0
mov byte [rcx + 0xc8], 1
cmp al, 4
je 0x1400399d0
mov rdx, qword [rcx + 0xc0]
mov byte [rcx + 0xc8], 0
movzx eax, byte [rdx + 0x13]
and eax, 6
cmp al, 4
je 0x1400399a5
mov r9d, dword [r12 + 0xb8]
mov r8d, dword [rsp + 0x48]
mov rdx, rbp
mov rcx, r12
add rsp, 0x128
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x14003d876
mov rax, qword [rdx + 0x18]
test byte [rax + 0x14], 4
je 0x140039976
cmp byte [rcx + 0x501], 0
mov r9d, dword [rsp + 0x48]
jne 0x14003997e
jmp 0x140039976
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x60], rax
test byte [rax + 0x14], 4
jne 0x140039bef
xor r15d, r15d
movzx eax, word [rbp + 0x12]
mov edx, eax
or edx, 0x10
mov word [rbp + 0x12], dx
test al, 0x20
je 0x140039d11
mov rax, qword [r12 + 0x470]
test rax, rax
je 0x140039a18
mov edx, dword [rsp + 0x48]
mov r8, rbp
mov rcx, r12
call rax
mov rdi, qword [rsp + 0x60]
movzx eax, byte [rdi + 0x14]
mov byte [rsp + 0x50], al
or eax, 0x20
cmp word [rdi + 0x10], 0
mov byte [rdi + 0x14], al
jne 0x140039b08
movzx edx, byte [r12 + 0x501]
mov ebx, dword [rdi + 0xc]
test al, 0x40
jne 0x14003b1d1
test dl, dl
je 0x140039d41
mov esi, ebx
mov rcx, rsi
shl rcx, 4
call fcn.1400641d3
lea rdx, [rsi*8]
mov rcx, r12
mov rdi, rax
call fcn.140030c55
mov rcx, qword [r12 + 0x28]
mov r9d, ebx
mov rdx, rbp
mov r8d, dword [rsp + 0x48]
mov rsi, rax
call fcn.140035e42
test ebx, ebx
je 0x140039ae4
mov r13, qword [rsp + 0x60]
add r13, 0x18
xor r14d, r14d
mov qword [rsp + 0x48], rbp
mov ebp, r14d
mov r14, rax
nop word [rax + rax]
mov r9d, dword [r13]
mov dword [rsp + 0x30], ebp
mov r8, r13
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov rcx, rsi
add ebp, 1
add r13, 0x20
mov dword [rsp + 0x20], r9d
call fcn.140038966
cmp ebp, ebx
jb 0x140039ab0
mov rbp, qword [rsp + 0x48]
mov dword [rsp + 0x28], ebx
mov rax, qword [rsi + 8]
mov r9, rdi
mov r8, rsi
mov rdx, rbp
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.140038a02
add dword [0x14019e6b0], ebx
test r15, r15
je 0x140039d29
cmp byte [r12 + 0x10], 0
je 0x140039d61
mov rax, qword [r12 + 0x88]
jmp 0x140039b76
mov edx, ebx
mov qword [r12 + 0x88], rax
lea rdx, [rdi + rdx*8]
mov dword [rax + 0x30], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x20], rsi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdx
cmp byte [r12 + 0x501], 0
jne 0x140039b6d
add dword [0x14019e6b0], ebx
test r15, r15
je 0x140039c51
mov rsi, r15
mov rax, qword [rax]
mov r15, qword [r15]
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
mov qword [rsi], 0
sub rbx, rdi
sar rbx, 3
test rax, rax
jne 0x140039b2f
mov ecx, 0x38
call fcn.1400641d3
mov rdx, qword [r12 + 0x88]
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 8], rdx
mov qword [rdx], rax
jmp 0x140039b2f
add byte [rcx + 0x18], 1
xor ebx, ebx
add dword [rcx + 0x1f4], 1
mov byte [rcx + 0x19], 1
nop dword [rax]
xor edx, edx
mov rcx, r12
call fcn.14003b6a9
movzx edx, byte [rax + 4]
cmp dl, 0x54
jne 0x140039c79
test rbx, rbx
je 0x140039c46
test byte [rbx + 8], 1
jne 0x140039c07
cmp qword [rax + 0x10], 0
cmove rbx, rax
jmp 0x140039c07
mov rbx, rax
jmp 0x140039c07
mov byte [r12 + 0xc8], 0
mov eax, 2
add rsp, 0x128
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp dl, 0x14
je 0x140039d99
cmp dl, 0x16
jne 0x140039c9c
lea rdx, [r12 + 0x310]
cmp rax, rdx
jne 0x140039cc5
mov edx, 1
mov rcx, r12
call fcn.1400391e9
test rbx, rbx
je 0x140039cc5
mov r9d, 1
mov r8, rbx
xor edx, edx
mov rcx, r12
call fcn.140038e63
sub dword [r12 + 0x1f4], 1
sub byte [r12 + 0x18], 1
cmp byte [r12 + 0x4ee], 0
mov byte [r12 + 0x19], 0
je 0x140039cf7
mov rax, qword [rbp + 0x18]
test byte [rax + 0x14], 0x10
je 0x14003b404
mov byte [r12 + 0xc8], 0
xor eax, eax
jmp 0x140039c5f
mov r8d, dword [rsp + 0x48]
mov rdx, rbp
mov rcx, r12
call fcn.140039857
jmp 0x1400399fb
mov byte [r12 + 0xc8], 0
mov eax, 1
jmp 0x140039c5f
mov rax, qword [rsp + 0x60]
mov r9d, ebx
mov rdx, rbp
mov rcx, r12
lea r8, [rax + 0x18]
call fcn.140038e63
jmp 0x140039b02
mov rcx, r12
call fcn.14002fee8
mov r9d, 1
xor edx, edx
mov rcx, r12
mov r8, rax
mov byte [rax + 4], 0x54
mov rax, qword [rsp + 0x68]
mov qword [r8 + 0x10], rax
xor eax, eax
mov word [r8 + 8], ax
call fcn.140038e63
jmp 0x140039b1d
mov byte [r12 + 0x19], 2
mov rax, qword [rbp + 0x18]
mov edx, 1
mov rcx, r12
movzx r14d, byte [r12 + 0x501]
mov qword [rsp + 0x78], rax
movzx eax, word [rax + 0x10]
mov byte [rsp + 0x80], r14b
test ax, ax
cmove eax, edx
movzx ebx, ax
lea rdx, [rbx*8]
sub rdx, rbx
shl rdx, 6
call fcn.140030c55
lea rdx, [rbx + rbx*2]
mov rsi, qword [rax + 8]
mov rbx, rdx
xor edx, edx
mov rdi, rax
shl rbx, 4
mov qword [rsp + 0x90], rax
mov r13, rdi
mov r8, rbx
mov rcx, rsi
mov qword [rsp + 0xa0], rsi
call sub.msvcrt.dll_memset
lea rdx, [rsi + rbx]
mov dword [rsp + 0x74], 0
test r14b, r14b
mov qword [rdi + 0x10], rdx
lea r14, [rsp + 0xf0]
mov qword [rsp + 0x98], rbp
setne byte [rsp + 0x50]
xor r15d, r15d
nop
mov eax, dword [rsp + 0x74]
mov qword [rsi], rdx
add eax, 1
cmp byte [rsp + 0x80], 0
mov dword [rsp + 0x70], eax
jne 0x14003a101
mov dword [rsp + 0x58], 0
mov edi, 0x32
xor ebp, ebp
mov ebx, 2
mov eax, ebx
lea rax, [rdx + rax*8]
cmp qword [r13 + 0x18], rax
jb 0x140039f18
cmp ebx, edi
jbe 0x140039e94
cmp byte [rsp + 0x50], 0
jne 0x14003a091
mov rdx, r14
mov rcx, r12
call fcn.14003b6a9
mov r8, rax
movzx eax, byte [rax + 4]
cmp al, 0x54
je 0x14003a081
lea edx, [rax - 0x13]
cmp dl, 0x13
ja case.default.0x140039ecb
lea rcx, [0x1400a7870]
movzx edx, dl
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
cmp al, 0x52
je 0x14003a121
cmp byte [r12 + 0x501], 0
mov r9d, dword [rsp + 0xf0]
mov eax, ebp
mov rdx, qword [rsi]
jne 0x14003a059
test rdx, rdx
je 0x14003a0e1
mov qword [rdx + rax*8], r8
add ebp, 1
lea ebx, [rbp + 2]
mov eax, ebx
lea rax, [rdx + rax*8]
cmp qword [r13 + 0x18], rax
jae 0x140039e81
mov rdx, r13
mov r8d, 0x1f40
mov rcx, r12
call fcn.14003411c
mov r13, rax
mov rax, qword [rax + 0x10]
mov qword [rsi], rax
jmp 0x140039e81
lea ecx, [rbp - 1]
mov rdx, rcx
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 4], 0x54
jne 0x14003a0f1
mov ebp, edx
test ebp, ebp
jne 0x140039f51
xor edx, edx
mov dword [rsi + 0x18], ebp
mov ebx, dword [r8]
lea rcx, [r12 + 0x310]
cmp byte [r12 + 0x501], 0
jne 0x14003a0b1
test rax, rax
je 0x14003adc7
mov qword [rax + rdx*8], rcx
mov rdi, qword [rsp + 0x78]
movzx edx, word [rdi + 0x10]
mov edi, dword [rsp + 0x70]
mov r10d, edx
cmp edi, edx
ja 0x140039fc7
lea r9d, [rbp + 1]
lea rax, [rax + r9*8]
mov qword [r13 + 0x10], rax
lea rax, [rsi + 0x30]
cmovne rsi, rax
movzx eax, byte [r8 + 4]
lea edx, [rax - 0x15]
cmp dl, 1
jbe 0x14003a217
mov eax, dword [rsp + 0x70]
mov rdx, qword [r13 + 0x10]
mov dword [rsp + 0x74], eax
jmp 0x140039e41
test rdx, rdx
je 0x14003a0e1
mov rcx, qword [rsi + 0x20]
mov qword [rdx + rax*8], r8
lea rcx, [rcx + rax*4]
test rcx, rcx
je 0x140039f02
mov dword [rcx], r9d
jmp 0x140039f02
test ebp, ebp
jne 0x140039ed9
mov rdx, qword [rsi]
jmp 0x140039e71
lea edx, [rdi + 0x3e8]
mov rcx, qword [rsi + 0x20]
mov rdi, rdx
shl rdx, 2
call fcn.14006428d
mov qword [rsi + 0x20], rax
jmp 0x140039e94
test rax, rax
je 0x14003adc7
mov r10, qword [rsi + 0x20]
mov qword [rax + rdx*8], rcx
lea r10, [r10 + rdx*4]
test r10, r10
je 0x140039f9b
mov dword [r10], ebx
jmp 0x140039f9b
mov qword [0], r8
ud2
mov edx, ebp
jmp 0x140039f71
mov ecx, 0xc8
call fcn.1400641d3
mov rdx, qword [rsi]
mov qword [rsi + 0x20], rax
jmp 0x140039e5d
mov rcx, r12
mov qword [rsp + 0x88], r8
call fcn.14002fee8
mov r8, qword [rsp + 0x88]
mov dword [rsp + 0x88], ebx
mov rbx, r15
mov r15, rax
movdqu xmm0, xmmword [r8]
movups xmmword [rax], xmm0
movdqu xmm1, xmmword [r8 + 0x10]
movups xmmword [rax + 0x10], xmm1
jmp 0x14003a1c0
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
sub rax, rdx
cmp rax, 7
ja 0x14003a192
sub rdx, qword [rbx + 8]
mov rcx, r12
add rdx, rdx
call fcn.140030c55
mov rdx, qword [rax + 0x10]
mov qword [rax], rbx
mov rbx, rax
mov qword [rdx], r15
add rdx, 8
cmp byte [r15 + 4], 0x53
mov qword [rbx + 0x10], rdx
je 0x14003a1e7
mov rdx, r14
mov rcx, r12
call fcn.14003b6a9
cmp byte [rax + 4], 0x16
mov r15, rax
je 0x14003a1e7
test rbx, rbx
jne 0x14003a164
mov edx, 0x100
mov rcx, r12
call fcn.140030c55
mov rdx, qword [rax + 0x10]
mov rbx, rax
jmp 0x14003a192
mov r9d, 0x201
mov r8, r15
mov r15, rbx
mov ebx, dword [rsp + 0x88]
mov word [r12 + 0x18], r9w
mov rax, qword [rsi]
cmp byte [r8 + 4], 0x16
mov rdx, rax
je 0x140039f67
jmp 0x140039e71
mov rbp, qword [rsp + 0x98]
cmp al, 0x16
je 0x14003b059
mov eax, dword [rsp + 0x70]
mov ebx, eax
cmp eax, 1
je 0x14003b305
mov rdi, qword [rsp + 0x78]
mov r9d, ebx
mov r8, rbp
mov rcx, r12
mov rdx, rdi
call fcn.140038d36
mov byte [rsp + 0xb0], al
test al, al
je 0x14003b07a
test byte [rdi + 0x14], 8
je 0x14003a27d
movzx edx, word [rdi + 0x10]
mov rax, rdx
cmp ebx, edx
jb 0x14003b4ae
cmp ebx, 1
je 0x14003b48c
mov rax, qword [rsp + 0x90]
sub byte [r12 + 0x18], 1
mov byte [r12 + 0x19], 0
sub dword [r12 + 0x1f4], 1
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x60]
cmp word [rax + 0x10], 0
jne 0x14003a34f
mov edx, dword [rsp + 0x70]
test edx, edx
je 0x14003a338
mov eax, dword [rsp + 0x74]
mov rdi, qword [rsp + 0x50]
lea rax, [rax + rax*2]
lea rsi, [rdi + 8]
shl rax, 4
lea rbx, [rdi + rax + 0x38]
nop word [rax + rax]
mov rcx, qword [rsi]
test rcx, rcx
je 0x14003a2f7
call fcn.1400771af
mov qword [rsi], 0
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14003a311
call fcn.1400771af
mov qword [rsi + 0x18], 0
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x14003a32b
call fcn.1400771af
mov qword [rsi + 0x20], 0
add rsi, 0x30
cmp rbx, rsi
jne 0x14003a2df
mov rcx, qword [rsp + 0x90]
call fcn.1400341ac
jmp 0x1400399e6
mov rax, qword [rsp + 0x60]
mov edi, dword [rax + 0xc]
mov dword [rsp + 0x78], edi
test byte [rax + 0x14], 0x40
jne 0x14003b421
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x78]
lea rdi, [rax + 0x18]
mov rax, rcx
mov rbx, rcx
shl rax, 5
mov qword [rsp + 0x80], rdi
mov r13, rdi
add rax, rdi
mov qword [rsp + 0x58], rax
cmp rdi, rax
jae 0x14003b56e
mov qword [rsp + 0x98], r15
mov r15, r12
mov qword [rsp + 0xa8], r14
mov r14, rax
mov qword [rsp + 0xa0], rbp
jmp 0x14003a3cf
add r13, 0x20
cmp r14, r13
jbe 0x14003a604
cmp byte [r13 + 4], 0x51
jne 0x14003a3c2
mov eax, dword [r13 + 0x10]
lea edi, [rbx + 2]
add dword [rsp + 0x78], 2
mov dword [rsp + 0x88], edi
sub eax, 1
lea rsi, [rax + rax*2]
movzx eax, word [r13 + 8]
shl rsi, 4
add rsi, qword [rsp + 0x50]
test al, 4
je 0x14003a5b8
cmp qword [rsi + 0x10], 0
mov ebx, edi
jne 0x14003a3c2
mov rdx, qword [r15 + 0x40]
mov rax, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
sub rdx, rax
cmp rdx, 2
jbe 0x14003b525
mov byte [rax], 0x22
mov edx, dword [rsi + 0x18]
lea rdi, [r15 + 0x40]
lea rbx, [rax + 1]
mov qword [rsp + 0xb8], rdi
xor r12d, r12d
xor ecx, ecx
xor ebp, ebp
add rax, 2
test edx, edx
je 0x14003ac6f
mov qword [rsp + 0xc0], r14
mov edi, ecx
mov qword [rsp + 0xc8], r13
mov r13, r12
nop dword [rax]
mov rdx, qword [rsi]
mov eax, ebp
mov r12, qword [rdx + rax*8]
movzx eax, byte [r12 + 4]
cmp al, 0x54
je 0x14003b0ed
cmp al, 0x3d
ja 0x14003a5a0
cmp al, 0x38
ja 0x14003a4ae
movzx ecx, al
call fcn.14002710c
test al, al
je 0x14003b3a4
nop dword [rax + rax]
mov rcx, r12
call fcn.1400300f4
movzx r10d, byte [rsp + 0xb0]
mov r8d, eax
shl r8, 2
mov rax, qword [r15 + 0x40]
lea r14, [r8 + 3]
mov rdx, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
sub rax, rbx
cmp r14, rax
ja 0x14003af03
lea rax, [rbx - 1]
cmp rdx, rax
je 0x14003a508
test r13, r13
cmove r13, r12
test byte [r13 + 8], 1
je 0x14003a508
mov byte [rbx], 0x20
add rbx, 1
test r10b, r10b
je 0x14003acbe
mov rdx, r14
mov rcx, r15
call fcn.140030c55
mov r9d, 1
mov rdx, r12
mov rcx, r15
mov r14, qword [rax + 0x10]
mov r13, rax
mov r8, r14
call fcn.1400301bf
mov r9, rax
sub rax, r14
cmp r9d, r14d
je 0x14003ac12
mov eax, eax
lea rcx, [r14 + rax]
jmp 0x14003a568
mov byte [rdx], al
lea rbx, [rdx + 1]
cmp r14, rcx
je 0x14003ac12
movzx eax, byte [r14]
add r14, 1
cmp al, 0x22
je 0x14003a590
cmp al, 0x5c
je 0x14003a590
mov rdx, rbx
cmp al, 0xa
jne 0x14003a559
mov eax, 0x6e
mov byte [rbx], 0x5c
lea rdx, [rbx + 1]
jmp 0x14003a559
lea edx, [rax - 0x3f]
cmp dl, 4
jbe 0x14003a4ae
jmp 0x14003a499
test al, 8
jne 0x14003a5f4
cmp qword [rsp + 0x80], r13
je 0x14003a5d9
test byte [r13 - 0x18], 8
jne 0x14003a5f4
cmp qword [rsi + 8], 0
je 0x14003b55e
mov eax, dword [rsi + 0x1c]
lea ebx, [rbx + rax + 1]
jmp 0x14003a3c2
mov eax, dword [rsi + 0x18]
lea ebx, [rbx + rax + 1]
jmp 0x14003a3c2
mov r12, r15
mov ecx, ebx
mov r15, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xa8]
lea rsi, [rcx*8]
movzx eax, byte [r12 + 0x501]
mov dword [rsp + 0x98], eax
test eax, eax
jne 0x14003add1
mov rdx, rsi
mov rcx, r12
xor r13d, r13d
call fcn.140030c55
mov qword [rsp + 0x88], 0
mov rsi, rax
mov rax, qword [rax + 8]
mov qword [rsp + 0xd0], rax
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
xor ecx, ecx
mov qword [rsp + 0xc0], 0
movzx eax, word [rdi + 0x10]
lea rax, [rax + rax*2]
shl rax, 4
lea rdx, [rbx + rax - 0x30]
movzx eax, byte [rdi + 0x14]
lea rbx, [r12 + 0x2f0]
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xe0], rbx
mov rbx, qword [rsp + 0x58]
mov byte [rsp + 0x78], al
shr al, 3
and eax, 1
mov qword [rsp + 0xf8], rdx
mov byte [rsp + 0x100], al
mov rax, qword [rsp + 0x80]
mov byte [rsp + 0x101], 0
mov qword [rsp + 0x104], 0
mov rdi, rax
mov qword [rsp + 0x10c], 0
cmp rax, rbx
jae 0x14003abaa
mov qword [rsp + 0xd8], r15
mov r15d, ecx
mov qword [rsp + 0xc8], rbp
jmp 0x14003a740
cmp eax, 3
je 0x14003aac2
cmp eax, 4
je 0x14003af83
add rdi, 0x20
cmp rdi, qword [rsp + 0x58]
jae 0x14003ab9a
mov rdx, rdi
mov rcx, r14
call fcn.14007a009
mov ebx, eax
cmp eax, 2
jne 0x14003a71f
movzx ebp, byte [r12 + 0x501]
cmp byte [rdi + 4], 0x51
je 0x14003a7b2
mov rax, rdi
mov r9d, dword [rdi]
mov r8, rdi
mov rdx, r13
sub rax, qword [rsp + 0x80]
mov rcx, rsi
sar rax, 5
cmp bpl, 2
mov dword [rsp + 0x20], r9d
cmovae eax, r15d
add r15d, 1
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
call fcn.140038966
jmp 0x14003a731
mov edx, dword [rdi + 0x10]
movzx ecx, word [rdi + 8]
lea eax, [rdx - 1]
lea rax, [rax + rax*2]
shl rax, 4
add rax, qword [rsp + 0x50]
test cl, 4
je 0x14003ab4e
lea r10, [rax + 0x10]
test bpl, bpl
jne 0x14003b1b0
mov dword [rsp + 0xb0], 1
mov ebx, 1
mov qword [rsp + 0xa8], 0
cmp byte [r12 + 0x10], 0
je 0x14003a81f
cmp byte [r12 + 0x11], 0
mov qword [rsp + 0xa0], 0
je 0x14003a8ef
mov qword [rsp + 0xa0], 0
cmp rdi, qword [rsp + 0x80]
je 0x14003a8ef
test byte [rdi - 0x18], 8
jne 0x14003a8ef
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x14003a86f
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 8]
je 0x14003a86f
sub rax, 8
cmp rcx, rax
je 0x14003a8ef
mov rcx, r12
mov qword [rsp + 0x78], r10
call fcn.14002fee8
xor r9d, r9d
mov r10, qword [rsp + 0x78]
mov byte [rax + 4], 0x54
mov r8, rax
mov qword [rax + 0x10], rdi
mov word [rax + 8], r9w
mov eax, r15d
cmp byte [r12 + 0x501], 1
ja 0x14003a8b5
mov rax, rdi
sub rax, qword [rsp + 0x80]
sar rax, 5
mov r9d, dword [r8]
mov dword [rsp + 0x30], eax
mov rdx, r13
mov rcx, rsi
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x78], r10
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x28], rax
call fcn.140038966
mov r10, qword [rsp + 0x78]
mov qword [rsp + 0xa0], 0
mov ecx, dword [rsp + 0xb0]
test ecx, ecx
jne 0x14003acda
cmp byte [r12 + 0x4fe], 0
je 0x14003aa4e
cmp byte [r12 + 0x4fc], 0
jne 0x14003aa4e
mov rax, qword [rsp + 0x60]
test byte [rax + 0x14], 0x10
jne 0x14003aa4e
mov rax, qword [r12]
test rax, rax
je 0x14003a942
cmp byte [rax + 0x69], 0
jne 0x14003aa4e
cmp byte [r12 + 0x4dc], 0
jne 0x14003b588
cmp byte [r12 + 0x52e], 0
je 0x14003a98e
mov eax, dword [rdi + 0x10]
setg dl
lea r8, str.invoking_macro__s_argument__d:_empty_macro_arguments_are_undefined_in_ISO_C90
mov rcx, r12
movzx edx, dl
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xc8]
add edx, 0x16
mov r9, qword [rax]
call fcn.140025c5f
nop dword [rax]
cmp byte [r12 + 0x10], 0
mov dword [rsp + 0x78], r15d
jne 0x14003aa31
test byte [rdi + 8], 8
jne 0x14003aa31
mov dword [rsp + 0xb0], 0
mov rbx, qword [rsp + 0xc0]
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
test rbx, rbx
je 0x14003a9e3
cmp rax, rcx
je 0x14003a9e3
lea rdx, [rax - 8]
cmp rbx, rdx
je 0x14003aa23
mov r8d, dword [r12 + 0x2f0]
cmp qword [rsi + 0x18], rax
jb 0x14003b675
test r13, r13
je 0x14003aa0f
mov rdx, rax
sub rdx, rcx
shr rdx, 3
mov edx, edx
mov dword [r13 + rdx*4], r8d
mov rbx, qword [rsp + 0xe0]
add rax, 8
mov qword [rax - 8], rbx
mov qword [rsi + 0x10], rax
mov eax, dword [rsp + 0xb0]
add eax, r15d
mov dword [rsp + 0x78], eax
cmp qword [rsp + 0xa0], 0
jne 0x14003ab2d
mov r15d, dword [rsp + 0x78]
jmp 0x14003a731
cmp byte [r12 + 0x52e], 0
jle 0x14003a98e
cmp byte [r12 + 0x4dc], 0
jne 0x14003a98e
mov rax, qword [rsp + 0x60]
test byte [rax + 0x14], 0x10
jne 0x14003a98e
mov rax, qword [r12]
test rax, rax
je 0x14003aa92
cmp byte [rax + 0x69], 0
jne 0x14003a98e
mov eax, dword [rdi + 0x10]
lea r8, str.invoking_macro__s_argument__d:_empty_macro_arguments_are_undefined_in_ISO_C90
mov edx, 0x17
mov rcx, r12
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xc8]
mov r9, qword [rax]
call fcn.140025c2f
jmp 0x14003a98e
cmp rdi, qword [rsp + 0x80]
je 0x14003aada
test byte [rdi - 0x18], 8
je 0x14003b14d
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 8]
je 0x14003b2f4
sub rax, 8
mov qword [rsp + 0xc0], rax
jmp 0x14003a731
mov r15d, dword [rsp + 0xb4]
mov r14, qword [rsp + 0xe8]
test byte [rdi + 8], 8
je 0x14003b2e3
mov rax, qword [rsi + 0x10]
lea rbx, [rax - 8]
mov qword [rsp + 0xa0], rbx
cmp rax, qword [rsi + 8]
je 0x14003aa40
mov rdx, qword [rsp + 0xa0]
mov r8, rdi
mov rcx, r12
call fcn.140038893
jmp 0x14003aa40
and ecx, 8
je 0x14003ae40
mov ebx, dword [rax + 0x18]
mov r10, qword [rax]
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0xb0], ebx
xor ebx, ebx
test bpl, bpl
je 0x14003a7fb
test r10, r10
je 0x14003ab90
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xa8], rax
xor ebx, ebx
jmp 0x14003a7fb
mov r15, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xc8]
mov edi, dword [rsp + 0x98]
mov rbx, qword [rsi + 0x10]
sub rbx, qword [rsi + 8]
shr rbx, 3
test edi, edi
je 0x14003af3a
mov dword [rsp + 0x28], ebx
mov rdx, rbp
mov r9, r13
mov r8, rsi
mov rax, qword [rsp + 0xd0]
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.140038a02
mov rdx, qword [rsi + 0x10]
sub rdx, qword [rsi + 8]
shr rdx, 3
mov rax, qword [rsp + 0x90]
add dword [0x14019e6b0], edx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
jmp 0x14003a2b3
mov rdx, r13
mov rcx, r15
call fcn.140030c31
cmp byte [r12 + 4], 0x3e
je 0x14003ae27
xor r13d, r13d
xor edi, edi
add ebp, 1
cmp ebp, dword [rsi + 0x18]
jb 0x14003a472
and edi, 1
mov r14, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
lea rax, [rbx + 1]
je 0x14003ac6f
lea r8, str.invalid_string_literal__ignoring_final_
xor edx, edx
mov rcx, r15
call fcn.140025bff
mov rax, rbx
sub rbx, 1
mov byte [rbx], 0x22
mov rdx, qword [r15 + 0x40]
add rbx, 2
mov rdi, rax
mov rcx, r15
xor ebp, ebp
sub rdi, qword [rdx + 0x10]
mov qword [rdx + 0x10], rbx
sub rax, rdi
mov rbx, rax
call fcn.14002fee8
mov edx, edi
mov byte [rbx + rdx], 0
mov qword [rax + 0x18], rbx
mov ebx, dword [rsp + 0x88]
mov byte [rax + 4], 0x3f
mov dword [rax + 0x10], edi
mov word [rax + 8], bp
mov qword [rsi + 0x10], rax
jmp 0x14003a3c2
mov r8, rbx
mov r9d, 1
mov rdx, r12
mov rcx, r15
call fcn.1400301bf
mov rbx, rax
jmp 0x14003ac1d
mov rax, rdi
sub rax, qword [rsp + 0x80]
not ebx
mov qword [rsp + 0xe8], r14
sar rax, 5
mov dword [rsp + 0xb4], r15d
and ebx, 1
mov r14, r10
mov dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0xb0]
add eax, r15d
mov dword [rsp + 0x78], eax
jmp 0x14003ad6f
mov rax, qword [rsp + 0xa8]
mov r9d, dword [rax]
test r14, r14
je 0x14003b117
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x30], edx
mov rdx, r13
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov r8, qword [r14]
call fcn.140038966
test bl, bl
jne 0x14003adac
add r15d, 1
cmp dword [rsp + 0x78], r15d
je 0x14003aaf9
mov edx, dword [rsp + 0xb4]
cmp dword [rsp + 0x98], 2
mov ecx, dword [rdi]
cmovge edx, r15d
cmp byte [r12 + 0x501], 1
cmovbe edx, dword [rsp + 0xb8]
test bpl, bpl
jne 0x14003ad21
mov r8, qword [r14]
mov r9d, dword [r8]
jmp 0x14003ad35
add r14, 8
test bpl, bpl
je 0x14003ad60
add qword [rsp + 0xa8], 4
jmp 0x14003ad60
mov qword [0], rcx
ud2
shl rcx, 4
call fcn.1400641d3
mov rdx, rsi
mov rcx, r12
mov r13, rax
call fcn.140030c55
mov r9d, dword [rsp + 0x78]
mov rcx, qword [r12 + 0x28]
mov rdx, rbp
cmp dword [rsp + 0x98], 1
mov r8d, dword [rsp + 0x48]
mov rsi, rax
cmovne r9d, ebx
mov rax, qword [rax + 8]
mov qword [rsp + 0xd0], rax
call fcn.140035e42
mov qword [rsp + 0x88], rax
jmp 0x14003a66a
mov rax, qword [r12 + 0x18]
add edi, 1
xor r13d, r13d
cmp byte [rax], 0x5c
jne 0x14003ac29
jmp 0x14003ac2e
cmp rdi, qword [rsp + 0x80]
je 0x14003b23b
test byte [rdi - 0x18], 8
je 0x14003b23b
mov ebx, dword [rax + 0x18]
mov r10, qword [rax]
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0xb0], ebx
test bpl, bpl
jne 0x14003b544
mov rcx, qword [rsi + 0x10]
mov r8, qword [rsi + 8]
mov rax, rcx
sub rax, r8
shr rax, 3
test eax, eax
je 0x14003b3d7
cmp rcx, r8
je 0x14008ea97
lea rax, [rcx - 8]
mov qword [rsp + 0xa0], rax
mov rax, qword [rcx - 8]
cmp byte [rax + 4], 0x13
je 0x14003b5b3
mov r11d, dword [rsp + 0xb0]
test r11d, r11d
jne 0x14003b3d7
mov rbx, qword [rsp + 0xc0]
cmp qword [rsp + 0xa0], rbx
je 0x14003b3d7
cmp byte [r12 + 0x10], 0
je 0x14003a8fe
cmp byte [r12 + 0x11], 0
je 0x14003a8fe
xor ebx, ebx
jmp 0x14003a8ef
sub rbx, rdx
mov r8, r14
mov rdx, qword [rsp + 0xb8]
mov rcx, r15
mov byte [rsp + 0xb4], r10b
call fcn.14003415c
mov rax, qword [r15 + 0x40]
movzx r10d, byte [rsp + 0xb4]
mov rdx, qword [rax + 0x10]
add rbx, rdx
jmp 0x14003a4e2
mov rax, qword [r12 + 0x88]
mov rdx, rbx
mov rax, qword [rax]
test rax, rax
je 0x14003b4cc
mov rdi, qword [rsp + 0xd0]
mov ebx, ebx
mov qword [r12 + 0x88], rax
mov dword [rax + 0x30], 0
lea rcx, [rdi + rbx*8]
mov qword [rax + 0x28], rbp
mov qword [rax + 0x20], rsi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rcx
jmp 0x14003abf3
movzx r8d, word [rdi + 8]
mov rcx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
and r8d, 8
cmp rcx, rax
je 0x14003b60d
mov r9, qword [rsp + 0xc0]
lea rdx, [rcx - 8]
cmp rdx, qword [rsp + 0xc0]
jne 0x14003afcc
jmp 0x14003b63a
sub rdx, 8
cmp rdx, r9
je 0x14003b68d
mov rcx, qword [rdx]
cmp byte [rcx + 4], 0x54
jne 0x14003b328
mov rdx, qword [rsi + 0x10]
cmp rax, rdx
jae 0x14003afee
sub rdx, 8
mov qword [rsi + 0x10], rdx
cmp rax, rdx
jne 0x14003afbf
test r8w, r8w
jne 0x14003b2f4
mov rcx, qword [rsi + 0x10]
mov r8d, dword [r12 + 0x2f0]
cmp rcx, qword [rsi + 0x18]
ja 0x14003b675
test r13, r13
je 0x14003b034
mov rdx, rcx
sub rdx, rax
mov rax, rdx
shr rax, 3
mov eax, eax
mov dword [r13 + rax*4], r8d
mov rax, qword [rsp + 0xe0]
add rcx, 8
mov qword [rsp + 0xc0], 0
mov qword [rcx - 8], rax
mov qword [rsi + 0x10], rcx
jmp 0x14003a731
cmp r8, rcx
je 0x14003b628
mov r9, qword [rbp]
lea r8, [0x1400a7728]
mov edx, 3
mov rcx, r12
call fcn.140025bff
mov rdx, qword [rsp + 0x90]
mov rcx, r12
call fcn.140030c31
sub byte [r12 + 0x18], 1
sub dword [r12 + 0x1f4], 1
cmp byte [r12 + 0x4ee], 0
mov byte [r12 + 0x19], 0
je 0x14003b0d4
mov rax, qword [rbp + 0x18]
test byte [rax + 0x14], 0x10
jne 0x14003b0d4
mov r9, qword [rbp]
lea r8, str.function_like_macro___s__must_be_used_with_arguments_in_traditional_C
mov edx, 6
mov rcx, r12
call fcn.140025c2f
test r15, r15
je 0x140039cf7
mov rdx, r15
mov rcx, r12
call fcn.140030c31
jmp 0x140039cf7
test r13, r13
je 0x14003b10d
test byte [r13 + 8], 1
jne 0x14003ac2e
cmp qword [r12 + 0x10], 0
jne 0x14003ac2e
mov r13, qword [r12 + 0x10]
jmp 0x14003ac2e
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x30], edx
xor r8d, r8d
mov rdx, r13
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov qword [rsp + 0x28], rax
call fcn.140038966
test bl, bl
je 0x14003ad60
mov r14d, 8
jmp 0x14003adb9
mov rcx, r12
xor ebx, ebx
call fcn.14002fee8
mov byte [rax + 4], 0x54
mov r8, rax
mov qword [rax + 0x10], rdi
mov word [rax + 8], bx
mov eax, r15d
cmp byte [r12 + 0x501], 1
ja 0x14003b187
mov rax, rdi
sub rax, qword [rsp + 0x80]
sar rax, 5
mov r9d, dword [r8]
mov dword [rsp + 0x30], eax
mov rdx, r13
mov rcx, rsi
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x28], rax
call fcn.140038966
jmp 0x14003aada
mov rax, qword [rax + 0x10]
mov ebx, 1
mov dword [rsp + 0xb0], 1
mov qword [rsp + 0xa8], rax
jmp 0x14003a7fb
mov rcx, qword [rsp + 0x60]
jmp 0x14003b1ef
mov eax, ebx
shl rax, 5
cmp byte [rcx + rax + 0x1c], 0x27
jne 0x14003b34e
mov r14d, ebx
sub ebx, 1
test r14d, r14d
jne 0x14003b1de
xor ebx, ebx
test dl, dl
je 0x140039d41
xor ecx, ecx
xor ebx, ebx
call fcn.1400641d3
xor edx, edx
mov rcx, r12
mov rdi, rax
call fcn.140030c55
mov rcx, qword [r12 + 0x28]
xor r9d, r9d
mov rdx, rbp
mov r8d, dword [rsp + 0x48]
mov rsi, rax
call fcn.140035e42
jmp 0x140039ae4
mov ecx, dword [rax + 0x1c]
mov r10, qword [rax + 8]
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0xb0], ecx
test bpl, bpl
jne 0x14003b472
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x14003a7fb
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 8]
je 0x14003a7fb
sub rax, 8
cmp rcx, rax
jne 0x14003a7fb
mov ecx, dword [rsp + 0xb0]
test ecx, ecx
je 0x14003a7fb
mov rdx, qword [rsp + 0xa8]
test r10, r10
je 0x14008eaa1
mov rax, qword [r10]
cmp byte [rax + 4], 0x54
jne 0x14003b2cf
add r10, 8
lea rax, [rdx + 4]
test bpl, bpl
cmovne rdx, rax
sub ecx, 1
jne 0x14003b2a1
mov qword [rsp + 0xa8], rdx
mov dword [rsp + 0xb0], ecx
jmp 0x14003a7fb
cmp byte [r12 + 0x10], 0
je 0x14003a9b4
jmp 0x14003aa31
mov qword [rsp + 0xc0], 0
jmp 0x14003a731
test r10w, r10w
jne 0x14003a236
mov rax, qword [rsp + 0xa0]
xor ebx, ebx
mov r8d, dword [rax + 0x18]
test r8d, r8d
setne bl
jmp 0x14003a236
test r8w, r8w
je 0x14003b001
mov r8, rdi
mov rcx, r12
call fcn.140038893
mov qword [rsp + 0xc0], 0
jmp 0x14003a731
mov ebx, r14d
test dl, dl
je 0x140039d41
mov ebx, r14d
mov r13, qword [rsp + 0x60]
mov rcx, rbx
shl rcx, 4
add r13, 0x18
call fcn.1400641d3
lea rdx, [rbx*8]
mov rcx, r12
mov ebx, r14d
mov rdi, rax
call fcn.140030c55
mov rcx, qword [r12 + 0x28]
mov r9d, r14d
mov rdx, rbp
mov r8d, dword [rsp + 0x48]
mov rsi, rax
call fcn.140035e42
jmp 0x140039a9c
movzx ecx, byte [r12 + 4]
call fcn.14002711c
test al, al
jne 0x14003a4ae
mov rcx, r12
mov byte [rsp + 0xb4], al
call fcn.1400300f4
movzx r10d, byte [rsp + 0xb4]
mov r8d, eax
jmp 0x14003a4c6
mov qword [rsp + 0xa0], 0
xor ebx, ebx
cmp byte [r12 + 0x10], 0
je 0x14003a8ef
cmp byte [r12 + 0x11], 0
je 0x14003a8ef
xor ebx, ebx
jmp 0x14003a8ef
mov r9, qword [rbp]
lea r8, str.function_like_macro___s__must_be_used_with_arguments_in_traditional_C
mov edx, 6
mov rcx, r12
call fcn.140025c2f
jmp 0x140039cf7
mov rcx, rax
mov eax, edi
jmp 0x14003b43e
mov edx, eax
shl rdx, 5
cmp byte [rcx + rdx + 0x1c], 0x27
jne 0x14003b57f
mov ebx, eax
sub eax, 1
test ebx, ebx
jne 0x14003b42d
mov rax, qword [rsp + 0x60]
mov dword [rsp + 0x78], 0
xor esi, esi
xor ecx, ecx
add rax, 0x18
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x58], rax
jmp 0x14003a629
test r10, r10
je 0x14003b25e
mov rax, qword [rax + 0x28]
mov qword [rsp + 0xa8], rax
jmp 0x14003b25e
mov rdi, qword [rsp + 0xa0]
mov ecx, dword [rdi + 0x18]
test ecx, ecx
jne 0x14003a27d
cmp byte [r12 + 0x4fd], 0
jne 0x14003a27d
mov rdi, qword [rsp + 0xa0]
lea rax, [rax + rax*2]
shl rax, 4
mov qword [rdi + rax - 0x30], 0
jmp 0x14003a27d
mov ecx, 0x38
call fcn.1400641d3
mov rdx, qword [r12 + 0x88]
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 8], rdx
mov qword [rdx], rax
mov rdx, qword [rsi + 0x10]
sub rdx, qword [rsi + 8]
shr rdx, 3
jmp 0x14003af51
lea rdx, [r15 + 0x40]
mov r8d, 3
mov rcx, r15
call fcn.14003415c
mov rax, qword [r15 + 0x40]
mov rax, qword [rax + 0x10]
jmp 0x14003a430
test r10, r10
je 0x14003ae7a
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xa8], rax
jmp 0x14003ae7a
mov rdx, rsi
mov rcx, r15
call fcn.14003bfb4
jmp 0x14003a5e4
mov ebx, dword [rsp + 0x78]
lea rsi, [rcx*8]
jmp 0x14003a629
mov dword [rsp + 0x78], ebx
jmp 0x14003a365
mov eax, dword [rdi + 0x10]
lea r8, str.invoking_macro__s_argument__d:_empty_macro_arguments_are_undefined_in_ISO_C98
mov edx, 0x16
mov rcx, r12
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xc8]
mov r9, qword [rax]
call fcn.140025c5f
jmp 0x14003a98e
mov rax, qword [rsp + 0x60]
test byte [rax + 0x14], 8
je 0x14003aeb7
movzx eax, word [rax + 0x10]
cmp edx, eax
jne 0x14003aeb7
test r10, r10
je 0x14003b5e1
cmp qword [r10], 0
jne 0x14003b3e3
cmp rcx, r8
jbe 0x14003b3d7
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xa0], 0
mov qword [rsi + 0x10], rax
jmp 0x14003b3e3
mov qword [rsp + 0xc0], 0
test r8w, r8w
jne 0x14003a731
jmp 0x14003b005
mov edx, 1
mov rcx, r12
call fcn.1400391e9
jmp 0x14003b062
test r8w, r8w
je 0x14003b005
cmp qword [rsp + 0xc0], 0
je 0x14003a731
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax]
cmp byte [rax + 4], 0x54
je 0x14003b2f4
mov rdx, qword [rsp + 0xc0]
jmp 0x14003b332
lea r8, str.tokens_buff_add_token
mov edx, 0x9dc
lea rcx, str..._.._libcpp_macro.c
call fcn.14008dd67
test r8w, r8w
jne 0x14003b653
jmp 0x14003b001
push rbp
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x40
lea rbp, [rsp + 0x40]
cmp dword [rdx + 0x18], 7
mov r12, rcx
mov rbx, rdx
mov r13d, r8d
jne 0x14003d8de
xor eax, eax
cmp byte [rcx + 0x10], 0
je 0x14003d8be
mov rsp, rbp
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop rbp
ret
mov edx, r8d
call fcn.14002596a
mov rsp, rbp
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop rbp
ret
mov r8d, r9d
call fcn.14003d196
mov rcx, rax
mov r14, rax
call sub.msvcrt.dll_strlen
mov rsi, rax
lea rax, [rax + 0x10]
and rax, 0xfffffffffffffff0
call fcn.14006fd9c
sub rsp, rax
mov r8, rsi
mov rdx, r14
lea r10, [rsp + 0x40]
mov rcx, r10
call sub.msvcrt.dll_memcpy
mov r8, rsi
mov r9d, 1
mov rcx, r12
mov byte [rax + rsi], 0xa
mov rdx, rax
call fcn.140024c30
mov rcx, r12
call fcn.14002f24a
mov rcx, r12
call fcn.14002fee8
mov rcx, r12
mov qword [r12 + 0x1c0], rax
call fcn.140031e99
mov dword [rax], r13d
mov rsi, rax
mov rax, qword [r12 + 0x88]
cmp dword [rax + 0x30], 2
je 0x14003d9c6
mov r9d, 1
mov r8, rsi
xor edx, edx
mov rcx, r12
call fcn.140038e63
mov rax, qword [r12]
mov rdi, qword [rax + 0x20]
cmp qword [rax], rdi
je 0x14003d9a2
mov r9, qword [rbx]
lea r8, str.invalid_built_in_macro___s_
mov edx, 4
mov rcx, r12
call fcn.140025bff
mov rcx, r12
call fcn.140024d70
mov eax, 1
mov rsp, rbp
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop rbp
ret
mov ecx, 0x10
call fcn.1400641d3
mov rcx, r12
mov edx, 8
mov rdi, rax
call fcn.140030c55
mov rcx, qword [r12 + 0x28]
mov r8d, r13d
mov rdx, rbx
mov r9d, 1
mov r14, rax
call fcn.140035e42
mov rdx, qword [r12 + 0x28]
mov r8, rsi
mov rcx, r14
mov r9d, dword [rdx + 0x70]
mov qword [rsp + 0x28], rax
mov rdx, rdi
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x20], r9d
call fcn.140038966
mov r9, rdi
mov r8, r14
mov rdx, rbx
mov dword [rsp + 0x28], 1
mov rax, qword [r14 + 8]
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.140038a02
jmp 0x14003d97a
add byte [rax], al
mov qword [rbp - 0x68], 0
mov qword [rbp - 8], 0
jmp 0x140049db5
mov rax, qword [rbp + 0x20]
mov r8, qword [rax + 8]
mov rax, qword [rbp + 0x20]
lea r10, [rax + 0x38]
mov rax, qword [rbp + 0x28]
mov ecx, dword [rax + 0x30]
mov rax, qword [rbp + 0x28]
mov edx, dword [rax + 0x28]
mov rax, qword [rbp + 0x28]
mov ebx, dword [rax + 0x2c]
mov rax, qword [rbp - 0x18]
mov r9, qword [rax + 0x18]
mov rax, qword [rbp - 8]
shl rax, 4
add rax, r9
mov rax, qword [rax + 8]
mov rsi, rax
mov rax, qword [rbp - 0x18]
mov r9, qword [rax + 0x18]
mov rax, qword [rbp - 8]
shl rax, 4
add rax, r9
enter 0x408b, 4
enter 0x408b, 4
lea r11, [rbp - 0x60]
lea r9, [rbp - 0x80]
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r10
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov r8, r11
mov rdx, rsi
mov ecx, eax
call fcn.1400449e3
test eax, eax
jne 0x140049bf5
mov eax, 0
jmp 0x140049dcb
mov rax, qword [rbp - 0x18]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp - 8]
shl rax, 4
add rax, rdx
mov eax, dword [rax]
cmp eax, 0x2007
je 0x140049cb5
cmp eax, 0x2007
ja 0x140049d97
cmp eax, 0x6e
je 0x140049cb5
cmp eax, 0x6e
ja 0x140049d97
cmp eax, 3
je 0x140049c49
cmp eax, 0x47
je 0x140049d3e
jmp 0x140049d97
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x140049d9d
mov rax, qword [rbp + 0x28]
mov r9, qword [rax + 0x40]
mov rax, qword [rbp + 0x20]
and byte [r11 + rcx*4 - 0x80], r8b
enter 0, 0
and byte [r11 + rcx*4 - 0x80], r8b
enter 0, 0
mov rax, qword [rbp + 0x28]
mov eax, dword [rax + 0x2c]
mov rdx, qword [rbp + 0x20]
lea rcx, [rdx + 0x38]
lea rdx, [rbp - 0x68]
mov qword [rsp + 0x38], rdx
cmp byte [rax - 0x75], cl
push rbp
mov qword [rsp + 0x30], rdx
cmp byte [rax - 0x75], cl
push rbp
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0x38]
mov qword [rsp + 0x28], rdx
push rsp
and al, 0x28
push rsp
and al, 0x28
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x20], rdx
mov edx, eax
call fcn.1400453af
test eax, eax
jne 0x140049da3
mov eax, 0
jmp 0x140049dcb
mov qword [rbp - 0x88], 0
mov rax, qword [rbp + 0x28]
mov r9, qword [rax + 0x40]
mov rax, qword [rbp + 0x20]
mov r8d, dword [rax + 0xc8]
mov rax, qword [rbp + 0x28]
mov eax, dword [rax + 0x2c]
mov rdx, qword [rbp + 0x20]
lea rcx, [rdx + 0x38]
lea rdx, [rbp - 0x88]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rbp + 0x40]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0x38]
mov qword [rsp + 0x28], rdx
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x20], rdx
mov edx, eax
call fcn.1400453af
test eax, eax
jne 0x140049d22
mov eax, 0
jmp 0x140049dcb
mov rax, qword [rbp - 0x88]
test rax, rax
je 0x140049da9
mov rax, qword [rbp - 0x88]
jmp 0x140049dcb
mov rax, qword [rbp - 0x18]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp - 8]
shl rax, 4
lea r8, [rdx + rax]
lea rcx, [rbp - 0x80]
mov rax, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x40]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0x38]
mov qword [rsp + 0x20], rdx
mov r9, rcx
mov rdx, rax
mov rcx, qword [rbp + 0x20]
call fcn.140049816
mov qword [rbp - 0x20], rax
cmp qword [rbp - 0x20], 0
je 0x140049daf
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x68], rax
jmp 0x140049daf
nop
jmp 0x140049db0
nop
jmp 0x140049db0
nop
jmp 0x140049db0
nop
jmp 0x140049db0
nop
add qword [rbp - 8], 1
mov rax, qword [rbp - 0x18]
mov rax, qword [rax + 0x10]
cmp qword [rbp - 8], rax
jb 0x140049b5f
mov rax, qword [rbp - 0x68]
add rsp, 0xe0
pop rbx
pop rsi
pop rbp
ret
mov rax, qword [pe_dos_header]
ud2
movzx eax, byte [4]
ud2