Function at 0x43fad0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rsi, rcx
test rcx, rcx
je 0x440a12
mov rax, qword [rcx]
test rax, rax
je 0x440a12
imul rbx, rax, 3
jo 0x441a3e
test rbx, rbx
lea rax, [rbx + 3]
cmovns rax, rbx
sar rax, 2
add rax, 6
mov r12, rax
js 0x440b25
movabs rdi, 0x2000000100002400
mov rdx, r12
xor ecx, ecx
call fcn.0040d0c0
mov r14, rax
mov rax, qword [rsi]
mov rbp, rax
nop dword [rax + rax]
mov rbx, rbp
xor r12d, r12d
sub rbx, 1
jo 0x4419c6
mov rdx, qword [rsi]
test rbx, rbx
js 0x43fb5d
cmp rbx, rdx
jl 0x43fb69
sub rdx, 1
mov rcx, rbx
call fcn.0040d770
movzx eax, byte [rsi + rbx + 0x10]
cmp al, 0x3d
jbe 0x43fe40
mov qword [rsp + 0x68], rbp
sub rbp, 4
mov qword [rsp + 0x48], rbp
jo 0x441a08
cmp qword [rsp + 0x48], 0
js 0x440f49
lea rax, [0x0048a7c0]
test r14, r14
mov qword [rsp + 0x38], 0
movabs rdi, 0x100002400
mov qword [rsp + 0x30], rax
setne byte [rsp + 0x57]
xor ebx, ebx
nop
mov rdx, qword [rsi]
test rbx, rbx
js 0x43fbcd
cmp rbx, rdx
jl 0x43fbd9
sub rdx, 1
mov rcx, rbx
call fcn.0040d770
movzx eax, byte [rsi + rbx + 0x10]
cmp al, 0x20
jbe 0x43fe18
mov rdx, qword [rsi]
test rbx, rbx
js 0x4403f8
cmp rbx, rdx
jl 0x4403b8
mov rcx, rbx
sub rdx, 1
call fcn.0040d770
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x30]
movzx r12d, byte [rcx + rax]
cmp r12b, 0xff
je 0x440738
lea eax, [r12*4]
mov byte [rsp + 0x56], al
add rbx, 1
jo 0x441a34
mov rdx, qword [rsi]
test rbx, rbx
js 0x440108
cmp rbx, rdx
jge 0x440108
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp al, 0xff
je 0x4409b4
movzx ebp, al
mov r12, rbp
shl ebp, 4
sar r12, 4
add rbx, 1
jo 0x441a20
mov rdx, qword [rsi]
test rbx, rbx
js 0x43fe70
cmp rbx, rdx
jge 0x43fe70
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp al, 0xff
je 0x440985
movzx r15d, al
mov r13, r15
shl r15d, 6
sar r13, 2
mov byte [rsp + 0x40], r13b
add rbx, 1
jo 0x441a2a
mov rdx, qword [rsi]
test rbx, rbx
js 0x440460
cmp rbx, rdx
jl 0x43fcde
sub rdx, 1
mov rcx, rbx
call fcn.0040d770
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp al, 0xff
je 0x4404c0
or r15d, eax
add rbx, 1
mov r13, rbx
jo 0x4403d8
mov rax, qword [rsp + 0x38]
test rax, rax
js 0x440390
cmp byte [rsp + 0x57], 0
je 0x440390
mov rdx, qword [r14]
cmp rdx, rax
jle 0x44039f
mov rax, qword [rsp + 0x38]
or r12b, byte [rsp + 0x56]
mov byte [r14 + rax + 0x10], r12b
mov r12, rax
add r12, 1
jo 0x441a5c
mov rdx, qword [r14]
test r12, r12
js 0x43fd52
cmp r12, rdx
jl 0x43fd5e
sub rdx, 1
mov rcx, r12
call fcn.0040d770
or bpl, byte [rsp + 0x40]
mov byte [r14 + r12 + 0x10], bpl
mov rbp, r12
add rbp, 1
jo 0x441a52
mov rdx, qword [r14]
test rbp, rbp
js 0x43fd82
cmp rbp, rdx
jl 0x43fd8e
sub rdx, 1
mov rcx, rbp
call fcn.0040d770
mov byte [r14 + rbp + 0x10], r15b
add rbp, 1
mov qword [rsp + 0x38], rbp
jo 0x4403e8
cmp qword [rsp + 0x48], r13
jge 0x43fbc0
mov rdi, rbx
sub rdi, qword [rsp + 0x68]
jo 0x441a48
mov rdx, rdi
sar rdx, 0x3f
shr rdx, 0x3e
lea rax, [rdi + rdx]
and eax, 3
sub rax, rdx
cqo
xor rax, rdx
sub rax, rdx
cmp rax, 2
je 0x440a25
cmp rax, 3
je 0x440b3e
cmp qword [rsp + 0x38], 0
js 0x440b0a
mov rdx, qword [rsp + 0x38]
mov rcx, r14
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.0040d0c0
bt rdi, rax
jae 0x43fbe6
add rbx, 1
jno 0x43fbc0
call fcn.00409d20
jmp 0x43fbc0
bt rdi, rax
jae 0x43fb76
test r12, r12
jne 0x43fe60
mov rbp, rbx
jmp 0x43fb40
call fcn.00409d20
jmp 0x43fe4f
mov rcx, rbx
sub rdx, 1
call fcn.0040d770
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x30]
movzx r15d, byte [rcx + rax]
cmp r15b, 0xff
jne 0x43fca7
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r13, rax
mov rax, qword [0x004a9ae0]
mov qword [r13], rax
lea rax, [0x0048a720]
mov qword [r13 + 0x10], rax
test rbx, rbx
js 0x4409fb
mov rax, qword [rsi]
cmp rbx, rax
jl 0x43fef0
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
mov rax, qword [rsi]
cmp rbx, rax
jl 0x43fef0
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.004020f0
mov rcx, rbx
mov qword [rsp + 0x40], rax
call fcn.004020f0
mov r10, qword [rsp + 0x40]
xor ecx, ecx
mov r9, rax
test r10, r10
je 0x43ff19
mov rcx, qword [r10]
test r9, r9
je 0x43ff21
add rcx, qword [r9]
add rcx, 0x38
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x40], r10
call fcn.0040c5d0
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x58]
movabs rcx, 0x6620343665736162
movabs rdx, 0x2064696c61766e49
mov r15, rax
mov rax, qword [rax]
test r10, r10
lea rax, [r15 + rax + 0x10]
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 0x18], rcx
mov ecx, 0x60
mov qword [rax + 0x10], rdx
mov word [rax + 0x20], cx
mov rax, qword [r15]
lea rdx, [rax + 0x21]
mov qword [r15], rdx
movzx ecx, byte [rsi + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [r15 + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [r15], rdx
mov qword [r15 + rax + 0x32], rcx
mov rdx, qword [r15]
lea rax, [rdx + 7]
mov qword [r15], rax
je 0x43ffea
mov rax, qword [r10]
lea rcx, [r15 + rdx + 0x17]
lea rdx, [r10 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x58]
mov rax, qword [r10]
add rax, qword [r15]
mov qword [r15], rax
lea rax, [r15 + rax + 0x10]
mov edx, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov word [rax + 0xc], dx
mov dword [rax + 8], 0x6f697461
mov byte [rax + 0xe], 0
mov rax, qword [r15]
lea rdx, [rax + 0xe]
lea rcx, [r15 + rax + 0x1e]
mov qword [r15], rdx
test r9, r9
je 0x44004c
mov rax, qword [r9]
lea rdx, [r9 + 0x10]
mov qword [rsp + 0x40], r9
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x40]
mov rax, qword [r9]
add rax, qword [r15]
mov qword [r15], rax
lea rcx, [r15 + rax + 0x10]
mov r8d, 0x2e
mov word [rcx], r8w
add qword [r15], 1
add qword [r15 - 0x10], 8
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x440091
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x440091
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov rax, qword [r13 + 8]
mov qword [r13 + 0x18], r15
test rax, rax
je 0x4400c7
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x4400c7
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
lea r9, str.base64.nim
mov rcx, r13
mov r15d, 0xffffffc0
mov qword [r13 + 8], 0
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
lea rdx, [0x0048a720]
call fcn.0040d470
mov byte [rsp + 0x40], 0x3f
jmp 0x43fcb7
mov rcx, rbx
sub rdx, 1
call fcn.0040d770
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x30]
movzx ebp, byte [rcx + rax]
cmp bpl, 0xff
jne 0x43fc64
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r12, rax
mov rax, qword [0x004a9ae0]
mov qword [r12], rax
lea rax, [0x0048a720]
mov qword [r12 + 0x10], rax
test rbx, rbx
js 0x4409e4
mov rax, qword [rsi]
cmp rbx, rax
jl 0x440188
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
mov rax, qword [rsi]
cmp rbx, rax
jl 0x440188
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.004020f0
mov rcx, rbx
mov r15, rax
call fcn.004020f0
xor ecx, ecx
mov r13, rax
test r15, r15
je 0x4401aa
mov rcx, qword [r15]
test r13, r13
je 0x4401b3
add rcx, qword [r13]
add rcx, 0x38
call fcn.0040c5d0
mov r9d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rbp, rax
mov rax, qword [rax]
lea rax, [rbp + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov word [rax + 0x20], r9w
mov rax, qword [rbp]
lea rdx, [rax + 0x21]
mov qword [rbp], rdx
movzx ecx, byte [rsi + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [rbp + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [rbp], rdx
mov qword [rbp + rax + 0x32], rcx
mov rax, qword [rbp]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [rbp], rdx
test r15, r15
je 0x44026e
lea rcx, [rbp + rax]
mov rax, qword [r15]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [rbp]
mov qword [rbp], rax
add rax, 0x10
add rax, rbp
mov r8d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r8w
mov byte [rax + 0xe], 0
mov rax, qword [rbp]
lea rdx, [rax + 0xe]
lea rcx, [rbp + rax + 0x1e]
mov qword [rbp], rdx
test r13, r13
je 0x4402cc
mov rax, qword [r13]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
add rax, qword [rbp]
mov qword [rbp], rax
lea rcx, [rbp + rax + 0x10]
mov edx, 0x2e
mov word [rcx], dx
add qword [rbp], 1
add qword [rbp - 0x10], 8
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x440311
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x440311
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov rax, qword [r12 + 8]
mov qword [r12 + 0x18], rbp
test rax, rax
je 0x440349
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x440349
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov rcx, r12
lea r9, str.base64.nim
mov qword [r12 + 8], 0
lea r8, str.decode
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0048a720]
mov ebp, 0xfffffff0
mov r12d, 0xf
call fcn.0040d470
jmp 0x43fc6e
mov rdx, 0xffffffffffffffff
test r14, r14
je 0x4403a3
mov rdx, qword [r14]
sub rdx, 1
mov rcx, qword [rsp + 0x38]
call fcn.0040d770
jmp 0x43fd29
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp al, 0xff
je 0x440738
shl eax, 2
mov byte [rsp + 0x56], al
jmp 0x43fc2c
call fcn.00409d20
jmp 0x43fd04
call fcn.00409d20
jmp 0x43fda2
mov rcx, rbx
sub rdx, 1
call fcn.0040d770
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x30]
movzx r12d, byte [rcx + rax]
cmp r12b, 0xff
jne 0x43fc20
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov rcx, rbx
mov r12, rax
mov rax, qword [0x004a9ae0]
mov qword [r12], rax
lea rax, [0x0048a720]
mov qword [r12 + 0x10], rax
mov rax, qword [rsi]
lea rdx, [rax - 1]
call fcn.0040d770
mov rax, qword [rsi]
jmp 0x44077f
mov rcx, rbx
sub rdx, 1
call fcn.0040d770
movzx eax, byte [rsi + rbx + 0x10]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp al, 0xff
jne 0x43fcf4
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov rcx, rbx
mov r15, rax
mov rax, qword [0x004a9ae0]
mov qword [r15], rax
lea rax, [0x0048a720]
mov qword [r15 + 0x10], rax
mov rax, qword [rsi]
lea rdx, [rax - 1]
call fcn.0040d770
mov rax, qword [rsi]
jmp 0x440505
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r15, rax
mov rax, qword [0x004a9ae0]
mov qword [r15], rax
lea rax, [0x0048a720]
mov qword [r15 + 0x10], rax
mov rax, qword [rsi]
cmp rbx, rax
jl 0x440511
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
mov rax, qword [rsi]
cmp rbx, rax
jl 0x440511
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.004020f0
mov rcx, rbx
mov qword [rsp + 0x58], rax
call fcn.004020f0
mov r11, qword [rsp + 0x58]
xor ecx, ecx
mov r13, rax
test r11, r11
je 0x44053a
mov rcx, qword [r11]
test r13, r13
je 0x440543
add rcx, qword [r13]
add rcx, 0x38
mov qword [rsp + 0x58], r11
call fcn.0040c5d0
mov r11d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov r9, rax
mov rax, qword [rax]
lea rax, [r9 + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov word [rax + 0x20], r11w
mov r11, qword [rsp + 0x58]
mov qword [rax + 0x18], rcx
mov rax, qword [r9]
lea rdx, [rax + 0x21]
mov qword [r9], rdx
movzx ecx, byte [rsi + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [r9 + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [r9], rdx
mov qword [r9 + rax + 0x32], rcx
mov rax, qword [r9]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [r9], rdx
test r11, r11
je 0x440610
lea rcx, [r9 + rax]
mov rax, qword [r11]
lea rdx, [r11 + 0x10]
mov qword [rsp + 0x60], r9
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x60]
mov r11, qword [rsp + 0x58]
mov rax, qword [r11]
add rax, qword [r9]
mov qword [r9], rax
add rax, 0x10
add rax, r9
mov r10d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r10w
mov byte [rax + 0xe], 0
mov rax, qword [r9]
lea rdx, [rax + 0xe]
lea rcx, [r9 + rax + 0x1e]
mov qword [r9], rdx
test r13, r13
je 0x440674
mov rax, qword [r13]
lea rdx, [r13 + 0x10]
mov qword [rsp + 0x58], r9
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x58]
mov rax, qword [r13]
add rax, qword [r9]
mov qword [r9], rax
lea rcx, [r9 + rax + 0x10]
mov r10d, 0x2e
mov word [rcx], r10w
add qword [r9], 1
add qword [r9 - 0x10], 8
mov rax, qword [r15 + 0x18]
test rax, rax
je 0x4406c3
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x4406c3
mov rcx, qword [0x004a9e20]
mov rdx, r8
mov qword [rsp + 0x58], r9
add rcx, 0x18
call fcn.004079d0
mov r9, qword [rsp + 0x58]
mov rax, qword [r15 + 8]
mov qword [r15 + 0x18], r9
test rax, rax
je 0x4406f9
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x4406f9
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov qword [r15 + 8], 0
mov rcx, r15
lea r9, str.base64.nim
lea r8, str.decode
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0048a720]
mov r15d, 0xffffffff
call fcn.0040d470
jmp 0x43fcf7
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r12, rax
mov rax, qword [0x004a9ae0]
mov qword [r12], rax
lea rax, [0x0048a720]
mov qword [r12 + 0x10], rax
mov rax, qword [rsi]
cmp rbx, rax
jl 0x44078b
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
mov rax, qword [rsi]
cmp rbx, rax
jl 0x44078b
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.004020f0
mov rcx, rbx
mov r15, rax
call fcn.004020f0
xor ecx, ecx
mov r13, rax
test r15, r15
je 0x4407ad
mov rcx, qword [r15]
test r13, r13
je 0x4407b6
add rcx, qword [r13]
add rcx, 0x38
call fcn.0040c5d0
mov r11d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rbp, rax
mov rax, qword [rax]
lea rax, [rbp + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov word [rax + 0x20], r11w
mov rax, qword [rbp]
lea rdx, [rax + 0x21]
mov qword [rbp], rdx
movzx ecx, byte [rsi + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [rbp + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [rbp], rdx
mov qword [rbp + rax + 0x32], rcx
mov rax, qword [rbp]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [rbp], rdx
test r15, r15
je 0x440871
lea rcx, [rbp + rax]
mov rax, qword [r15]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [rbp]
mov qword [rbp], rax
add rax, 0x10
add rax, rbp
mov r10d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r10w
mov byte [rax + 0xe], 0
mov rax, qword [rbp]
lea rdx, [rax + 0xe]
lea rcx, [rbp + rax + 0x1e]
mov qword [rbp], rdx
test r13, r13
je 0x4408cf
mov rax, qword [r13]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
add rax, qword [rbp]
mov qword [rbp], rax
lea rcx, [rbp + rax + 0x10]
mov eax, 0x2e
mov word [rcx], ax
add qword [rbp], 1
add qword [rbp - 0x10], 8
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x440914
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x440914
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov rax, qword [r12 + 8]
mov qword [r12 + 0x18], rbp
test rax, rax
je 0x44094c
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x44094c
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov qword [r12 + 8], 0
lea r9, str.base64.nim
mov rcx, r12
lea r8, str.decode
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0048a720]
call fcn.0040d470
mov byte [rsp + 0x56], 0xfc
jmp 0x43fc2c
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r13, rax
mov rax, qword [0x004a9ae0]
mov qword [r13], rax
lea rax, [0x0048a720]
mov qword [r13 + 0x10], rax
jmp 0x43fec8
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r12, rax
mov rax, qword [0x004a9ae0]
mov qword [r12], rax
lea rax, [0x0048a720]
mov qword [r12 + 0x10], rax
jmp 0x440160
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.0040d770
mov rax, qword [rsi]
jmp 0x44017c
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.0040d770
mov rax, qword [rsi]
jmp 0x43fee4
xor eax, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi]
cmp rax, rbx
jg 0x440a39
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
lea rax, [0x0048a7c0]
mov rdi, rax
mov qword [rsp + 0x30], rax
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [rdi + rax]
cmp bpl, 0xff
je 0x4411ca
shl ebp, 2
mov rdi, rbx
add rdi, 1
js 0x4419fe
cmp rdi, rbx
jb 0x4419fe
mov rax, qword [rsi]
test rdi, rdi
js 0x441156
cmp rdi, rax
jl 0x440a91
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.0040d770
movzx eax, byte [rsi + rdi + 0x10]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
cmp al, 0xff
je 0x440f59
shr rax, 4
and eax, 0xf
mov rbx, rax
add rdi, 1
jo 0x4419f4
test r14, r14
je 0x440cb2
mov rdi, qword [rsp + 0x38]
test rdi, rdi
js 0x440cb2
mov rax, qword [r14]
cmp rax, rdi
jle 0x440cc1
mov rax, qword [rsp + 0x38]
or ebp, ebx
mov byte [r14 + rax + 0x10], bpl
add rax, 1
mov qword [rsp + 0x38], rax
jno 0x43fdec
call fcn.00409d20
cmp qword [rsp + 0x38], 0
jns 0x43fdf8
mov rcx, qword [rsp + 0x38]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.0040d5c0
jmp 0x43fdf8
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
call fcn.0040d5c0
jmp 0x43fb1e
mov rax, qword [rsi]
cmp rax, rbx
jg 0x440b52
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
lea rax, [0x0048a7c0]
mov rdi, rax
mov qword [rsp + 0x30], rax
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [rdi + rax]
cmp bpl, 0xff
je 0x441760
lea eax, [rbp*4]
mov byte [rsp + 0x56], al
mov rbp, rbx
add rbp, 1
js 0x4419d6
cmp rbp, rbx
jb 0x4419d6
mov rax, qword [rsi]
test rbp, rbp
js 0x440cd4
cmp rbp, rax
jge 0x440cd4
movzx eax, byte [rsi + rbp + 0x10]
mov rdi, qword [rsp + 0x30]
movzx edi, byte [rdi + rax]
cmp dil, 0xff
je 0x441485
mov eax, edi
mov r12, rdi
shl eax, 4
sar r12, 4
mov byte [rsp + 0x40], al
mov rbx, rbp
add rbx, 1
jo 0x4419e0
mov rax, qword [rsi]
test rbx, rbx
js 0x4414b5
cmp rbx, rax
jl 0x440bfc
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
movzx eax, byte [rsi + rbx + 0x10]
mov rdi, qword [rsp + 0x30]
movzx eax, byte [rdi + rax]
cmp al, 0xff
je 0x441706
shr rax, 2
and eax, 0x3f
mov rsi, rax
add rbx, 1
jo 0x4419ea
mov rdi, qword [rsp + 0x38]
test rdi, rdi
js 0x440c93
test r14, r14
je 0x440c93
mov rax, qword [r14]
cmp rax, rdi
jle 0x440ca2
movzx ebp, byte [rsp + 0x56]
mov rax, qword [rsp + 0x38]
or ebp, r12d
mov byte [r14 + rax + 0x10], bpl
add rax, 1
mov rbx, rax
jo 0x441a12
mov rax, qword [r14]
test rbx, rbx
js 0x440c69
cmp rbx, rax
jl 0x440c75
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
or sil, byte [rsp + 0x40]
mov byte [r14 + rbx + 0x10], sil
add rbx, 1
mov qword [rsp + 0x38], rbx
jno 0x43fdec
jmp 0x440af9
mov rdx, 0xffffffffffffffff
test r14, r14
je 0x440ca6
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, qword [rsp + 0x38]
call fcn.0040d770
jmp 0x440c3d
mov rdx, 0xffffffffffffffff
test r14, r14
je 0x440cc5
mov rax, qword [r14]
lea rdx, [rax - 1]
mov rcx, qword [rsp + 0x38]
call fcn.0040d770
jmp 0x440ade
lea rdx, [rax - 1]
mov rcx, rbp
call fcn.0040d770
movzx eax, byte [rsi + rbp + 0x10]
mov rdi, qword [rsp + 0x30]
movzx edi, byte [rdi + rax]
cmp dil, 0xff
jne 0x440bc2
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r12, rax
mov rax, qword [0x004a9ae0]
mov qword [r12], rax
lea rax, [0x0048a720]
mov qword [r12 + 0x10], rax
test rbp, rbp
js 0x4419a8
mov rax, qword [rsi]
cmp rbp, rax
jl 0x440d54
lea rdx, [rax - 1]
mov rcx, rbp
call fcn.0040d770
mov rax, qword [rsi]
cmp rbp, rax
jl 0x440d54
lea rdx, [rax - 1]
mov rcx, rbp
call fcn.0040d770
movzx ecx, byte [rsi + rbp + 0x10]
call fcn.004020f0
mov rcx, rbp
mov rbx, rax
call fcn.004020f0
mov r13, rax
xor eax, eax
test rbx, rbx
je 0x440d76
mov rax, qword [rbx]
test r13, r13
je 0x440d7f
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.0040c5d0
mov r9d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rdi, rax
mov rax, qword [rax]
lea rax, [rdi + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov word [rax + 0x20], r9w
mov rax, qword [rdi]
lea rdx, [rax + 0x21]
mov qword [rdi], rdx
movzx ecx, byte [rsi + rbp + 0x10]
lea rdx, [rax + 0x22]
mov byte [rdi + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [rdi], rdx
mov qword [rdi + rax + 0x32], rcx
mov rax, qword [rdi]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [rdi], rdx
test rbx, rbx
je 0x440e32
lea rcx, [rdi + rax]
mov rax, qword [rbx]
lea rdx, [rbx + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx]
add rax, qword [rdi]
mov qword [rdi], rax
add rax, 0x10
add rax, rdi
mov r8d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r8w
mov byte [rax + 0xe], 0
mov rax, qword [rdi]
lea rdx, [rax + 0xe]
lea rcx, [rdi + rax + 0x1e]
mov qword [rdi], rdx
test r13, r13
je 0x440e8c
mov rax, qword [r13]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
add rax, qword [rdi]
mov qword [rdi], rax
lea rcx, [rdi + rax + 0x10]
mov r13d, 0x2e
mov word [rcx], r13w
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x440ed2
mov rcx, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x440ed2
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], rdi
test rdx, rdx
je 0x440f0a
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x440f0a
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov qword [r12 + 8], 0
mov rcx, r12
lea r9, str.base64.nim
lea r8, str.decode
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0048a720]
mov r12d, 0xf
call fcn.0040d470
mov byte [rsp + 0x40], 0xf0
jmp 0x440bd2
mov qword [rsp + 0x38], 0
xor ebx, ebx
jmp 0x43fdad
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r12, rax
mov rax, qword [0x004a9ae0]
mov qword [r12], rax
lea rax, [0x0048a720]
mov qword [r12 + 0x10], rax
mov rax, qword [rsi]
cmp rdi, rax
jge 0x44145c
movzx ecx, byte [rsi + rdi + 0x10]
call fcn.004020f0
mov rcx, rdi
mov r15, rax
call fcn.004020f0
mov r13, rax
xor eax, eax
test r15, r15
je 0x440fb2
mov rax, qword [r15]
test r13, r13
je 0x440fbb
add rax, qword [r13]
lea rcx, [rax + 0x38]
call fcn.0040c5d0
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov rbx, rax
mov rax, qword [rax]
lea rax, [rbx + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov edx, 0x60
mov word [rax + 0x20], dx
mov qword [rax + 0x18], rcx
mov rax, qword [rbx]
lea rdx, [rax + 0x21]
mov qword [rbx], rdx
movzx ecx, byte [rsi + rdi + 0x10]
lea rdx, [rax + 0x22]
movabs rsi, 0x2064726f282060
mov byte [rbx + rax + 0x31], cl
mov qword [rbx], rdx
mov qword [rbx + rax + 0x32], rsi
mov rdx, qword [rbx]
lea rax, [rdx + 7]
mov qword [rbx], rax
test r15, r15
je 0x441065
mov rax, qword [r15]
lea rcx, [rbx + rdx + 0x17]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [rbx]
mov qword [rbx], rax
movabs rsi, 0x636f6c2074612029
lea rax, [rbx + rax + 0x10]
mov qword [rax], rsi
mov esi, 0x206e
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], si
mov byte [rax + 0xe], 0
mov rax, qword [rbx]
lea rdx, [rax + 0xe]
lea rcx, [rbx + rax + 0x1e]
mov qword [rbx], rdx
test r13, r13
je 0x4410bf
mov rax, qword [r13]
lea rdx, [r13 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r13]
add rax, qword [rbx]
mov qword [rbx], rax
lea rcx, [rbx + rax + 0x10]
mov esi, 0x2e
mov word [rcx], si
add qword [rbx], 1
add qword [rbx - 0x10], 8
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x4410f4
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x441444
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], rbx
test rdx, rdx
je 0x44111d
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
jbe 0x44142c
lea r9, str.base64.nim
mov rcx, r12
mov qword [r12 + 8], 0
lea r8, str.decode
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0048a720]
mov ebx, 0xf
call fcn.0040d470
jmp 0x440ab1
movabs rcx, 0x8000000000000000
lea rdx, [rax - 1]
call fcn.0040d770
mov rcx, qword [rsp + 0x30]
movabs rax, 0x8000000000000010
movzx eax, byte [rsi + rax]
movzx eax, byte [rcx + rax]
cmp al, 0xff
jne 0x440aa7
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov rcx, rdi
mov r12, rax
mov rax, qword [0x004a9ae0]
mov qword [r12], rax
lea rax, [0x0048a720]
mov qword [r12 + 0x10], rax
mov rax, qword [rsi]
lea rdx, [rax - 1]
call fcn.0040d770
mov rax, qword [rsi]
jmp 0x441474
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r12, rax
mov rax, qword [0x004a9ae0]
mov qword [r12], rax
lea rax, [0x0048a720]
mov qword [r12 + 0x10], rax
mov rax, qword [rsi]
cmp rbx, rax
jge 0x441403
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.004020f0
mov rcx, rbx
mov rbp, rax
call fcn.004020f0
mov rdi, rax
xor eax, eax
test rbp, rbp
je 0x441224
mov rax, qword [rbp]
test rdi, rdi
je 0x44122c
add rax, qword [rdi]
lea rcx, [rax + 0x38]
call fcn.0040c5d0
mov r8d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov r13, rax
mov rax, qword [rax]
lea rax, [r13 + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov word [rax + 0x20], r8w
mov rax, qword [r13]
lea rdx, [rax + 0x21]
mov qword [r13], rdx
movzx ecx, byte [rsi + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [r13 + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [r13], rdx
mov qword [r13 + rax + 0x32], rcx
mov rax, qword [r13]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [r13], rdx
test rbp, rbp
je 0x4412ea
lea rcx, [r13 + rax]
mov rax, qword [rbp]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [r13]
mov qword [r13], rax
add rax, 0x10
movabs rcx, 0x636f6c2074612029
add rax, r13
mov qword [rax], rcx
mov ecx, 0x206e
mov word [rax + 0xc], cx
mov dword [rax + 8], 0x6f697461
mov byte [rax + 0xe], 0
mov rax, qword [r13]
lea rdx, [rax + 0xe]
lea rcx, [r13 + rax + 0x1e]
mov qword [r13], rdx
test rdi, rdi
je 0x441344
mov rax, qword [rdi]
lea rdx, [rdi + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
add rax, qword [r13]
mov qword [r13], rax
lea rcx, [r13 + rax + 0x10]
mov r11d, 0x2e
mov word [rcx], r11w
add qword [r13], 1
add qword [r13 - 0x10], 8
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x441378
mov rdi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x4413eb
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], r13
test rdx, rdx
je 0x44139d
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
jbe 0x4413d6
lea r9, str.base64.nim
mov rcx, r12
mov qword [r12 + 8], 0
lea r8, str.decode
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0048a720]
mov ebp, 0xfffffffc
call fcn.0040d470
jmp 0x440a5e
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
jmp 0x44139d
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
jmp 0x441378
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
mov rax, qword [rsi]
cmp rax, rbx
jg 0x441201
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
jmp 0x441201
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
jmp 0x44111d
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
jmp 0x4410f4
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.0040d770
mov rax, qword [rsi]
cmp rdi, rax
jl 0x440f90
lea rdx, [rax - 1]
mov rcx, rdi
call fcn.0040d770
jmp 0x440f90
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r12, rax
mov rax, qword [0x004a9ae0]
mov qword [r12], rax
lea rax, [0x0048a720]
mov qword [r12 + 0x10], rax
jmp 0x440d2c
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
movzx eax, byte [rsi + rbx + 0x10]
mov rdi, qword [rsp + 0x30]
movzx eax, byte [rdi + rax]
cmp al, 0xff
jne 0x440c12
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov rcx, rbx
mov r13, rax
mov rax, qword [0x004a9ae0]
mov qword [r13], rax
lea rax, [0x0048a720]
mov qword [r13 + 0x10], rax
mov rax, qword [rsi]
lea rdx, [rax - 1]
call fcn.0040d770
mov rax, qword [rsi]
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.004020f0
mov rcx, rbx
mov rbp, rax
call fcn.004020f0
mov r15, rax
xor eax, eax
test rbp, rbp
je 0x441542
mov rax, qword [rbp]
test r15, r15
je 0x44154a
add rax, qword [r15]
lea rcx, [rax + 0x38]
call fcn.0040c5d0
movabs rcx, 0x6620343665736162
movabs rdx, 0x2064696c61766e49
mov rdi, rax
mov rax, qword [rax]
lea rax, [rdi + rax + 0x10]
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 0x18], rcx
mov ecx, 0x60
mov qword [rax + 0x10], rdx
mov word [rax + 0x20], cx
mov rax, qword [rdi]
lea rdx, [rax + 0x21]
mov qword [rdi], rdx
movzx ecx, byte [rsi + rbx + 0x10]
lea rdx, [rax + 0x22]
movabs rsi, 0x2064726f282060
mov byte [rdi + rax + 0x31], cl
mov qword [rdi], rdx
mov qword [rdi + rax + 0x32], rsi
mov rax, qword [rdi]
lea rdx, [rax + 7]
add rax, 0x17
mov qword [rdi], rdx
test rbp, rbp
je 0x4415fd
lea rcx, [rdi + rax]
mov rax, qword [rbp]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [rdi]
mov qword [rdi], rax
add rax, 0x10
add rax, rdi
mov edx, 0x206e
movabs rsi, 0x636f6c2074612029
mov word [rax + 0xc], dx
mov qword [rax], rsi
mov dword [rax + 8], 0x6f697461
mov byte [rax + 0xe], 0
mov rax, qword [rdi]
lea rdx, [rax + 0xe]
lea rcx, [rdi + rax + 0x1e]
mov qword [rdi], rdx
test r15, r15
je 0x441653
mov rax, qword [r15]
lea rdx, [r15 + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [rdi]
mov qword [rdi], rax
lea rcx, [rdi + rax + 0x10]
mov r15d, 0x2e
mov word [rcx], r15w
add qword [rdi], 1
add qword [rdi - 0x10], 8
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x441698
mov rsi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rsi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x441698
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov rdx, qword [r13 + 8]
mov qword [r13 + 0x18], rdi
test rdx, rdx
je 0x4416ce
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x4416ce
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov qword [r13 + 8], 0
mov rcx, r13
mov esi, 0x3f
lea r9, str.base64.nim
mov qword [rsp + 0x20], 0xe9
lea r8, str.decode
lea rdx, [0x0048a720]
call fcn.0040d470
jmp 0x440c1c
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r13, rax
mov rax, qword [0x004a9ae0]
mov qword [r13], rax
lea rax, [0x0048a720]
mov qword [r13 + 0x10], rax
mov rax, qword [rsi]
cmp rbx, rax
jl 0x44151f
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
mov rax, qword [rsi]
cmp rbx, rax
jge 0x441513
jmp 0x44151f
mov rcx, qword [0x004a9920]
mov edx, 0x30
call fcn.0040c390
mov r12, rax
mov rax, qword [0x004a9ae0]
mov qword [r12], rax
lea rax, [0x0048a720]
mov qword [r12 + 0x10], rax
mov rax, qword [rsi]
cmp rbx, rax
jl 0x4417b3
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
mov rax, qword [rsi]
cmp rbx, rax
jl 0x4417b3
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.0040d770
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.004020f0
mov rcx, rbx
mov rbp, rax
call fcn.004020f0
mov rdi, rax
xor eax, eax
test rbp, rbp
je 0x4417d6
mov rax, qword [rbp]
test rdi, rdi
je 0x4417de
add rax, qword [rdi]
lea rcx, [rax + 0x38]
call fcn.0040c5d0
mov r11d, 0x60
movabs rdx, 0x2064696c61766e49
movabs rcx, 0x6620343665736162
mov r13, rax
mov rax, qword [rax]
lea rax, [r13 + rax + 0x10]
mov qword [rax], rdx
movabs rdx, 0x68632074616d726f
mov qword [rax + 8], rcx
movabs rcx, 0x2072657463617261
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov word [rax + 0x20], r11w
mov rax, qword [r13]
lea rdx, [rax + 0x21]
mov qword [r13], rdx
movzx ecx, byte [rsi + rbx + 0x10]
lea rdx, [rax + 0x22]
mov byte [r13 + rax + 0x31], cl
movabs rcx, 0x2064726f282060
mov qword [r13], rdx
mov qword [r13 + rax + 0x32], rcx
mov rdx, qword [r13]
lea rax, [rdx + 7]
mov qword [r13], rax
test rbp, rbp
je 0x441894
mov rax, qword [rbp]
lea rcx, [r13 + rdx + 0x17]
lea rdx, [rbp + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp]
add rax, qword [r13]
mov qword [r13], rax
lea rax, [r13 + rax + 0x10]
mov r10d, 0x206e
movabs rcx, 0x636f6c2074612029
mov qword [rax], rcx
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r10w
mov byte [rax + 0xe], 0
mov rax, qword [r13]
lea rdx, [rax + 0xe]
lea rcx, [r13 + rax + 0x1e]
mov qword [r13], rdx
test rdi, rdi
je 0x4418f2
mov rax, qword [rdi]
lea rdx, [rdi + 0x10]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
add rax, qword [r13]
mov qword [r13], rax
lea rcx, [r13 + rax + 0x10]
mov edi, 0x2e
mov word [rcx], di
add qword [r13], 1
add qword [r13 - 0x10], 8
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x441937
mov rdi, qword [rax - 0x10]
lea r8, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x441937
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov rdx, qword [r12 + 8]
mov qword [r12 + 0x18], r13
test rdx, rdx
je 0x44196f
mov rax, qword [rdx - 0x10]
lea r8, [rdx - 0x10]
sub rax, 8
mov qword [rdx - 0x10], rax
cmp rax, 7
ja 0x44196f
mov rcx, qword [0x004a9e20]
mov rdx, r8
add rcx, 0x18
call fcn.004079d0
mov qword [r12 + 8], 0
lea r9, str.base64.nim
mov rcx, r12
lea r8, str.decode
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x0048a720]
call fcn.0040d470
mov byte [rsp + 0x56], 0xfc
jmp 0x440b7f
movabs rcx, 0x8000000000000000
mov rax, qword [rsi]
lea rdx, [rax - 1]
call fcn.0040d770
mov rax, qword [rsi]
jmp 0x440d48
mov r12d, 1
call fcn.00409d20
jmp 0x43fb50
call fcn.00409d20
jmp 0x440b95
call fcn.00409d20
jmp 0x440bdf
call fcn.00409d20
jmp 0x440c26
call fcn.00409d20
jmp 0x440abb
call fcn.00409d20
jmp 0x440a74
call fcn.00409d20
jmp 0x43fb8a
call fcn.00409d20
jmp 0x440c5c
call fcn.00409d20
jmp 0x43fc78
call fcn.00409d20
jmp 0x43fcc1
call fcn.00409d20
jmp 0x43fc36
call fcn.00409d20
jmp 0x43fb02
call fcn.00409d20
jmp 0x43fdbb
call fcn.00409d20
jmp 0x43fd75
call fcn.00409d20
jmp 0x43fd45