Function at 0x140016704
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbp
push rbx
sub rsp, 0xd8
mov r13, r9
mov rdi, r8
mov rsi, rdx
mov r12, rcx
mov rax, qword [0x140079508]
mov qword [rsp + 0xc8], rax
call fcn.140006c40
mov rbp, rax
mov r9, qword [rbp + 0x178]
mov qword [rsp + 0xc0], r9
mov rcx, r12
movabs rdx, 0xffffffff
lea rbx, [rbp + 0x998]
xor r15d, r15d
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbx
xor r14d, r14d
lea r8, [rsp + 0x30]
call sub.oranls11.dll_lxmopen
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + 0x38]
test eax, 0x4000000
je 0x1400167a3
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + 1]
test eax, eax
jne 0x1400167b3
movzx eax, byte [rcx]
test eax, eax
je 0x140016871
jmp 0x1400167b3
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx]
test eax, eax
je 0x140016871
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1400167db
mov rax, qword [rbx]
movzx r9d, word [rdx + 0x40]
mov r8, qword [rax]
mov r10, qword [r8 + r9*8]
movzx r11d, byte [rcx]
add r10, qword [rdx]
movzx eax, word [r10 + r11*2]
and eax, 0x40
jmp 0x1400167f2
lea rcx, [rsp + 0x30]
mov rdx, rbx
call sub.oranls11.dll_lxmspax
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
test eax, eax
je 0x140016871
mov rax, rcx
sub rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x58]
jae 0x140016835
mov eax, dword [rdx + 0x38]
test al, 0x10
je 0x14001681c
add rcx, 1
mov qword [rsp + 0x38], rcx
mov eax, 1
jmp 0x140016840
lea rcx, [rsp + 0x30]
mov rdx, rbx
call sub.oranls11.dll_lxmfwdx
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
jmp 0x140016840
add rcx, 1
mov qword [rsp + 0x38], rcx
xor eax, eax
add r14, rax
mov eax, dword [rdx + 0x38]
test eax, 0x4000000
je 0x140016866
movzx eax, byte [rcx + 1]
test eax, eax
jne 0x1400167b3
movzx eax, byte [rcx]
test eax, eax
jne 0x1400167b3
jmp 0x140016871
movzx eax, byte [rcx]
test eax, eax
jne 0x1400167b3
lea rax, [r14 + r12]
mov qword [rsi], rax
mov r8d, dword [rdx + 0x38]
and r8d, 0x4000000
mov rax, r14
je 0x1400168a1
movzx r9d, byte [rcx + 1]
test r9d, r9d
jne 0x1400168ae
movzx r9d, byte [rcx]
test r9d, r9d
je 0x140016a1e
jmp 0x1400168ae
movzx r9d, byte [rcx]
test r9d, r9d
je 0x140016a69
mov r9d, dword [rsp + 0x30]
test r9d, r9d
je 0x1400168dc
movzx r8d, byte [rcx]
cmp r8d, 0x3a
je 0x140017210
mov qword [rsp + 0x70], r13
mov r13, rdi
mov rdi, rsi
mov rsi, rbp
mov rbp, rbx
mov rbx, rax
jmp 0x140016933
test r8d, r8d
jne 0x1400168fd
mov qword [rsp + 0x70], r13
mov r13, rdi
mov rdi, rsi
mov rsi, rbp
mov rbp, rbx
mov rbx, rax
mov eax, r9d
jmp 0x140017196
mov qword [rsp + 0x70], r13
mov r13, rdi
mov rdi, rsi
mov rsi, rbp
mov rbp, rbx
mov rbx, rax
lea rcx, [rsp + 0x30]
mov edx, 0x3a
mov r8, rbp
call sub.oranls11.dll_lxmctex
test eax, eax
jne 0x140017313
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x14001695e
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov r8, qword [rbp]
movzx r10d, word [rdx + 0x40]
mov r9, qword [r8]
mov r11, qword [r9 + r10*8]
add r11, qword [rdx]
movzx r8d, byte [rcx]
movzx eax, word [r11 + r8*2]
and eax, 0x40
jmp 0x140016975
lea rcx, [rsp + 0x30]
mov rdx, rbp
call sub.oranls11.dll_lxmspax
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
test eax, eax
je 0x140016994
mov r9d, r15d
mov r8d, 1
cmp r15d, 0
cmove r15d, r8d
cmp r9d, 0
cmove rbx, r14
jmp 0x140016997
xor r15d, r15d
mov r8, rcx
sub r8, qword [rsp + 0x48]
cmp r8, qword [rsp + 0x58]
jae 0x1400169dc
mov r8d, dword [rdx + 0x38]
test r8d, 0x10
je 0x1400169c3
add rcx, 1
mov qword [rsp + 0x38], rcx
mov eax, 1
jmp 0x1400169e7
lea rcx, [rsp + 0x30]
mov rdx, rbp
call sub.oranls11.dll_lxmfwdx
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
jmp 0x1400169e7
add rcx, 1
mov qword [rsp + 0x38], rcx
xor eax, eax
mov r8d, dword [rdx + 0x38]
add r14, rax
test r8d, 0x4000000
je 0x140016a48
movzx r8d, byte [rcx + 1]
test r8d, r8d
jne 0x140016a37
movzx r8d, byte [rcx]
test r8d, r8d
jne 0x140016a37
mov rax, rbx
mov rbx, rbp
mov rbp, rsi
mov rsi, rdi
mov rdi, r13
mov r13, qword [rsp + 0x70]
movzx r8d, byte [rcx + 1]
test r8d, r8d
jne 0x140016aac
movzx r8d, byte [rcx]
test r8d, r8d
je 0x140016a72
jmp 0x140016aac
mov eax, dword [rsp + 0x30]
test eax, eax
jne 0x140017187
jmp 0x140016911
movzx r8d, byte [rcx]
test r8d, r8d
jne 0x14001717f
mov rax, rbx
mov rbx, rbp
mov rbp, rsi
mov rsi, rdi
mov rdi, r13
mov r13, qword [rsp + 0x70]
movzx r8d, byte [rcx]
test r8d, r8d
jne 0x140016aac
mov ecx, 0x400
lea rdx, str.parse_line_missing_:_n
xor r8d, r8d
call fcn.14001ef5c
mov rcx, qword [rsp + 0xc8]
call fcn.14005fbf0
mov eax, 0xffffffff
add rsp, 0xd8
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
test r15d, r15d
je 0x140016b00
mov byte [rax + r12], 0
mov rax, rcx
sub rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x58]
jae 0x140016af0
mov eax, dword [rdx + 0x38]
test al, 0x10
je 0x140016adc
add rcx, 1
mov qword [rsp + 0x38], rcx
mov eax, 1
jmp 0x140016afb
lea rcx, [rsp + 0x30]
mov rdx, rbx
call sub.oranls11.dll_lxmfwdx
mov rdx, qword [rsp + 0x40]
jmp 0x140016afb
add rcx, 1
mov qword [rsp + 0x38], rcx
xor eax, eax
add r14, rax
jmp 0x140016b1d
mov r8d, 0x40000000
lea rcx, [rsp + 0x30]
xor edx, edx
mov r9, rbx
call sub.oranls11.dll_lxoWriChar
mov rdx, qword [rsp + 0x40]
add r14, rax
mov eax, dword [rsp + 0x30]
test eax, eax
jne 0x140016b84
mov eax, dword [rdx + 0x38]
test eax, 0x4000000
jne 0x140016b93
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x140016b4c
mov eax, dword [rsp + 0x50]
mov ecx, 1
xor r8d, r8d
cmp eax, 0
cmove r8d, ecx
jmp 0x140016b7f
mov rax, qword [rsp + 0x38]
movzx r11d, byte [rax]
mov rcx, qword [rbx]
movzx r9d, word [rdx + 0x40]
mov r8, qword [rcx]
mov r10, qword [r8 + r9*8]
mov r15, qword [rdx]
lea rax, [r10 + r11*2]
movzx eax, word [r15 + rax]
xor r8d, r8d
and eax, 3
mov eax, 1
cmove r8d, eax
test r8d, r8d
je 0x140016b93
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx]
cmp eax, 0x3a
je 0x140016bb3
jmp 0x140016c0d
lea rcx, [rsp + 0x30]
mov edx, 0x3a
mov r8, rbx
call sub.oranls11.dll_lxmctex
mov rcx, qword [rsp + 0x38]
test eax, eax
je 0x140016c08
mov rdx, qword [rsp + 0x40]
mov rax, rcx
sub rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x58]
jae 0x140016bf2
mov eax, dword [rdx + 0x38]
test al, 0x10
je 0x140016bd9
add rcx, 1
mov qword [rsp + 0x38], rcx
mov eax, 1
jmp 0x140016bfd
lea rcx, [rsp + 0x30]
mov rdx, rbx
call sub.oranls11.dll_lxmfwdx
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
jmp 0x140016bfd
add rcx, 1
mov qword [rsp + 0x38], rcx
xor eax, eax
add r14, rax
mov r15d, 1
jmp 0x140016c10
mov rdx, qword [rsp + 0x40]
xor r15d, r15d
mov eax, dword [rdx + 0x38]
test eax, 0x4000000
je 0x140016c33
movzx r8d, byte [rcx + 1]
test r8d, r8d
jne 0x140016c40
movzx r8d, byte [rcx]
test r8d, r8d
je 0x140016d08
jmp 0x140016c40
movzx r8d, byte [rcx]
test r8d, r8d
je 0x140016d08
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x140016c68
mov rax, qword [rbx]
movzx r9d, word [rdx + 0x40]
mov r8, qword [rax]
mov r10, qword [r8 + r9*8]
movzx r11d, byte [rcx]
add r10, qword [rdx]
movzx eax, word [r10 + r11*2]
and eax, 0x40
jmp 0x140016c7f
lea rcx, [rsp + 0x30]
mov rdx, rbx
call sub.oranls11.dll_lxmspax
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
test eax, eax
je 0x14001730b
mov rax, rcx
sub rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x58]
jae 0x140016cc6
mov eax, dword [rdx + 0x38]
test al, 0x10
je 0x140016cad
add rcx, 1
mov qword [rsp + 0x38], rcx
mov eax, 1
jmp 0x140016cd1
lea rcx, [rsp + 0x30]
mov rdx, rbx
call sub.oranls11.dll_lxmfwdx
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
jmp 0x140016cd1
add rcx, 1
mov qword [rsp + 0x38], rcx
xor eax, eax
add r14, rax
mov eax, dword [rdx + 0x38]
test eax, 0x4000000
je 0x140016cfb
movzx r8d, byte [rcx + 1]
test r8d, r8d
jne 0x140016c40
movzx r8d, byte [rcx]
test r8d, r8d
jne 0x140016c40
jmp 0x140016d08
movzx r8d, byte [rcx]
test r8d, r8d
jne 0x140016c40
test eax, 0x4000000
je 0x140016d20
movzx eax, byte [rcx + 1]
test eax, eax
jne 0x140016d73
movzx eax, byte [rcx]
test eax, eax
je 0x140016d27
jmp 0x140016d73
movzx eax, byte [rcx]
test eax, eax
jne 0x140016d73
lea rax, [0x140060dac]
mov qword [rdi], rax
mov dword [r13], 0
mov ecx, 0x400
lea rdx, str.parse_line_missing_value_n
xor r8d, r8d
call fcn.14001ef5c
mov rcx, qword [rsp + 0xc8]
call fcn.14005fbf0
mov eax, 0x41a
add rsp, 0xd8
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov r9, qword [rsp + 0xc0]
movabs rdx, 0xffffffff
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0x70]
add r12, r14
mov rcx, r12
call sub.oranls11.dll_lxmopen
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rdx + 0x38]
test ecx, 0x4000000
je 0x140016de8
movzx ecx, byte [rax + 1]
test ecx, ecx
jne 0x140016dd7
movzx ecx, byte [rax]
test ecx, ecx
je 0x140016df3
mov ecx, dword [rsp + 0x30]
test ecx, ecx
jne 0x140017122
jmp 0x140017130
mov ecx, dword [rsp + 0x30]
test ecx, ecx
jne 0x140017122
jmp 0x140017130
movzx ecx, byte [rax]
test ecx, ecx
jne 0x1400170cc
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x74]
neg rdx
add rdx, rax
mov dword [r13], edx
test ecx, ecx
je 0x140016e53
mov edx, dword [rsp + 0x90]
test edx, edx
je 0x140016e53
mov rdx, qword [rsp + 0x80]
xor r8d, r8d
mov dword [rsp + 0x90], r8d
movzx ecx, byte [rdx + 0x63]
mov byte [rax], cl
mov r9, qword [rsp + 0x78]
lea rax, [r9 + 1]
mov qword [rsp + 0x78], rax
mov byte [r9 + 1], r8b
mov rax, qword [rsp + 0x78]
add rax, 1
jmp 0x140016e92
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rdx + 0x38]
test ecx, 0x4000000
je 0x140016e86
xor edx, edx
mov byte [rax], dl
mov rcx, qword [rsp + 0x78]
lea rax, [rcx + 1]
mov qword [rsp + 0x78], rax
mov byte [rcx + 1], dl
mov rax, qword [rsp + 0x78]
add rax, 1
jmp 0x140016e92
mov byte [rax], 0
mov rax, qword [rsp + 0x78]
add rax, 1
mov qword [rdi], r12
test r15d, r15d
je 0x1400170a9
mov qword [rsp + 0x78], rax
mov rcx, rbp
mov rdx, r12
xor r8d, r8d
call fcn.14000a3ec
mov dword [r13], 0
mov r8, r12
mov rcx, r12
xor edx, edx
cmp r12, rax
jae 0x140016fb6
lea r9, [0x140000000]
xor edx, edx
movzx r10d, byte [rdx + rcx]
cmp r10d, 0x3d
je 0x140016f02
test r10d, 0x80
jne 0x140017280
and r10d, 0x7f
movzx r11d, byte [r9 + r10 + 0x78500]
cmp r11d, 0x3f
jg 0x140017280
add rdx, 1
cmp rdx, 3
jl 0x140016ed3
movzx edx, byte [rcx]
and edx, 0x7f
movzx r14d, byte [r9 + rdx + 0x78500]
shl r14d, 2
mov byte [r8], r14b
movzx r10d, byte [rcx + 1]
and r10d, 0x7f
movzx edx, byte [r9 + r10 + 0x78500]
mov r11d, edx
shr r11d, 4
or r14d, r11d
mov byte [r8], r14b
shl edx, 4
mov byte [r8 + 1], dl
movzx r10d, byte [rcx + 2]
cmp r10d, 0x3d
je 0x140017270
and r10d, 0x7f
movzx r14d, byte [r9 + r10 + 0x78500]
mov r11d, r14d
shr r11d, 2
or edx, r11d
mov byte [r8 + 1], dl
shl r14d, 6
mov byte [r8 + 2], r14b
movzx edx, byte [rcx + 3]
cmp edx, 0x3d
je 0x140017260
and edx, 0x7f
movzx r10d, byte [r9 + rdx + 0x78500]
or r14d, r10d
mov byte [r8 + 2], r14b
mov edx, dword [r13]
add r8, 3
add rcx, 4
add edx, 3
mov dword [r13], edx
cmp rcx, rax
jb 0x140016ed1
movsxd rax, edx
mov byte [rax + r12], 0
mov edx, dword [rbp + 0x198]
test edx, edx
je 0x1400170a9
test r12, r12
je 0x1400170a9
mov rcx, qword [rsi]
xor eax, eax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rax
call fcn.140015a7c
test eax, eax
je 0x1400170a9
mov rax, qword [rsp + 0xc0]
mov edx, dword [rax + 0x38]
test edx, 0x4000000
jne 0x14001702a
mov rcx, r12
xor eax, eax
movzx edx, byte [rcx + rax]
test edx, edx
je 0x140017028
movzx edx, byte [rcx + rax + 1]
add rax, 2
test edx, edx
jne 0x14001700f
add rax, 0xffffffffffffffff
jmp 0x140017032
mov rcx, r12
call sub.oranls11.dll_lxsulen
lea rdi, [rsp + 0xb0]
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0xb8]
mov rcx, rbp
mov rdx, r12
mov r8, rax
call fcn.14000ca28
test eax, eax
jne 0x140017226
mov r10, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
mov rcx, r12
mov r9, rbx
mov byte [rdi + r10], 0
mov rdx, qword [rsp + 0xb8]
call sub.oranls11.dll_lxscop
mov rdx, qword [rsp + 0xb8]
mov rcx, rbp
call fcn.14000adf4
mov rax, qword [rsp + 0xb0]
mov dword [r13], eax
mov rcx, qword [rsp + 0xc8]
call fcn.14005fbf0
xor eax, eax
add rsp, 0xd8
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rsp + 0x30]
test ecx, ecx
jne 0x140017122
mov ecx, dword [rsp + 0x34]
test ecx, ecx
je 0x1400170f2
mov ecx, dword [rsp + 0x50]
mov r8d, 1
xor r9d, r9d
cmp ecx, 0
cmove r9d, r8d
jmp 0x14001711d
mov rcx, qword [rbx]
movzx r9d, word [rdx + 0x40]
mov r8, qword [rcx]
mov r10, qword [r8 + r9*8]
movzx r11d, byte [rax]
mov ecx, 1
add r10, qword [rdx]
movzx r14d, word [r10 + r11*2]
xor r9d, r9d
and r14d, 3
cmove r9d, ecx
test r9d, r9d
je 0x140017130
movzx ecx, byte [rax]
cmp ecx, 1
je 0x1400172ba
jmp 0x14001714a
lea rcx, [rsp + 0x30]
mov edx, 1
mov r8, rbx
call sub.oranls11.dll_lxmctex
test eax, eax
jne 0x1400172ff
mov dword [rsp + 0x20], 0x40800000
mov qword [rsp + 0x28], rbx
lea rcx, [rsp + 0x70]
movabs rdx, 0xffffffff
lea r8, [rsp + 0x30]
movabs r9, 0xffffffff
call sub.oranls11.dll_lxoCpChar
jmp 0x140016da2
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x140017196
movzx r8d, byte [rcx]
cmp r8d, 0x3a
je 0x1400171fc
jmp 0x14001692f
mov r8d, dword [rsp + 0x34]
test r8d, r8d
je 0x1400171b8
mov r8d, dword [rsp + 0x50]
mov r10d, 1
xor r11d, r11d
cmp r8d, 0
cmove r11d, r10d
jmp 0x1400171e5
mov r8, qword [rbp]
movzx r11d, word [rdx + 0x40]
mov r10, qword [r8]
mov r8, qword [r10 + r11*8]
movzx r10d, byte [rcx]
xor r11d, r11d
add r8, qword [rdx]
movzx r8d, word [r8 + r10*2]
and r8d, 3
mov r8d, 1
cmove r11d, r8d
test r11d, r11d
je 0x140016911
movzx r8d, byte [rcx]
cmp r8d, 0x3a
jne 0x14001692f
mov rax, rbx
mov rbx, rbp
mov rbp, rsi
mov rsi, rdi
mov rdi, r13
mov r13, qword [rsp + 0x70]
mov r8d, dword [rdx + 0x38]
test r8d, 0x4000000
jne 0x140016a1e
jmp 0x140016a69
mov ecx, 0x7fffffff
lea rdx, str.Cannot_Convert_B64_Native_to_UTF8_.._n
xor r8d, r8d
call fcn.14001ef5c
mov rcx, qword [rsp + 0xc8]
call fcn.14005fbf0
mov eax, 0xffffffff
add rsp, 0xd8
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [r13]
add edx, 2
mov dword [r13], edx
jmp 0x140016fb6
mov edx, dword [r13]
add edx, 1
mov dword [r13], edx
jmp 0x140016fb6
mov ecx, 0x7fffffff
lea rdx, str.invalid_base_64_encoding_text_n
xor r8d, r8d
call fcn.14001ef5c
mov rcx, qword [rsp + 0xc8]
call fcn.14005fbf0
mov eax, 0xffffffff
add rsp, 0xd8
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rax
sub rcx, qword [rsp + 0x48]
cmp rcx, qword [rsp + 0x58]
jb 0x1400172d7
add rax, 1
mov qword [rsp + 0x38], rax
jmp 0x140016dac
mov ecx, dword [rdx + 0x38]
test cl, 0x10
je 0x1400172ed
add rax, 1
mov qword [rsp + 0x38], rax
jmp 0x140016dac
lea rcx, [rsp + 0x30]
mov rdx, rbx
call sub.oranls11.dll_lxmfwdx
jmp 0x140016da2
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
jmp 0x1400172ba
mov eax, dword [rdx + 0x38]
jmp 0x140016d08
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rax, rbx
mov rbx, rbp
mov rbp, rsi
mov rsi, rdi
mov rdi, r13
mov r13, qword [rsp + 0x70]
jmp 0x140017210