Function at 0x14001bc6c
Capabilities:
Delete file
Encode data using base64
Query environment variable
Terminate process

Disassembly:
jmp 0x14001c610
jmp 0x14001bc6c
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xeb0]
sub rsp, 0xfb0
mov rax, qword [0x140028ec0]
xor rax, rsp
mov qword [rbp + 0xea0], rax
mov r13, rdx
mov qword [rsp + 0x28], rdx
movsxd r12, ecx
lea rdx, [0x14001b668]
lea rcx, [rbp - 0x30]
call fcn.140001456
lea r11, [rbp - 0x30]
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x70]
mov qword [0x140029508], r11
call fcn.140001258
lea rcx, str.UNPACK200_FLAGS
call qword [sym.imp.MSVCR100.dll_getenv]
xor esi, esi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rsi
lea r14d, [rsi + 8]
test rax, rax
je 0x14001bd2c
mov rcx, rax
call qword [sym.imp.MSVCR100.dll__strdup]
mov rcx, rax
jmp 0x14001bd17
lea rcx, [rsp + 0x38]
mov rdx, r14
call fcn.14000137f
xor ecx, ecx
mov qword [rax], rbx
lea rdx, [0x140025f7c]
call qword [sym.imp.MSVCR100.dll_strtok]
mov rbx, rax
test rax, rax
jne 0x14001bd05
mov rax, qword [rsp + 0x40]
or edx, 0xffffffff
shr rax, 3
lea eax, [rax + r12 + 1]
movsxd rcx, eax
mov eax, ecx
shl eax, 3
cmp rcx, 0xfffffff
cmova eax, edx
movsxd rcx, eax
call fcn.140001145
mov rcx, qword [rsp + 0x40]
mov r9d, esi
shr rcx, 3
mov rbx, rax
mov rdi, rax
test ecx, ecx
jle 0x14001bd93
mov r8, rsi
mov rcx, qword [rsp + 0x38]
inc r9d
mov rdx, qword [r8 + rcx]
add r8, r14
mov qword [rbx], rdx
mov rax, qword [rsp + 0x40]
add rbx, r14
shr rax, 3
cmp r9d, eax
jl 0x14001bd70
mov esi, 1
jmp 0x14001bdae
mov rcx, qword [r13 + rsi*8]
call qword [sym.imp.MSVCR100.dll__strdup]
mov qword [rbx], rax
add rbx, r14
inc rsi
cmp rsi, r12
jl 0x14001bd9a
xor r13d, r13d
mov qword [rbx], r13
mov rbx, qword [rsp + 0x40]
shr rbx, 3
cmp qword [rsp + 0x48], r13
je 0x14001bdd3
lea rcx, [rsp + 0x38]
call fcn.14000149c
movsxd rax, ebx
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
lea rsi, [rdi + rax*8]
lea r15, [0x140022c1d]
mov qword [rsp + 0x58], rsi
mov r14d, r13d
mov rbx, qword [rdi]
lea rcx, str.Hdeflate_hint
test rbx, rbx
jne 0x14001be09
mov qword [rsp + 0x30], r15
jmp 0x14001be36
mov rcx, rbx
call sub.MSVCR100.dll_strlen
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x30]
mov r9, rax
mov r8, rbx
call fcn.14000114f
mov rax, qword [rsp + 0x60]
lea rcx, str.Hdeflate_hint
mov qword [rsp + 0x30], rax
cmp rdi, rsi
mov rsi, qword [rdi]
setb byte [rsp + 0x20]
test rsi, rsi
je 0x14001bf70
cmp byte [rsi], 0x2d
jne 0x14001bf70
lea r12, [rsi + 1]
mov al, byte [r12]
test al, al
jne 0x14001be67
mov ebx, r13d
jmp 0x14001bf8d
cmp al, 0x2d
jne 0x14001bf0e
lea r13, [rsi + 2]
cmp byte [r13], 0
jne 0x14001be83
add rdi, 8
xor r13d, r13d
jmp 0x14001be5f
xor esi, esi
cmp qword [str.Hdeflate_hint], rsi
je 0x14001bef1
mov rax, rcx
mov rbx, qword [rax]
mov edx, 0x3d
mov r12b, byte [rbx]
inc rbx
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_strchr]
test rax, rax
jne 0x14001bec2
mov rdx, rbx
mov rcx, r13
call sub.MSVCR100.dll_strcmp
test eax, eax
jne 0x14001bedd
add rdi, 8
jmp 0x14001bf05
mov rcx, rbx
call sub.MSVCR100.dll_strlen
mov rdx, rbx
mov rcx, r13
mov r8, rax
call qword [sym.imp.MSVCR100.dll_strncmp]
test eax, eax
je 0x14001bef6
inc rsi
lea rax, str.Hdeflate_hint
lea rax, [rax + rsi*8]
cmp qword [rax], 0
jne 0x14001be91
xor r13d, r13d
jmp 0x14001bf61
mov rcx, rbx
call sub.MSVCR100.dll_strlen
add rax, 2
add qword [rdi], rax
movsx ebx, r12b
xor r13d, r13d
jmp 0x14001bf73
movsx ebx, al
lea rcx, str.vqrVh_
mov edx, ebx
call qword [sym.imp.MSVCR100.dll_strchr]
test rax, rax
je 0x14001bf3b
cmp byte [rsi + 2], r13b
jne 0x14001bf31
add rdi, 8
jmp 0x14001bf73
mov byte [r12], 0x2d
mov qword [rdi], r12
jmp 0x14001bf73
lea rcx, [0x140025f18]
mov edx, ebx
call qword [sym.imp.MSVCR100.dll_strchr]
test rax, rax
je 0x14001bf61
add rsi, 2
cmp byte [rsi], r13b
jne 0x14001bf6b
lea rax, [rdi + 8]
cmp qword [rax], r13
jne 0x14001bf66
or ebx, 0xffffffff
jmp 0x14001bf77
mov rdi, rax
jmp 0x14001bf73
mov qword [rdi], rsi
jmp 0x14001bf73
mov ebx, r13d
test ebx, ebx
je 0x14001bf8d
lea rcx, [0x140025f18]
mov edx, ebx
call qword [sym.imp.MSVCR100.dll_strchr]
mov cl, 1
test rax, rax
jne 0x14001bf90
mov cl, r13b
mov rsi, qword [rsp + 0x58]
test ebx, ebx
jne 0x14001bfa2
cmp rdi, rsi
jae 0x14001c03a
mov dl, byte [rsp + 0x20]
test dl, dl
je 0x14001bfb5
cmp rdi, rsi
jne 0x14001bfb5
test cl, cl
cmovne ebx, r13d
sub ebx, 0x3f
je 0x14001c402
sub ebx, 9
je 0x14001c01e
sub ebx, 2
je 0x14001c015
sub ebx, 0xc
je 0x14001c3bc
sub ebx, 0x12
je 0x14001c402
sub ebx, 4
je 0x14001c00d
sub ebx, 5
je 0x14001bdf0
dec ebx
je 0x14001bffd
cmp ebx, 4
jne 0x14001c368
inc r14d
jmp 0x14001bdf3
lea r8, [0x140026150]
lea rdx, str.com.sun.java.util.jar.pack.unpack.remove.packfile
jmp 0x14001c02c
mov rax, qword [rdi]
mov qword [rsp + 0x50], rax
add rdi, 8
jmp 0x14001bdf3
mov r8, qword [rdi]
lea rdx, str.unpack.deflate.hint
add rdi, 8
lea rcx, [rbp - 0x30]
call fcn.1400012a3
jmp 0x14001bdf3
test r14d, r14d
je 0x14001c08f
lea rdx, [0x140025068]
lea rcx, [rbp + 0xe80]
mov r8d, r14d
call qword [sym.imp.MSVCR100.dll_sprintf]
lea rcx, [rbp + 0xe80]
call sub.MSVCR100.dll_strlen
lea r8, [rbp + 0xe80]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x30]
mov r9, rax
call fcn.14000114f
mov r8, qword [rsp + 0x60]
lea rdx, str.com.sun.java.util.jar.pack.verbose
lea rcx, [rbp - 0x30]
call fcn.1400012a3
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14001c0ac
lea rdx, str.com.sun.java.util.jar.pack.unpack.log.file
lea rcx, [rbp - 0x30]
mov r8, rax
call fcn.1400012a3
lea rcx, [rbp - 0x30]
call fcn.14000145b
mov rbx, qword [rdi]
mov rsi, qword [rdi + 8]
test rbx, rbx
je 0x14001c348
test rsi, rsi
je 0x14001c348
cmp qword [rdi + 0x10], r13
jne 0x14001c348
test r14d, r14d
je 0x14001c0f7
mov rcx, qword [rbp + 0x90]
lea rdx, str.Unpacking_from__s_to__s_n
mov r9, rsi
mov r8, rbx
call qword [sym.imp.MSVCR100.dll_fprintf]
lea rdx, [0x140024ff4]
mov rcx, rbx
call sub.MSVCR100.dll_strcmp
test eax, eax
jne 0x14001c16d
mov byte [rbp + 0x87], r13b
call qword [sym.imp.MSVCR100.dll___iob_func]
mov rcx, rax
call qword [sym.imp.MSVCR100.dll__fileno]
mov dword [rbp - 0x18], eax
lea rdx, [0x140024ff4]
mov rcx, rsi
call sub.MSVCR100.dll_strcmp
test eax, eax
jne 0x14001c1a9
call qword [sym.imp.MSVCR100.dll___iob_func]
add rax, 0x30
mov qword [rsp + 0x70], rax
call qword [sym.imp.MSVCR100.dll___iob_func]
add rax, 0x30
cmp qword [rbp + 0x90], rax
jne 0x14001c1b6
lea rdx, str.com.sun.java.util.jar.pack.unpack.log.file
lea rcx, [rbp - 0x30]
mov r8, r15
call fcn.1400012a3
jmp 0x14001c1b6
lea rdx, [0x140026128]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_fopen]
mov qword [rbp - 0x20], rax
test rax, rax
jne 0x14001c123
mov rcx, qword [rbp + 0x90]
lea rdx, str.Error:_Could_not_open_input_file:__s_n
mov r8, rbx
call qword [sym.imp.MSVCR100.dll_fprintf]
mov ecx, 3
call qword [sym.imp.MSVCR100.dll_exit]
int3
lea rcx, [rsp + 0x70]
mov rdx, rsi
call fcn.14000164a
test r14d, r14d
je 0x14001c1c4
lea rcx, [rbp - 0x30]
call fcn.1400013d4
mov esi, 4
lea rdx, [rsp + 0x24]
lea rcx, [rbp - 0x30]
mov r8d, esi
call fcn.14001b72c
mov ecx, eax
mov edi, eax
and ecx, 0xffffff00
cmp ecx, 0x1f8b0800
jne 0x14001c261
mov ecx, 0x4018
call fcn.140001145
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.14000140b
mov rcx, qword [rbp]
mov edx, edi
call fcn.140001433
cmp qword [rbp + 0x18], r13
jne 0x14001c28e
xor r8d, r8d
xor edx, edx
jmp 0x14001c269
cmp qword [rbp + 0x18], r13
jne 0x14001c28e
lea rcx, [rbp - 0x30]
mov rdx, rax
call fcn.1400014ba
lea rcx, [rbp - 0x30]
call fcn.140001104
test rax, rax
jne 0x14001c21a
cmp qword [rbp + 0x18], r13
jne 0x14001c28e
lea rdx, [rsp + 0x24]
lea rcx, [rbp - 0x30]
mov r8d, esi
call fcn.14001b72c
cmp eax, 0xcafed00d
jne 0x14001c27a
lea rcx, [rbp - 0x30]
call fcn.1400011db
lea rdx, [rsp + 0x24]
mov r8, rsi
lea rcx, [rbp - 0x30]
call fcn.140001474
cmp qword [rbp + 0x18], r13
je 0x14001c22c
jmp 0x14001c28e
test eax, eax
je 0x14001c28e
lea rdx, str.garbage_after_end_of_pack_archive
lea rcx, [rbp - 0x30]
call fcn.140001631
mov edi, r13d
cmp qword [rbp + 0x18], r13
je 0x14001c2bc
lea rcx, [rbp - 0x30]
call fcn.1400013c0
mov rcx, qword [rbp + 0x90]
lea rdx, str.Error:__s_n
mov r8, rax
call qword [sym.imp.MSVCR100.dll_fprintf]
mov edi, 1
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14001c2cf
call qword [sym.imp.MSVCR100.dll_fclose]
mov qword [rbp - 0x20], r13
cmp qword [rbp + 0x18], r13
jne 0x14001c2e7
cmp byte [rbp + 0x87], r13b
je 0x14001c2e7
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_remove]
test r14d, r14d
je 0x14001c303
mov rcx, qword [rbp + 0x90]
lea rdx, str.unpacker_completed_with_status_d_n
mov r8d, edi
call qword [sym.imp.MSVCR100.dll_fprintf]
lea rcx, [rbp - 0x30]
call fcn.140001604
lea rcx, [rbp - 0x30]
call fcn.140001028
mov qword [0x140029508], r13
mov eax, edi
mov rcx, qword [rbp + 0xea0]
xor rcx, rsp
call fcn.14001c6b0
mov rbx, qword [rsp + 0x1000]
add rsp, 0xfb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, qword [rsp + 0x28]
lea rcx, [rbp - 0x30]
xor r8d, r8d
mov rdx, qword [rdx]
call fcn.14001b7ec
mov ecx, 2
call qword [sym.imp.MSVCR100.dll_exit]
int3
mov r9, qword [rsp + 0x30]
test dl, dl
lea rax, str._in__UNPACK200_FLAGS
cmovne r15, rax
test cl, cl
mov rcx, qword [rbp + 0x90]
mov r8, r15
lea rdx, str.Missing_option_string_s:__s_n
jne 0x14001c396
lea rdx, str.Unrecognized_argument_s:__s_n
call qword [sym.imp.MSVCR100.dll_fprintf]
mov rdx, qword [rsp + 0x28]
lea rcx, [rbp - 0x30]
mov rdx, qword [rdx]
xor r8d, r8d
call fcn.14001b7ec
mov ecx, 2
call qword [sym.imp.MSVCR100.dll_exit]
int3
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rdx]
mov edx, 0x2f
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_strrchr]
test rax, rax
je 0x14001c3db
lea rbx, [rax + 1]
mov rcx, qword [rbp + 0x90]
lea r9, str.1.30__07_05_05
lea rdx, str._s_version__s_n
mov r8, rbx
call qword [sym.imp.MSVCR100.dll_fprintf]
xor ecx, ecx
call qword [sym.imp.MSVCR100.dll_exit]
int3
mov rdx, qword [rsp + 0x28]
lea rcx, [rbp - 0x30]
mov r8b, 1
mov rdx, qword [rdx]
call fcn.14001b7ec
mov ecx, 1
call qword [sym.imp.MSVCR100.dll_exit]
int3
jmp 0x14000147e