Function at 0x40d348
Capabilities:
Delete file
Terminate process

Disassembly:
jmp 0x40d348
jmp 0x40da35
push ebp
lea ebp, [esp - 0xafc]
sub esp, 0xb78
mov eax, dword [0x425dac]
xor eax, ebp
mov dword [ebp + 0xaf8], eax
push ebx
push esi
mov esi, dword [ebp + 0xb04]
push edi
mov edi, dword [ebp + 0xb08]
push 0x40ceaa
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x3c], edi
call fcn.00401104
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x7c]
mov dword [0x4263b8], eax
call fcn.004012d0
lea eax, [ebp - 0x38]
push eax
push edi
xor ebx, ebx
push esi
mov dword [ebp - 0x38], ebx
call fcn.0040d0a4
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 0x40d3c6
mov dword [ebp - 0x38], 0x41eb9d
jmp 0x40d3d2
push eax
lea ecx, [ebp - 0x28]
call fcn.004012b2
mov dword [ebp - 0x38], eax
cmp esi, dword [ebp - 0x40]
mov ebx, dword [esi]
setb byte [ebp - 0x2d]
test ebx, ebx
je 0x40d559
cmp byte [ebx], 0x2d
jne 0x40d559
lea edi, [ebx + 1]
mov al, byte [edi]
test al, al
je 0x40d408
cmp al, 0x2d
jne 0x40d501
lea edi, [ebx + 2]
cmp byte [edi], 0
jne 0x40d484
add esi, 4
xor ebx, ebx
xor cl, cl
xor edi, edi
cmp ebx, edi
jne 0x40d41b
cmp esi, dword [ebp - 0x40]
jae 0x40d5d7
cmp byte [ebp - 0x2d], 0
je 0x40d42c
cmp esi, dword [ebp - 0x40]
jne 0x40d42c
test cl, cl
je 0x40d42c
xor ebx, ebx
cmp ebx, 0x68
jg 0x40d598
je 0x40d8a8
sub ebx, 0x3f
je 0x40d8a8
sub ebx, 9
je 0x40d580
dec ebx
dec ebx
je 0x40d5cf
sub ebx, 0xc
je 0x40d874
cmp byte [ebp - 0x2d], 0
mov eax, str._in__UNPACK200_FLAGS
jne 0x40d46e
mov eax, 0x41eb9d
push dword [ebp - 0x38]
push eax
test cl, cl
je 0x40d8c0
push str.Missing_option_string_s:__s_n
jmp 0x40d8c5
and dword [ebp - 0x2c], 0
cmp dword [str.Hdeflate_hint], 0
je 0x40d550
mov eax, 0x425d68
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 0x40d4ca
push edi
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x40d4df
add esi, 4
movsx ebx, byte [ebp - 0x2e]
jmp 0x40d55b
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 0x40d4f3
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
lea eax, [eax*4 + 0x425d68]
cmp dword [eax], 0
jne 0x40d49a
jmp 0x40d550
push ebx
call sub.MSVCR100.dll_strlen
add eax, 2
add dword [esi], eax
pop ecx
jmp 0x40d4c1
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 0x40d52e
cmp byte [ebx + 2], 0
jne 0x40d524
add esi, 4
jmp 0x40d529
mov byte [edi], 0x2d
mov dword [esi], edi
mov ebx, dword [ebp - 0x2c]
jmp 0x40d55b
push dword [ebp - 0x2c]
push 0x4222dc
call dword [sym.imp.MSVCR100.dll_strchr]
pop ecx
pop ecx
test eax, eax
je 0x40d550
add ebx, 2
cmp byte [ebx], 0
jne 0x40d555
cmp dword [esi + 4], 0
jne 0x40d51f
or ebx, 0xffffffff
jmp 0x40d563
mov dword [esi], ebx
jmp 0x40d529
xor ebx, ebx
test ebx, ebx
je 0x40d40a
push ebx
push 0x4222dc
call dword [sym.imp.MSVCR100.dll_strchr]
pop ecx
pop ecx
test eax, eax
je 0x40d40a
mov cl, 1
jmp 0x40d40c
mov eax, dword [esi]
push eax
add esi, 4
push str.unpack.deflate.hint
lea ecx, [ebp - 0x28]
call fcn.0040158c
jmp 0x40d3b7
sub ebx, 0x6c
je 0x40d5ca
sub ebx, 5
je 0x40d5c2
dec ebx
je 0x40d5b6
sub ebx, 4
jne 0x40d45e
inc dword [ebp - 0x34]
jmp 0x40d3b7
push 0x422544
push str.com.sun.java.util.jar.pack.unpack.remove.packfile
jmp 0x40d58b
mov dword [ebp - 0x34], edi
jmp 0x40d3b7
mov eax, dword [esi]
mov dword [ebp - 0x48], eax
add esi, 4
jmp 0x40d3b7
cmp dword [ebp - 0x34], edi
je 0x40d5f5
push dword [ebp - 0x34]
lea ecx, [ebp - 0x28]
call fcn.00401244
push eax
push str.com.sun.java.util.jar.pack.verbose
lea ecx, [ebp - 0x28]
call fcn.0040158c
cmp dword [ebp - 0x48], edi
je 0x40d60a
push dword [ebp - 0x48]
lea ecx, [ebp - 0x28]
push str.com.sun.java.util.jar.pack.unpack.log.file
call fcn.0040158c
lea ecx, [ebp - 0x28]
call fcn.004011a4
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x40d85c
test edi, edi
je 0x40d85c
cmp dword [esi + 8], 0
jne 0x40d85c
cmp dword [ebp - 0x34], 0
je 0x40d64d
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, 0x422484
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 0x40d6ab
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 0x40d6de
call esi
add eax, 0x20
mov dword [ebp - 0x7c], eax
call esi
add eax, 0x20
cmp dword [ebp + 0x40], eax
jne 0x40d6e7
push 0x41eb9d
push str.com.sun.java.util.jar.pack.unpack.log.file
lea ecx, [ebp - 0x28]
call fcn.0040158c
jmp 0x40d6e7
push 0x422480
push dword [ebp - 0x2c]
call dword [sym.imp.MSVCR100.dll_fopen]
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x40d678
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.00401041
cmp dword [ebp - 0x34], 0
je 0x40d6f5
lea ecx, [ebp - 0x28]
call fcn.004011fe
push 4
lea ebx, [ebp - 0x44]
lea ecx, [ebp - 0x28]
call fcn.0040cf70
mov esi, eax
and eax, 0xffffff00
pop ecx
cmp eax, 0x1f8b0800
jne 0x40d751
push 0x400c
push 1
call fcn.0040169a
push eax
call fcn.004011ea
add esp, 0xc
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00401442
mov ecx, dword [ebp - 0x10]
push esi
call fcn.004012ad
xor ebx, ebx
cmp dword [ebp - 4], ebx
jne 0x40d7cd
push ebx
push ebx
lea ecx, [ebp - 0x28]
call fcn.00401145
jmp 0x40d761
push 4
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x28]
call fcn.00401145
xor ebx, ebx
cmp dword [ebp - 4], ebx
jne 0x40d7cd
jmp 0x40d776
cmp dword [ebp - 4], ebx
jne 0x40d7cd
push eax
lea ecx, [ebp - 0x28]
call fcn.00401217
lea ecx, [ebp - 0x28]
call fcn.00401569
cmp eax, ebx
jne 0x40d768
cmp dword [ebp - 4], ebx
jne 0x40d7cd
push 4
lea ebx, [ebp - 0x44]
lea ecx, [ebp - 0x28]
call fcn.0040cf70
pop ecx
cmp eax, 0xcafed00d
jne 0x40d7ba
lea ecx, [ebp - 0x28]
call fcn.004013cf
push 4
mov eax, ebx
push eax
lea ecx, [ebp - 0x28]
call fcn.00401145
xor ebx, ebx
cmp dword [ebp - 4], ebx
je 0x40d776
jmp 0x40d7cd
test eax, eax
je 0x40d7cb
push str.garbage_after_end_of_pack_archive
lea ecx, [ebp - 0x28]
call fcn.004014ba
xor ebx, ebx
xor esi, esi
cmp dword [ebp - 4], ebx
je 0x40d7ef
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 0x40d801
push dword [ebp - 0x20]
call dword [sym.imp.MSVCR100.dll_fclose]
pop ecx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 4], ebx
jne 0x40d815
cmp byte [ebp + 0x37], bl
je 0x40d815
push dword [ebp - 0x2c]
call dword [sym.imp.MSVCR100.dll_remove]
pop ecx
cmp dword [ebp - 0x34], ebx
je 0x40d82c
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.00401208
lea ecx, [ebp - 0x28]
call fcn.00401280
mov ecx, dword [ebp + 0xaf8]
pop edi
mov eax, esi
pop esi
mov dword [0x4263b8], ebx
xor ecx, ebp
pop ebx
call fcn.00418c2e
add ebp, 0xafc
leave
ret
mov eax, dword [ebp - 0x3c]
push 0
push dword [eax]
lea edi, [ebp - 0x28]
call fcn.0040d012
pop ecx
pop ecx
push 2
jmp 0x40d6d8
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 0x40d88b
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 0x40d6d8
mov eax, dword [ebp - 0x3c]
push 1
push dword [eax]
lea edi, [ebp - 0x28]
call fcn.0040d012
pop ecx
pop ecx
push 1
jmp 0x40d6d8
push str.Unrecognized_argument_s:__s_n
push dword [ebp + 0x40]
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0x10
jmp 0x40d85c
jmp 0x4014a6