Function at 0x180015d00
Capabilities:
Encode data using base64
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x180080a28]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov r11, qword [rbp + 0x290]
mov r10, r9
mov r14, qword [rbp + 0x10]
mov r15d, ecx
mov ebx, dword [rsp + 0x60]
mov esi, dword [rsp + 0x60]
mov edi, dword [rsp + 0x60]
imul eax, ecx, 0x3c9
mov qword [rbp - 0x78], r9
mov qword [rsp + 0x70], r8
mov qword [rbp - 0x58], rdx
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x78], eax
cmp ecx, eax
mov eax, dword [rsp + 0x60]
mov dword [rbp - 0x60], eax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x68], r11
mov qword [rbp - 0x70], r14
ja 0x180016407
mov r9, qword [rbp + 0x10]
mov r12, qword [rbp + 0x10]
mov r13, qword [rbp + 0x10]
mov qword [rbp - 0x50], r9
nop word [rax + rax]
cmp r15d, 0x2392
ja 0x18001606a
je 0x18001604a
cmp r15d, 0xe2
ja 0x180015f82
je 0x180015f5e
mov eax, r15d
sub eax, 0x45
je 0x180015f4d
sub eax, 0x3e
je 0x180015e8f
sub eax, 0x1a
je 0x180015e21
cmp eax, 0x31
jne 0x180016218
xor edx, edx
mov dword [rsp + 0x60], 0
lea r9d, [rax + 0x7f]
lea rcx, [rsp + 0x60]
call fcn.180028c40
mov r9, qword [rsp + 0x70]
lea rcx, [rsp + 0x60]
xor r8d, r8d
mov dword [rsp + 0x60], eax
mov edx, 0xbc
call fcn.180022da0
jmp 0x18001620b
test byte [r11], 1
jne 0x180016218
cmp dword [r8 + 8], 1
jne 0x180016218
mov ecx, 0xc4
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xc4
je 0x180015e7a
cmp eax, 0x28
jne 0x180015e7f
mov eax, esi
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.180072740
mov rbx, qword [rsp + 0x370]
add rsp, 0x330
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov esi, 0xfffffffd
add ecx, 0x28
cmp ecx, 0x114
jb 0x180015e40
jmp 0x180016214
test rdx, rdx
jne 0x180015ef0
xor ecx, ecx
lea rax, str._sjava.exe
mov qword [rsp + 0x58], rcx
lea rdx, [0x180077149]
mov qword [rsp + 0x50], rcx
mov r9d, SHSetInstanceExplorer
mov qword [rsp + 0x48], rcx
xor r8d, r8d
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x60], ecx
call fcn.18002b8a0
mov r8, qword [rsp + 0x70]
mov r10, qword [rbp - 0x78]
mov ecx, dword [rsp + 0x68]
test r10, r10
jne 0x180016218
xor ecx, ecx
lea rax, str.pref.kagawa.jp
mov qword [rsp + 0x58], rcx
lea rdx, [0x180077149]
mov qword [rsp + 0x50], rcx
mov r9d, SHSetInstanceExplorer
mov qword [rsp + 0x48], rcx
xor r8d, r8d
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x60], ecx
call fcn.18002b8a0
jmp 0x18001620b
mov rcx, r8
call qword [0x180083220]
mov dword [rbp - 0x60], eax
jmp 0x18001620b
mov rcx, qword [r8 + 0x10]
movabs rax, 0xaaaaaaaaaaaaaaab
add rcx, 2
mul rcx
mov r12, rdx
shr r12, 1
shl r12, 2
jmp 0x180016214
cmp r15d, 0x10e
je 0x180016380
cmp r15d, 0xfa2
je 0x18001602c
cmp r15d, 0x1dae
jne 0x180016218
test r11, r11
jne 0x180016002
xor ecx, ecx
lea rax, str._jLK_jXK_j
mov qword [rsp + 0x58], rcx
lea rdx, [0x180077149]
mov qword [rsp + 0x50], rcx
mov r9d, SHSetInstanceExplorer
mov qword [rsp + 0x48], rcx
xor r8d, r8d
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x60], ecx
call fcn.18002b8a0
mov r8, qword [rsp + 0x70]
mov eax, dword [r8]
xor r9d, r9d
lea r8, [rsp + 0x60]
mov dword [rsp + 0x60], eax
xor ecx, ecx
lea edx, [r9 + 0x3a]
call fcn.180022220
mov rdi, rax
test eax, eax
jne 0x180015e50
jmp 0x18001620b
mov eax, dword [rbp - 0x60]
cmp eax, dword [r11]
jbe 0x180016218
nop dword [rax + rax]
mov eax, 6
jmp 0x180015e50
lea r8, [rbp - 0x20]
xor edx, edx
mov ecx, 0x80
call fcn.180015860
mov rbx, rax
test eax, eax
jne 0x180015e50
jmp 0x18001620b
cmp r15d, 0x6586
ja 0x180016251
je 0x18001623a
cmp r15d, 0x2eac
je 0x1800161d7
cmp r15d, 0x3334
je 0x1800161b0
cmp r15d, 0x3ad9
je 0x180016115
cmp r15d, 0x4687
jne 0x180016218
lea r8, [rbp - 0x38]
xor edx, edx
mov ecx, 0x80
call fcn.180015860
mov ebx, eax
test eax, eax
je 0x18001620b
mov edx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x60]
mov r12, qword [rbp - 0x58]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
mov r13d, dword [rsp + 0x60]
mov dword [rsp + 0x78], eax
mov qword [rbp - 0x40], r12
mov dword [rsp + 0x6c], edx
mov r15d, 0xa5
mov r8, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x68]
mov r14, qword [rbp - 0x70]
inc r15d
mov r9d, dword [rsp + 0x78]
mov r10d, dword [rsp + 0x60]
mov r11, qword [rbp - 0x68]
jmp 0x18001643b
movsxd rax, dword [r8]
lea rdx, [0x180000000]
shl rax, 7
mov eax, dword [rax + rdx + 0x8219c]
cmp dword [r10], eax
jae 0x180016163
mov ecx, 0x8c
mov eax, ecx
sub eax, 0x8c
je 0x180016148
cmp eax, 1
je 0x180016040
jmp 0x180016159
movsxd rax, dword [r8]
shl rax, 7
mov eax, dword [rax + rdx + 0x8219c]
mov dword [r10], eax
inc ecx
cmp ecx, 0x8e
jb 0x180016134
movsxd rax, dword [r8]
lea rcx, [rbp + 0x10]
shl rax, 7
call qword [rax + rdx + 0x821e8]
mov edi, eax
test eax, eax
je 0x18001620b
mov ecx, 0x87
nop dword [rax]
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x86
je case.0x180016476.70
cmp eax, 1
jne 0x1800161a4
mov esi, edi
dec ecx
cmp ecx, 0x85
ja 0x180016190
jmp 0x18001620b
xor r8d, r8d
mov rdx, r12
mov rcx, r11
call fcn.180055740
mov r8, qword [rsp + 0x70]
mov qword [rbp - 0x50], r8
cmp qword [r8 + 0x18], 0x10
jb 0x180016210
mov rax, qword [r8]
mov qword [rbp - 0x50], rax
jmp 0x180016210
mov eax, 5
nop dword [rax]
cmp eax, 5
je 0x1800163c9
add eax, 0x14
cmp eax, 0x14
jbe 0x1800161e0
lea r8, [rbp - 8]
xor edx, edx
mov ecx, 0x80
call fcn.180015860
mov ebx, eax
test eax, eax
jne 0x1800163d3
mov r8, qword [rsp + 0x70]
mov r10, qword [rbp - 0x78]
mov ecx, dword [rsp + 0x68]
mov r11, qword [rbp - 0x68]
imul eax, ecx, 0x39
add r15d, eax
cmp r15d, dword [rsp + 0x78]
ja 0x18001640f
mov r9, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
jmp 0x180015da0
cmp qword [r11 + 0x18], 0x10
mov r14, r11
mov qword [rbp - 0x70], r11
jb 0x180016218
mov r14, qword [r11]
mov qword [rbp - 0x70], r14
jmp 0x180016218
cmp r15d, 0x697c
je 0x1800161f1
cmp r15d, 0x97d8
je 0x18001635f
cmp r15d, 0xca2a
jne 0x180016218
xor eax, eax
mov qword [rbp - 0x48], rax
test r13, r13
je 0x180016218
lea rcx, [r13 - 1]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
inc rdx
lea rax, [rdx + rdx*2]
mov qword [rbp - 0x48], rax
nop word [rax + rax]
mov r8d, 0x87
mov eax, r8d
sub eax, 0x87
je 0x180016319
sub eax, 0x33
je 0x180016303
sub eax, 0x33
je 0x1800162c5
cmp eax, 0x33
jne 0x180016332
add r9, 3
jmp 0x180016332
movzx ecx, byte [r9 + 1]
movzx eax, byte [r9 + 2]
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x180083d68]
movzx ecx, byte [rcx + rax]
mov byte [r14], cl
movzx ecx, byte [r9 + 2]
mov rax, qword [0x180083d68]
and ecx, 0x3f
movzx ecx, byte [rcx + rax]
mov byte [r14 + 1], cl
add r14, 2
jmp 0x180016332
movzx ecx, byte [r9]
movzx eax, byte [r9 + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
jmp 0x180016321
movzx ecx, byte [r9]
shr rcx, 2
mov rax, qword [0x180083d68]
movzx ecx, byte [rcx + rax]
mov byte [r14], cl
inc r14
add r8d, 0x33
cmp r8d, 0x153
jb 0x1800162a6
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x70], r14
sub rdx, 1
jne 0x1800162a0
mov r8, qword [rsp + 0x70]
jmp 0x180016214
movabs rax, 0xaaaaaaaaaaaaaaab
mul qword [r8 + 0x10]
shr rdx, 1
lea r13, [rdx + rdx*2]
jmp 0x180016218
mov ebx, 0x61
mov eax, ebx
sub eax, 0x60
je 0x1800163a1
cmp eax, 1
jne 0x1800163c0
imul ecx, dword [r8 + 0xc], 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1800163bb
mov eax, dword [r8 + 8]
lea rcx, [rsp + 0x60]
mov r8, qword [r8]
mov edx, 0xc9
mov dword [rsp + 0x60], eax
call fcn.180010100
mov r8, qword [rsp + 0x70]
dec ebx
cmp ebx, 0x5f
ja 0x180016385
jmp 0x180016380
mov eax, 1
jmp 0x180015e50
mov eax, dword [rsp + 0x60]
mov r15d, 0xa3
mov r12, qword [rbp - 0x58]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x60]
mov edx, dword [rsp + 0x6c]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
mov r13d, dword [rsp + 0x60]
mov dword [rsp + 0x78], eax
mov qword [rbp - 0x40], r12
jmp 0x1800160f2
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x50], rax
mov edx, dword [rsp + 0x60]
mov r15d, ecx
mov r10d, dword [rsp + 0x60]
mov r12, qword [rbp - 0x58]
mov dword [rsp + 0x60], r10d
mov r9d, dword [rsp + 0x60]
mov r13d, dword [rsp + 0x60]
mov dword [rsp + 0x78], r9d
mov qword [rbp - 0x40], r12
mov dword [rsp + 0x6c], edx
lea eax, [rcx + 0x12]
cmp r15d, eax
jae case.0x180016476.70
lea eax, [r15 - 0x45]
cmp eax, 0x9d
ja case.default.0x180016476
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x16a50]
mov ecx, dword [rcx + rax*4 + 0x16a08]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
xor ebx, ebx
mov r15d, 0xa2
jmp 0x1800160f2
lea rdx, [rbp - 8]
mov ecx, 0x32
call fcn.18003ef60
mov edx, dword [rsp + 0x6c]
mov r15d, 0xa3
jmp 0x1800160f2
movsxd rax, dword [r8]
lea r9, [0x180000000]
mov rcx, qword [rbp - 0x78]
shl rax, 7
mov eax, dword [rax + r9 + 0x8219c]
mov dword [rcx], eax
nop
mov r14d, 0xd2
mov eax, r14d
sub eax, 0xd1
je 0x1800164f3
cmp eax, 1
jne 0x180016523
mov r9, r11
lea rcx, [rbp + 0x20]
mov edx, eax
mov r8d, 0x200
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov r12, rax
mov qword [rbp - 0x40], rax
jmp 0x180016517
movsxd rax, dword [r8]
lea rdx, [rbp + 0x20]
shl rax, 7
lea rcx, [rbp + 0x10]
mov r8d, r12d
call qword [rax + r9 + 0x821f0]
mov edi, eax
test eax, eax
jne 0x180015e50
mov r8, qword [rsp + 0x70]
lea r9, [0x180000000]
mov r11, qword [rbp - 0x68]
dec r14d
cmp r14d, 0xd0
ja 0x1800164c6
cmp r12, 0x200
je 0x1800164c0
mov edx, dword [rsp + 0x6c]
jmp case.0x180016476.71
mov ecx, 0xeb
nop word [rax + rax]
mov eax, ecx
sub eax, 0xea
je case.0x180016476.70
cmp eax, 1
jne 0x180016564
mov esi, edi
dec ecx
cmp ecx, 0xe9
ja 0x180016550
mov edx, dword [r8 + 8]
mov dword [rsp + 0x6c], edx
jmp case.0x180016476.71
lea rdx, [rbp - 0x20]
mov ecx, 0x32
call fcn.18003ef60
mov r8, qword [rsp + 0x70]
mov edx, dword [rsp + 0x6c]
jmp case.0x180016476.71
mov r11, qword [rbp - 0x68]
mov r14d, 0x44
jmp 0x1800165b4
mov r11, qword [rbp - 0x68]
mov eax, r14d
sub eax, 0x44
je 0x18001667e
sub eax, 0x5a
je 0x180016637
sub eax, 0x5a
je 0x180016616
cmp eax, 0x5a
jne 0x1800166d4
lea rax, [rbp - 8]
mov r9d, 0x8d
lea r8, [rbp - 8]
mov qword [rsp + 0x20], rax
xor edx, edx
lea rcx, [rbp - 0x38]
call fcn.180052330
mov ebx, eax
test eax, eax
jne 0x180016784
lea r9, [rbp - 8]
mov edx, 0x10d
lea r8, [rbp - 0x38]
lea rcx, [rbp - 0x20]
call fcn.180046c90
jmp 0x1800166ca
mov eax, dword [r11]
lea r9, [rbp - 0x80]
lea r8, [rbp - 8]
mov dword [rbp - 0x80], eax
lea rdx, [rbp - 8]
mov ecx, 0xd7
call fcn.180042740
jmp 0x1800166ca
mov r9d, 0x4a
lea r8, [rbp - 8]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x20]
call fcn.180026790
mov ebx, eax
test eax, eax
jne 0x180016784
mov r15, qword [rsp + 0x70]
lea r8, [rbp - 0x38]
mov r9, r15
lea rcx, [rbp - 0x38]
mov edx, 0x10d
call fcn.180046c90
mov ebx, eax
test eax, eax
jne 0x180016784
jmp 0x1800166d9
lea r8, [rbp - 0x20]
mov ecx, 0x12b
lea rdx, [rbp - 0x38]
call fcn.180063950
mov ebx, eax
test eax, eax
jne 0x180016784
mov rcx, qword [rbp - 0x68]
lea r9d, [rbx + 0x20]
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x20]
mov eax, dword [rcx]
xor ecx, ecx
dec eax
mov dword [rbp - 0x80], eax
lea rax, [rbp - 8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.18000a770
mov ebx, eax
test eax, eax
jne 0x180016784
mov r15, qword [rsp + 0x70]
add r14d, 0x5a
cmp r14d, 0x1ac
jb 0x1800165b0
xor r9d, r9d
lea rdx, [rbp - 0x38]
mov r8d, 0x105
lea rcx, [rbp - 0x20]
call fcn.180030eb0
test eax, eax
jne 0x1800165a0
nop dword [rax + rax]
mov rax, qword [rbp - 0x68]
lea r8, [rbp - 0x80]
mov r9d, 0x20
lea rdx, [rbp - 0x20]
xor ecx, ecx
mov eax, dword [rax]
mov dword [rbp - 0x80], eax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.18000a770
mov ebx, eax
test eax, eax
jne 0x180016784
xor r9d, r9d
lea rcx, [rbp - 0x38]
mov r8d, 0x105
mov rdx, r15
call fcn.180030eb0
cmp eax, 1
jne 0x180016983
mov r9d, SHSetFolderPathA
mov dword [rbp - 0x80], eax
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x20]
call fcn.18004b5b0
mov ebx, eax
test eax, eax
je 0x180016710
mov edx, dword [rsp + 0x6c]
mov r15d, 0xa2
jmp 0x1800160f2
movsxd rax, dword [r8]
lea rcx, [rbp + 0x10]
mov rdx, qword [rbp - 0x58]
lea r8, [0x180000000]
shl rax, 7
call qword [rax + r8 + 0x821f8]
xor r14d, r14d
mov qword [rbp - 0x80], 0x200
mov qword [rsp + 0x48], r14
mov edi, eax
lea rax, [rbp + 0x20]
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x38], r14
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rsp + 0x28], r14
xor ecx, ecx
mov dword [rsp + 0x20], 0x1e8
call fcn.180033a80
mov edx, dword [rsp + 0x6c]
jmp 0x1800160f2
mov r14, qword [rbp - 0x58]
lea rcx, [rbp - 0x20]
mov rdx, r14
mov r8d, 0xa3
call fcn.180045070
mov edx, dword [rsp + 0x6c]
mov dword [r14 + 8], edx
jmp 0x1800160f2
lea rdx, [rbp - 0x38]
jmp 0x18001657f
mov dword [r8 + 8], 0
lea r9, [rbp - 0x80]
xor r8d, r8d
mov dword [rbp - 0x80], 2
mov edx, 0xa0
lea rcx, [rbp - 0x38]
call fcn.18005d5c0
mov r8, qword [rsp + 0x70]
mov edx, dword [rsp + 0x6c]
jmp case.0x180016476.71
mov r11, qword [rbp - 0x48]
cmp r11, qword [r8 + 0x10]
jae case.0x180016476.71
mov r12, qword [rbp - 0x50]
mov edx, 0xea
cmp edx, 0xea
je 0x18001693c
cmp edx, 0x2af6
je 0x180016937
cmp edx, 0x5502
je 0x18001691d
cmp edx, 0x7f0e
je 0x1800168b8
cmp edx, 0xa91a
jne 0x180016956
mov byte [r14], 0x3d
inc r14
jmp 0x180016956
mov ecx, r9d
mov eax, r13d
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
mov rax, qword [0x180083d68]
movzx ecx, byte [rcx + rax]
lea rax, [r11 + 1]
mov byte [r14], cl
cmp rax, qword [r8 + 0x10]
jae 0x18001690b
mov ecx, r13d
mov eax, r10d
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x180083d68]
movzx r8d, byte [rcx + rax]
mov byte [r14 + 1], r8b
add r14, 2
mov r8, qword [rsp + 0x70]
jmp 0x180016956
mov r8b, 0x3d
mov byte [r14 + 1], r8b
add r14, 2
mov r8, qword [rsp + 0x70]
jmp 0x180016956
mov rax, qword [0x180083d68]
mov ecx, r9d
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [r14], cl
inc r14
jmp 0x180016956
xor r10d, r10d
jmp 0x180016956
movzx r9d, byte [r12]
lea rax, [r11 + 1]
cmp rax, qword [r8 + 0x10]
jae 0x180016953
movzx r13d, byte [r12 + 1]
jmp 0x180016956
xor r13d, r13d
add edx, 0x2a0c
cmp edx, 0xd23c
jbe 0x180016874
mov r12, qword [rbp - 0x40]
mov edx, dword [rsp + 0x6c]
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x78], r9d
mov qword [rbp - 0x70], r14
jmp case.0x180016476.71
mov r8, qword [rsp + 0x70]
mov edx, dword [rsp + 0x6c]
mov r15d, 0xa0
mov dword [r8 + 8], edx
jmp case.0x180016476.71
mov esi, ebx
jmp case.0x180016476.71
mov eax, dword [r11]
xor ecx, ecx
mov rsi, qword [rbp - 0x58]
xor r9d, r9d
mov qword [rsp + 0x48], rcx
xor r8d, r8d
mov qword [rsp + 0x40], rsi
xor edx, edx
mov qword [rsp + 0x38], rcx
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x1e8
call fcn.180033a80
mov rcx, qword [rbp - 0x68]
mov edx, dword [rcx]
sub edx, dword [rbp - 0x60]
mov rcx, qword [rsp + 0x70]
add rdx, rsi
call qword [0x180083228]
mov r8, qword [rsp + 0x70]
mov esi, eax
mov edx, dword [rsp + 0x6c]
jmp case.0x180016476.71