Function at 0x140003b02
Capabilities:
Encode data using base64

Disassembly:
jmp 0x1401907c0
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x218
lea rbp, [rsp + 0x30]
mov rsi, rdx
mov eax, dword [0x140898df0]
mov r12, rcx
movsxd rdi, dword [0x140898e28]
cmp eax, 2
jl 0x140191251
pxor xmm1, xmm1
pxor xmm0, xmm0
cvtsi2sd xmm1, eax
mov eax, edi
lea rcx, [0x1404e3e08]
shl eax, 2
lea rdx, [rbp + 0x128]
cvtsi2sd xmm0, eax
mulsd xmm1, xmm0
cvttsd2si r8d, xmm1
movsd qword [rdx], xmm1
mov dword [rbp + 0x3c], r8d
call fcn.140006325
mov rdx, rax
mov qword [rbp + 0x1b0], rdx
test rdx, rdx
je 0x140191177
movsxd r8, dword [0x140898e28]
test r8, r8
jle 0x140191298
mov r13, rdx
lea r11, [rdi*4]
sub r13, r11
xor r10d, r10d
mov r9d, dword [0x140898df0]
xor ebx, ebx
mov r15d, r9d
shr r15d, 1
mov ecx, r15d
mov qword [rbp + 0x10], rcx
lea r14, [r13 + rdi*8]
mov qword [rbp + 0x20], rdi
lea eax, [r9 + 1]
mov qword [rbp + 8], r12
mov qword [rbp], rsi
mov ecx, 1
test r9d, r9d
jle 0x1401908f3
xor r12d, r12d
mov esi, 1
xor edi, edi
test r15d, r15d
je 0x1401908db
mov qword [rbp + 0x28], r8
lea rsi, [rdx + r10*4]
mov qword [rbp + 0x18], rdx
lea rcx, [r14 + r10*4]
mov rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
inc r12
mov dword [rsi + rdi*8], ebx
mov dword [rcx + rdi*8], ebx
add rdi, r8
cmp r12, rdx
jb 0x1401908bd
mov r8, qword [rbp + 0x28]
lea esi, [r12 + r12 + 1]
mov rdx, qword [rbp + 0x18]
lea ecx, [rsi - 1]
cmp ecx, r9d
jae 0x1401908f1
movsxd rsi, esi
imul rsi, r11
add rsi, r13
mov dword [rsi + r10*4], ebx
mov ecx, eax
inc r10
cmp r10, r8
jb 0x14019088c
mov rdi, qword [rbp + 0x20]
inc r8d
mov r12, qword [rbp + 8]
mov rsi, qword [rbp]
mov dword [0x140898ebc], ecx
mov dword [0x140898e80], r8d
mov r14d, dword [0x140898f24]
mov dword [0x140898f38], 1
test r14d, r14d
jle 0x140190b52
movss xmm0, dword [0x1404e3e88]
lea r13, [rdi*4]
movups xmmword [rbp + 0x130], xmm6
movaps xmm6, xmm0
mov qword [rbp + 0x20], rdi
lea rcx, [0x140898f38]
lea rdx, [rbp + 0x1ac]
call fcn.1400023ec
movsx eax, byte [rbp + 0x1ac]
mov dword [0x140898f04], eax
cmp eax, 0xfffffffa
jle 0x140190b30
cmp eax, 0xfffffffd
je 0x140190b30
lea rcx, [0x140898f38]
mov rdx, rsi
call fcn.1400028ba
xor r15d, r15d
mov ecx, 1
movsxd rax, dword [0x140898e28]
xor edi, edi
test rax, rax
jle 0x140191289
mov rbx, qword [rbp + 0x1b0]
mov r8, rbx
mov r9d, dword [0x140898df0]
sub r8, r13
mov qword [rbp], r8
mov dword [rbp + 0x18], r9d
mov qword [rbp + 0x10], r13
mov r13, rax
mov dword [rbp + 8], r14d
movsx r8d, byte [r15 + r12]
mov dword [0x140898f10], r8d
cmp r8d, 0xfffffffa
jle 0x140190b0c
cmp r8d, 0xfffffffd
je 0x140190b0c
movsx r14d, word [rsi + r15*2]
test r14d, r14d
jle 0x140190b0c
cmp r14d, dword [rbp + 0x18]
jg 0x140190b0c
test rbx, rbx
jne 0x140190af0
mov dword [0x140898e80], ecx
mov rcx, rsp
lea r10, [0x1404e3e0c]
lea r11, [0x1404e3e18]
lea rdx, [0x1404e3da0]
mov r8d, 3
mov r9d, 9
mov qword [rcx + 0x20], r10
mov qword [rcx + 0x28], r11
mov ecx, 0x10100009
call fcn.140002199
mov rcx, rsp
lea r10, [0x1404e3e20]
lea r11, [0x1404e3e2c]
lea rdx, [0x1404e3da0]
mov r8d, 3
mov r9d, 9
mov qword [rcx + 0x20], r10
mov qword [rcx + 0x28], r11
mov ecx, 0x10100009
call fcn.140002199
mov rcx, rsp
lea r10, [0x1404e3e34]
lea r11, [0x1404e3e40]
lea rdx, [0x1404e3da0]
mov r8d, 3
mov r9d, 9
mov qword [rcx + 0x20], r10
mov qword [rcx + 0x28], r11
mov ecx, 0x10100009
call fcn.140002199
mov rcx, rsp
lea r10, [0x1404e3e48]
lea r11, [0x1404e3e54]
lea rdx, [0x1404e3da0]
mov r8d, 3
mov r9d, 9
mov qword [rcx + 0x20], r10
mov qword [rcx + 0x28], r11
mov ecx, 0x10100009
call fcn.140002199
movsxd r14, r14d
imul r14, qword [rbp + 0x10]
add r14, qword [rbp]
movss xmm1, dword [r14 + rdi]
addss xmm1, xmm6
movss dword [r14 + rdi], xmm1
mov ecx, r15d
inc r15
add ecx, 2
add rdi, 4
cmp r15, r13
jb 0x1401909d1
mov r13, qword [rbp + 0x10]
mov r14d, dword [rbp + 8]
mov dword [0x140898e80], ecx
mov eax, dword [0x140898f38]
inc eax
mov dword [0x140898f38], eax
cmp eax, r14d
jle 0x14019094f
movups xmm6, xmmword [rbp + 0x130]
mov rdi, qword [rbp + 0x20]
mov rax, rsp
lea rcx, [0x1408befd0]
mov edx, 0x10000
lea r8, [0x1404e3e8c]
mov r9d, 1
mov qword [rax + 0x20], 0
call fcn.1400025f4
movsxd rcx, dword [0x140898e28]
mov r12d, 1
mov dword [0x140898e80], 1
test rcx, rcx
jle 0x140190e1c
mov qword [rbp + 0x10], rcx
lea r13, [rdi*4]
lea rsi, [rdi + rdi*2]
mov r14d, dword [0x140898df0]
mov eax, 1
mov ebx, 1
cmp r14d, 2
jl 0x140190d8a
mov r8, qword [rbp + 0x1b0]
test r8, r8
je 0x140190caf
xor r9d, r9d
lea edx, [r14 - 1]
mov ecx, 1
xor r11d, r11d
shr edx, 1
je 0x140190c63
mov r10, r8
sub r10, r13
mov qword [rbp + 8], r12
lea rcx, [r10 + rdi*8]
lea r15, [rcx + r12*4]
lea rcx, [r10 + r12*4]
lea r10, [r10 + rsi*4]
lea r10, [r10 + r12*4]
mov r12, r13
imul r12, rax
movss xmm1, dword [r12 + rcx - 4]
movss xmm0, dword [r15 + r11*8 - 4]
comiss xmm0, xmm1
jbe 0x140190c39
mov r12, r13
lea rax, [r9 + r9 + 2]
imul r12, rax
movss xmm1, dword [r12 + rcx - 4]
lea ebx, [r9 + r9 + 2]
movss xmm0, dword [r10 + r11*8 - 4]
comiss xmm0, xmm1
jbe 0x140190c4f
lea rax, [r9 + r9 + 3]
lea ebx, [r9 + r9 + 3]
inc r9
add r11, rdi
cmp r9, rdx
jb 0x140190c07
mov r12, qword [rbp + 8]
lea ecx, [r9 + r9 + 1]
dec r14d
lea r9d, [rcx - 1]
cmp r9d, r14d
jae 0x140190ca4
mov r10, r8
lea r9, [r8 + r12*4]
movsxd r8, ecx
sub r10, r13
imul r8, r13
imul rax, r13
movss xmm0, dword [r8 + r9 - 4]
lea r11, [r10 + r12*4]
comiss xmm0, dword [rax + r11 - 4]
jbe 0x140190ca4
inc ecx
mov dword [rbp + 0x104], ecx
jmp 0x140190d94
mov dword [rbp + 0x104], ebx
jmp 0x140190d94
mov rcx, r13
xor edx, edx
neg rcx
dec r14d
mov dword [rbp + 0x104], 1
movsxd r14, r14d
mov qword [rbp], rsi
mov qword [rbp + 8], r12
lea rbx, [rcx + rdi*8]
lea r15, [rcx + r12*4]
lea rbx, [rbx + r12*4]
mov r12, rax
mov rsi, rdx
mov rcx, rsp
lea r10, [0x1404e3e5c]
lea r11, [0x1404e3e68]
lea rdx, [0x1404e3da0]
mov r8d, 3
mov r9d, 9
mov qword [rcx + 0x20], r10
mov qword [rcx + 0x28], r11
mov ecx, 0x10100009
call fcn.140002199
mov rcx, rsp
lea r10, str.DRCOUNT
lea r11, [0x1404e3e7c]
lea rdx, [0x1404e3da0]
mov r8d, 3
mov r9d, 9
mov qword [rcx + 0x20], r10
mov qword [rcx + 0x28], r11
mov ecx, 0x10100009
call fcn.140002199
mov rcx, r13
imul rcx, r12
movss xmm0, dword [rbx - 4]
comiss xmm0, dword [rcx + r15 - 4]
jbe 0x140190d70
mov ecx, esi
lea r12, [rsi + 2]
add ecx, 2
mov dword [rbp + 0x104], ecx
inc rsi
lea rbx, [rbx + rdi*4]
cmp rsi, r14
jb 0x140190ce1
mov rsi, qword [rbp]
mov r12, qword [rbp + 8]
jmp 0x140190d94
mov dword [rbp + 0x104], 1
movsxd r14, dword [0x140898e3c]
lea rbx, [r12 - 1]
imul rbx, r14
mov edx, 0xc
lea rcx, [rbp + 0x1a0]
lea r8, [rbp + 0x104]
lea r15, [rbx + 1]
call fcn.140005263
imul r12, r14
lea rax, [0x1408bdc40]
sub r12, r15
inc r12
mov r10, rsp
test r12, r12
lea r8, [rbp + 0x1a0]
lea rcx, [rax + rbx + 0x1390]
mov ebx, 0
cmovle r12, rbx
mov r9d, 0xc
mov rdx, r12
mov qword [r10 + 0x20], rbx
call fcn.1400025f4
movsxd r12, dword [0x140898e80]
inc r12
mov dword [0x140898e80], r12d
cmp r12, qword [rbp + 0x10]
jle 0x140190bab
lea rcx, str._MAKEKEY__constructed.__See_Table_0.3_in_Report_Output_File.
mov edx, 0x3d
call fcn.140004ad9
lea rcx, [0x1404e3ed0]
mov edx, 0x3e
call fcn.140004ad9
mov edx, 0x104
lea rsi, [rbp]
mov rcx, rsi
lea r8, [0x1408b7560]
mov r9d, edx
mov eax, 0x495a
mov word [0x1408bab27], ax
mov r12, rsp
mov byte [0x1408bab29], 0x4e
call fcn.140002c52
movsxd rdi, eax
lea rdx, [0x1408bab27]
mov qword [rbp + 0x110], rdi
add rdi, 0xc
mov rax, rdi
mov qword [rbp + 0x108], rsi
mov qword [rbp + 0x118], rdx
mov qword [rbp + 0x120], 0xc
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.140001e38
sub rsp, rax
lea rax, [rsp + 0x30]
mov rsi, rax
lea rcx, [rbp + 0x108]
mov edx, 2
mov r8, rsi
mov r9, rdi
call fcn.1400048cc
lea rcx, [0x1404e3e84]
mov rdx, rsi
mov r8, rdi
call fcn.140001203
mov rax, r12
mov rsp, rax
lea rcx, [0x1404e3e84]
lea rdx, str.MAKEKEYY_constructed_key_follows__not_used_in_this_analysis_:
mov r8d, 0x3e
call fcn.140002e00
mov r9d, dword [0x140898e28]
mov r12d, 1
imul r9d, dword [0x140898e3c]
mov r13d, 1
mov rdi, 0xffffffffffffffff
test r9d, r9d
jle 0x140191265
mov dword [rbp + 0x1b8], r9d
mov eax, 0x223d
jmp 0x140190f3e
mov eax, 0x223d
mov dword [0x140659fc0], 0x3159454b
mov word [0x140659fc4], ax
jmp 0x140190f78
mov al, 0x20
mov byte [0x140659fc0], al
mov byte [0x140659fc1], 0x2b
mov byte [0x140659fc2], al
mov byte [0x140659fc3], al
mov byte [0x140659fc4], al
mov byte [0x140659fc5], al
lea rcx, [0x1408befd0]
mov edx, 0x10000
call fcn.14000425a
lea ebx, [r12 + 0x45]
cmp ebx, eax
jl 0x140190f9b
mov byte [0x140659fc6], 0x22
jmp 0x140190fa2
mov byte [0x140659fc6], 0x2b
mov edx, 6
lea rcx, [rbp + 0x1d0]
lea r8, [0x140659fc0]
mov r9d, edx
mov qword [rcx - 0x10], rsp
call fcn.140002c52
lea rcx, [0x1408befd0]
mov edx, 0x10000
movsxd r14, eax
lea rax, [rbp + 0x1d0]
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], r14
call fcn.14000425a
cmp ebx, eax
lea rdx, [0x1408bdc40]
lea rcx, [0x140659fc6]
cmovl eax, ebx
xor esi, esi
movsxd rax, eax
mov qword [rbp + 0x160], rcx
mov qword [rbp + 0x168], 1
lea r8, [rdi + rax + 1]
test r8, r8
cmovle r8, rsi
lea rsi, [rdx + r13 + 0x138f]
mov qword [rbp + 0x150], rsi
mov qword [rbp + 0x158], r8
lea r15, [r14 + r8 + 1]
mov rax, r15
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.140001e38
sub rsp, rax
lea rax, [rsp + 0x30]
mov r14, rax
lea rcx, [rbp + 0x140]
mov edx, 3
mov r8, r14
mov r9, r15
call fcn.1400048cc
mov rcx, r14
mov rdx, r15
call fcn.140004ad9
mov rax, qword [rbp + 0x1c0]
mov rsp, rax
mov edx, 6
lea rcx, [rbp + 0x1e0]
lea r8, [0x140659fc0]
mov r9d, edx
mov r14, rsp
call fcn.140002c52
lea rcx, [0x1408befd0]
mov edx, 0x10000
movsxd r15, eax
lea r8, [rbp + 0x1e0]
mov qword [r8 - 0x70], r8
mov qword [r8 - 0x68], r15
call fcn.14000425a
cmp ebx, eax
mov qword [rbp + 0x180], rsi
lea rsi, [0x140659fc6]
cmovl eax, ebx
xor edx, edx
movsxd rax, eax
mov qword [rbp + 0x190], rsi
mov qword [rbp + 0x198], 1
lea rcx, [rdi + rax + 1]
test rcx, rcx
cmovle rcx, rdx
mov qword [rbp + 0x188], rcx
lea rsi, [r15 + rcx + 1]
mov rax, rsi
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.140001e38
sub rsp, rax
lea rax, [rsp + 0x30]
mov rbx, rax
lea rcx, [rbp + 0x170]
mov edx, 3
mov r8, rbx
mov r9, rsi
call fcn.1400048cc
lea rcx, [0x1404e3e84]
mov rdx, rbx
mov r8, rsi
call fcn.140002e00
mov rax, r14
mov rsp, rax
add r12d, 0x46
add rdi, 0xffffffffffffffba
add r13, 0x46
cmp r12d, dword [rbp + 0x1b8]
jg 0x140191265
cmp r12d, 1
je 0x140190f39
jmp 0x140190f51
mov edx, 0xc
lea rcx, [rbp + 0x30]
lea rdi, str.W17_43:
lea r8, [rbp + 0x3c]
mov qword [rbp], rdi
mov rsi, rsp
mov qword [rbp + 8], 8
call fcn.140004390
mov edx, 0xc
lea rdi, [rbp + 0x40]
mov rcx, rdi
lea r8, [rbp + 0x30]
mov r9d, edx
call fcn.140002c52
movsxd r12, eax
lea rcx, str._bytes_of_memory_not_available__MAKEKEY_not_performed.
mov qword [rbp + 0x18], r12
add r12, 0x3f
mov rax, r12
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], 0x37
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.140001e38
sub rsp, rax
lea rax, [rsp + 0x30]
mov rdi, rax
lea rcx, [rbp]
mov edx, 3
mov r8, rdi
mov r9, r12
call fcn.1400048cc
mov rcx, rdi
mov rdx, r12
call fcn.140004e7b
mov rax, rsi
mov rsp, rax
mov rax, rsp
lea rcx, [0x1408bdc40]
mov edx, 0x1390
lea r8, str._NOT_ENOUGH_MEMORY_FOR_MAKEKEY
mov r9d, 0x1f
mov qword [rax + 0x20], 0
call fcn.1400025f4
call fcn.140001eb0
mov dword [0x140898f1c], 0
lea rsp, [rbp + 0x1e8]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, [0x1404e3e84]
call fcn.140001163
mov dword [0x140898f1c], 0
lea rcx, [rbp + 0x1b0]
call fcn.140003643
jmp 0x140191251
mov dword [0x140898e80], 1
jmp 0x140190b30
mov dword [0x140898e80], 1
jmp 0x140190917