Function at 0x4165a7
Capabilities:
Delete file
Terminate process

Disassembly:
jmp 0x4165a7
jmp 0x416c94
push ebp
lea ebp, [esp - 0xa04]
sub esp, 0xa80
mov eax, dword [0x421df4]
xor eax, ebp
mov dword [ebp + 0xa00], eax
push ebx
push esi
mov esi, dword [ebp + 0xa0c]
push edi
mov edi, dword [ebp + 0xa10]
push 0x416109
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x3c], edi
call fcn.004010eb
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x7c]
mov dword [0x42241c], eax
call fcn.0040129e
lea eax, [ebp - 0x38]
push eax
push edi
xor ebx, ebx
push esi
mov dword [ebp - 0x38], ebx
call fcn.00416303
mov ecx, dword [ebp - 0x38]
lea ecx, [eax + ecx*4]
add esp, 0xc
mov dword [ebp - 0x40], ecx
mov esi, eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x48], ebx
mov eax, dword [esi]
test eax, eax
jne 0x416625
mov dword [ebp - 0x38], 0x41cb45
jmp 0x416631
push eax
lea ecx, [ebp - 0x28]
call fcn.00401280
mov dword [ebp - 0x38], eax
cmp esi, dword [ebp - 0x40]
mov ebx, dword [esi]
setb byte [ebp - 0x2d]
test ebx, ebx
je 0x4167b8
cmp byte [ebx], 0x2d
jne 0x4167b8
lea edi, [ebx + 1]
mov al, byte [edi]
test al, al
je 0x416667
cmp al, 0x2d
jne 0x416760
lea edi, [ebx + 2]
cmp byte [edi], 0
jne 0x4166e3
add esi, 4
xor ebx, ebx
xor cl, cl
xor edi, edi
cmp ebx, edi
jne 0x41667a
cmp esi, dword [ebp - 0x40]
jae 0x416836
cmp byte [ebp - 0x2d], 0
je 0x41668b
cmp esi, dword [ebp - 0x40]
jne 0x41668b
test cl, cl
je 0x41668b
xor ebx, ebx
cmp ebx, 0x68
jg 0x4167f7
je 0x416b07
sub ebx, 0x3f
je 0x416b07
sub ebx, 9
je 0x4167df
dec ebx
dec ebx
je 0x41682e
sub ebx, 0xc
je 0x416ad3
cmp byte [ebp - 0x2d], 0
mov eax, str._in__UNPACK200_FLAGS
jne 0x4166cd
mov eax, 0x41cb45
push dword [ebp - 0x38]
push eax
test cl, cl
je 0x416b1f
push str.Missing_option_string_s:__s_n
jmp 0x416b24
and dword [ebp - 0x2c], 0
cmp dword [str.Hdeflate_hint], 0
je 0x4167af
mov eax, 0x421dcc
mov ebx, dword [eax]
mov al, byte [ebx]
inc ebx
push 0x3d
push ebx
mov byte [ebp - 0x2e], al
call dword [sym.imp.MSVCR100.dll_strchr]
pop ecx
pop ecx
push ebx
test eax, eax
jne 0x416729
push edi
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x41673e
add esi, 4
movsx ebx, byte [ebp - 0x2e]
jmp 0x4167ba
call sub.MSVCR100.dll_strlen
push eax
push ebx
push edi
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0x10
test eax, eax
je 0x416752
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
lea eax, [eax*4 + 0x421dcc]
cmp dword [eax], 0
jne 0x4166f9
jmp 0x4167af
push ebx
call sub.MSVCR100.dll_strlen
add eax, 2
add dword [esi], eax
pop ecx
jmp 0x416720
movsx eax, al
push eax
push str.vqrVh_
mov dword [ebp - 0x2c], eax
call dword [sym.imp.MSVCR100.dll_strchr]
pop ecx
pop ecx
test eax, eax
je 0x41678d
cmp byte [ebx + 2], 0
jne 0x416783
add esi, 4
jmp 0x416788
mov byte [edi], 0x2d
mov dword [esi], edi
mov ebx, dword [ebp - 0x2c]
jmp 0x4167ba
push dword [ebp - 0x2c]
push 0x41fc8c
call dword [sym.imp.MSVCR100.dll_strchr]
pop ecx
pop ecx
test eax, eax
je 0x4167af
add ebx, 2
cmp byte [ebx], 0
jne 0x4167b4
cmp dword [esi + 4], 0
jne 0x41677e
or ebx, 0xffffffff
jmp 0x4167c2
mov dword [esi], ebx
jmp 0x416788
xor ebx, ebx
test ebx, ebx
je 0x416669
push ebx
push 0x41fc8c
call dword [sym.imp.MSVCR100.dll_strchr]
pop ecx
pop ecx
test eax, eax
je 0x416669
mov cl, 1
jmp 0x41666b
mov eax, dword [esi]
push eax
add esi, 4
push str.unpack.deflate.hint
lea ecx, [ebp - 0x28]
call fcn.0040151e
jmp 0x416616
sub ebx, 0x6c
je 0x416829
sub ebx, 5
je 0x416821
dec ebx
je 0x416815
sub ebx, 4
jne 0x4166bd
inc dword [ebp - 0x34]
jmp 0x416616
push 0x41fe50
push str.com.sun.java.util.jar.pack.unpack.remove.packfile
jmp 0x4167ea
mov dword [ebp - 0x34], edi
jmp 0x416616
mov eax, dword [esi]
mov dword [ebp - 0x48], eax
add esi, 4
jmp 0x416616
cmp dword [ebp - 0x34], edi
je 0x416854
push dword [ebp - 0x34]
lea ecx, [ebp - 0x28]
call fcn.00401217
push eax
push str.com.sun.java.util.jar.pack.verbose
lea ecx, [ebp - 0x28]
call fcn.0040151e
cmp dword [ebp - 0x48], edi
je 0x416869
push dword [ebp - 0x48]
lea ecx, [ebp - 0x28]
push str.com.sun.java.util.jar.pack.unpack.log.file
call fcn.0040151e
lea ecx, [ebp - 0x28]
call fcn.00401186
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x416abb
test edi, edi
je 0x416abb
cmp dword [esi + 8], 0
jne 0x416abb
cmp dword [ebp - 0x34], 0
je 0x4168ac
push edi
push eax
push str.Unpacking_from__s_to__s_n
push dword [ebp + 0x40]
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x10
mov ebx, 0x41ee14
push ebx
push dword [ebp - 0x2c]
call sub.MSVCR100.dll_strcmp
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
pop ecx
pop ecx
test eax, eax
jne 0x41690a
mov byte [ebp + 0x37], 0
call esi
push eax
call dword [sym.imp.MSVCR100.dll__fileno]
pop ecx
mov dword [ebp - 0x1c], eax
push ebx
push edi
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x41693d
call esi
add eax, 0x20
mov dword [ebp - 0x7c], eax
call esi
add eax, 0x20
cmp dword [ebp + 0x40], eax
jne 0x416946
push 0x41cb45
push str.com.sun.java.util.jar.pack.unpack.log.file
lea ecx, [ebp - 0x28]
call fcn.0040151e
jmp 0x416946
push 0x41fe2c
push dword [ebp - 0x2c]
call dword [sym.imp.MSVCR100.dll_fopen]
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4168d7
push dword [ebp - 0x2c]
push str.Error:_Could_not_open_input_file:__s_n
push dword [ebp + 0x40]
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0xc
push 3
call dword [sym.imp.MSVCR100.dll_exit]
push edi
lea ecx, [ebp - 0x7c]
call fcn.0040103c
cmp dword [ebp - 0x34], 0
je 0x416954
lea ecx, [ebp - 0x28]
call fcn.004011d6
push 4
lea ebx, [ebp - 0x44]
lea ecx, [ebp - 0x28]
call fcn.004161cf
mov esi, eax
and eax, 0xffffff00
pop ecx
cmp eax, 0x1f8b0800
jne 0x4169b0
push 0x400c
push 1
call fcn.0040161d
push eax
call fcn.004011c2
add esp, 0xc
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.004013ed
mov ecx, dword [ebp - 0x10]
push esi
call fcn.0040127b
xor ebx, ebx
cmp dword [ebp - 4], ebx
jne 0x416a2c
push ebx
push ebx
lea ecx, [ebp - 0x28]
call fcn.00401127
jmp 0x4169c0
push 4
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x28]
call fcn.00401127
xor ebx, ebx
cmp dword [ebp - 4], ebx
jne 0x416a2c
jmp 0x4169d5
cmp dword [ebp - 4], ebx
jne 0x416a2c
push eax
lea ecx, [ebp - 0x28]
call fcn.004011e5
lea ecx, [ebp - 0x28]
call fcn.00401500
cmp eax, ebx
jne 0x4169c7
cmp dword [ebp - 4], ebx
jne 0x416a2c
push 4
lea ebx, [ebp - 0x44]
lea ecx, [ebp - 0x28]
call fcn.004161cf
pop ecx
cmp eax, 0xcafed00d
jne 0x416a19
lea ecx, [ebp - 0x28]
call fcn.00401384
push 4
mov eax, ebx
push eax
lea ecx, [ebp - 0x28]
call fcn.00401127
xor ebx, ebx
cmp dword [ebp - 4], ebx
je 0x4169d5
jmp 0x416a2c
test eax, eax
je 0x416a2a
push str.garbage_after_end_of_pack_archive
lea ecx, [ebp - 0x28]
call fcn.0040145b
xor ebx, ebx
xor esi, esi
cmp dword [ebp - 4], ebx
je 0x416a4e
lea ecx, [ebp - 0x28]
call fcn.0040100a
push eax
push str.Error:__s_n
push dword [ebp + 0x40]
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0xc
inc esi
cmp dword [ebp - 0x20], ebx
je 0x416a60
push dword [ebp - 0x20]
call dword [sym.imp.MSVCR100.dll_fclose]
pop ecx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 4], ebx
jne 0x416a74
cmp byte [ebp + 0x37], bl
je 0x416a74
push dword [ebp - 0x2c]
call dword [sym.imp.MSVCR100.dll_remove]
pop ecx
cmp dword [ebp - 0x34], ebx
je 0x416a8b
push esi
push str.unpacker_completed_with_status_d_n
push dword [ebp + 0x40]
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.004011e0
lea ecx, [ebp - 0x28]
call fcn.0040124e
mov ecx, dword [ebp + 0xa00]
pop edi
mov eax, esi
pop esi
mov dword [0x42241c], ebx
xor ecx, ebp
pop ebx
call fcn.00416c99
add ebp, 0xa04
leave
ret
mov eax, dword [ebp - 0x3c]
push 0
push dword [eax]
lea edi, [ebp - 0x28]
call fcn.00416271
pop ecx
pop ecx
push 2
jmp 0x416937
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax]
push 0x2f
push esi
call dword [sym.imp.MSVCR100.dll_strrchr]
pop ecx
pop ecx
cmp eax, edi
je 0x416aea
lea esi, [eax + 1]
push str.1.30__07_05_05
push esi
push str._s_version__s_n
push dword [ebp + 0x40]
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x10
push edi
jmp 0x416937
mov eax, dword [ebp - 0x3c]
push 1
push dword [eax]
lea edi, [ebp - 0x28]
call fcn.00416271
pop ecx
pop ecx
push 1
jmp 0x416937
push str.Unrecognized_argument_s:__s_n
push dword [ebp + 0x40]
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x10
jmp 0x416abb
jmp 0x40144c