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

Disassembly:
jmp 0x14001c4a0
jmp 0x14001bafc
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, [0x14001b4f8]
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 0x14001bbbc
mov rcx, rax
call qword [sym.imp.MSVCR100.dll__strdup]
mov rcx, rax
jmp 0x14001bba7
lea rcx, [rsp + 0x38]
mov rdx, r14
call fcn.14000137f
xor ecx, ecx
mov qword [rax], rbx
lea rdx, [0x140025f8c]
call qword [sym.imp.MSVCR100.dll_strtok]
mov rbx, rax
test rax, rax
jne 0x14001bb95
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 0x14001bc23
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 0x14001bc00
mov esi, 1
jmp 0x14001bc3e
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 0x14001bc2a
xor r13d, r13d
mov qword [rbx], r13
mov rbx, qword [rsp + 0x40]
shr rbx, 3
cmp qword [rsp + 0x48], r13
je 0x14001bc63
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 0x14001bc99
mov qword [rsp + 0x30], r15
jmp 0x14001bcc6
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 0x14001be00
cmp byte [rsi], 0x2d
jne 0x14001be00
lea r12, [rsi + 1]
mov al, byte [r12]
test al, al
jne 0x14001bcf7
mov ebx, r13d
jmp 0x14001be1d
cmp al, 0x2d
jne 0x14001bd9e
lea r13, [rsi + 2]
cmp byte [r13], 0
jne 0x14001bd13
add rdi, 8
xor r13d, r13d
jmp 0x14001bcef
xor esi, esi
cmp qword [str.Hdeflate_hint], rsi
je 0x14001bd81
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 0x14001bd52
mov rdx, rbx
mov rcx, r13
call sub.MSVCR100.dll_strcmp
test eax, eax
jne 0x14001bd6d
add rdi, 8
jmp 0x14001bd95
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 0x14001bd86
inc rsi
lea rax, str.Hdeflate_hint
lea rax, [rax + rsi*8]
cmp qword [rax], 0
jne 0x14001bd21
xor r13d, r13d
jmp 0x14001bdf1
mov rcx, rbx
call sub.MSVCR100.dll_strlen
add rax, 2
add qword [rdi], rax
movsx ebx, r12b
xor r13d, r13d
jmp 0x14001be03
movsx ebx, al
lea rcx, str.vqrVh_
mov edx, ebx
call qword [sym.imp.MSVCR100.dll_strchr]
test rax, rax
je 0x14001bdcb
cmp byte [rsi + 2], r13b
jne 0x14001bdc1
add rdi, 8
jmp 0x14001be03
mov byte [r12], 0x2d
mov qword [rdi], r12
jmp 0x14001be03
lea rcx, [0x140025f28]
mov edx, ebx
call qword [sym.imp.MSVCR100.dll_strchr]
test rax, rax
je 0x14001bdf1
add rsi, 2
cmp byte [rsi], r13b
jne 0x14001bdfb
lea rax, [rdi + 8]
cmp qword [rax], r13
jne 0x14001bdf6
or ebx, 0xffffffff
jmp 0x14001be07
mov rdi, rax
jmp 0x14001be03
mov qword [rdi], rsi
jmp 0x14001be03
mov ebx, r13d
test ebx, ebx
je 0x14001be1d
lea rcx, [0x140025f28]
mov edx, ebx
call qword [sym.imp.MSVCR100.dll_strchr]
mov cl, 1
test rax, rax
jne 0x14001be20
mov cl, r13b
mov rsi, qword [rsp + 0x58]
test ebx, ebx
jne 0x14001be32
cmp rdi, rsi
jae 0x14001beca
mov dl, byte [rsp + 0x20]
test dl, dl
je 0x14001be45
cmp rdi, rsi
jne 0x14001be45
test cl, cl
cmovne ebx, r13d
sub ebx, 0x3f
je 0x14001c292
sub ebx, 9
je 0x14001beae
sub ebx, 2
je 0x14001bea5
sub ebx, 0xc
je 0x14001c24c
sub ebx, 0x12
je 0x14001c292
sub ebx, 4
je 0x14001be9d
sub ebx, 5
je 0x14001bc80
dec ebx
je 0x14001be8d
cmp ebx, 4
jne 0x14001c1f8
inc r14d
jmp 0x14001bc83
lea r8, [0x140026160]
lea rdx, str.com.sun.java.util.jar.pack.unpack.remove.packfile
jmp 0x14001bebc
mov rax, qword [rdi]
mov qword [rsp + 0x50], rax
add rdi, 8
jmp 0x14001bc83
mov r8, qword [rdi]
lea rdx, str.unpack.deflate.hint
add rdi, 8
lea rcx, [rbp - 0x30]
call fcn.1400012a3
jmp 0x14001bc83
test r14d, r14d
je 0x14001bf1f
lea rdx, [0x140025090]
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 0x14001bf3c
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 0x14001c1d8
test rsi, rsi
je 0x14001c1d8
cmp qword [rdi + 0x10], r13
jne 0x14001c1d8
test r14d, r14d
je 0x14001bf87
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, [0x140024dbc]
mov rcx, rbx
call sub.MSVCR100.dll_strcmp
test eax, eax
jne 0x14001bffd
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, [0x140024dbc]
mov rcx, rsi
call sub.MSVCR100.dll_strcmp
test eax, eax
jne 0x14001c039
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 0x14001c046
lea rdx, str.com.sun.java.util.jar.pack.unpack.log.file
lea rcx, [rbp - 0x30]
mov r8, r15
call fcn.1400012a3
jmp 0x14001c046
lea rdx, [0x140026138]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_fopen]
mov qword [rbp - 0x20], rax
test rax, rax
jne 0x14001bfb3
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 0x14001c054
lea rcx, [rbp - 0x30]
call fcn.1400013d4
mov esi, 4
lea rdx, [rsp + 0x24]
lea rcx, [rbp - 0x30]
mov r8d, esi
call fcn.14001b5bc
mov ecx, eax
mov edi, eax
and ecx, 0xffffff00
cmp ecx, 0x1f8b0800
jne 0x14001c0f1
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 0x14001c11e
xor r8d, r8d
xor edx, edx
jmp 0x14001c0f9
cmp qword [rbp + 0x18], r13
jne 0x14001c11e
lea rcx, [rbp - 0x30]
mov rdx, rax
call fcn.1400014ba
lea rcx, [rbp - 0x30]
call fcn.140001104
test rax, rax
jne 0x14001c0aa
cmp qword [rbp + 0x18], r13
jne 0x14001c11e
lea rdx, [rsp + 0x24]
lea rcx, [rbp - 0x30]
mov r8d, esi
call fcn.14001b5bc
cmp eax, 0xcafed00d
jne 0x14001c10a
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 0x14001c0bc
jmp 0x14001c11e
test eax, eax
je 0x14001c11e
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 0x14001c14c
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 0x14001c15f
call qword [sym.imp.MSVCR100.dll_fclose]
mov qword [rbp - 0x20], r13
cmp qword [rbp + 0x18], r13
jne 0x14001c177
cmp byte [rbp + 0x87], r13b
je 0x14001c177
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_remove]
test r14d, r14d
je 0x14001c193
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.14001c540
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.14001b67c
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 0x14001c226
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.14001b67c
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 0x14001c26b
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.14001b67c
mov ecx, 1
call qword [sym.imp.MSVCR100.dll_exit]
int3
jmp 0x14000147e