Function at 0x40bd90
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4febb8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x180
push ebx
push esi
lea eax, [ebp - 0x50]
push edi
push eax
mov esi, ecx
call fcn.00419ce0
mov edi, dword [esi + 0x2bc]
lea ecx, [ebp - 0x88]
xor ebx, ebx
push ecx
mov dword [ebp - 4], ebx
call fcn.00408e30
add esp, 8
push 0xffffffffffffffff
push ebx
lea edx, [esi + 0x2a0]
mov edi, 0xf
push edx
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 1
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x6c], bl
call fcn.00404af0
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x6c]
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push eax
mov byte [ebp - 4], 2
mov byte [ecx], bl
call fcn.00404af0
test byte [0x57d6a0], 1
mov byte [ebp - 4], 3
jne 0x40be4e
or dword [0x57d6a0], 1
mov ecx, 0x564458
mov byte [ebp - 4], 4
call fcn.00423310
push 0x502550
call fcn.004e0e4d
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x34]
push ecx
mov ecx, 0x564458
mov byte [ebp - 4], 2
call fcn.00424700
mov eax, dword [ebp - 0x34]
mov ecx, 0x10
mov byte [ebp - 4], 5
cmp dword [ebp - 0x20], ecx
jae 0x40be74
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x58], ecx
jae 0x40be80
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x88]
cmp dword [ebp - 0x74], ecx
jae 0x40be92
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x3c], ecx
jae 0x40be9e
lea eax, [ebp - 0x50]
push eax
push str.ID:_s__s__downloaad_tool_name_s_file_s
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0xa
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push str.DoDownload
mov byte [ecx], bl
call fcn.00404e20
push 4
push 0x57d720
call fcn.0041cec0
add esp, 0x38
cmp dword [ebp - 0x24], ebx
jne 0x40bfe6
test byte [0x57d6a0], 1
push ebx
jne 0x40bf08
or dword [0x57d6a0], 1
mov ecx, 0x564458
mov byte [ebp - 4], 6
call fcn.00423310
push 0x502550
call fcn.004e0e4d
add esp, 4
mov byte [ebp - 4], 5
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x10], esp
push edx
mov ecx, 0x564458
call fcn.00423170
lea eax, [ebp - 0xa4]
push eax
call fcn.00422ca0
add esp, 0x20
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 7
jb 0x40bf38
mov ecx, dword [eax]
jmp 0x40bf3a
mov ecx, eax
sub esp, 0x1c
mov edi, esp
mov eax, ecx
lea edx, [eax + 1]
mov dword [ebp - 0x10], esp
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ebx
mov byte [edi], bl
mov dword [ebp - 0x10], edx
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x40bf56
sub eax, dword [ebp - 0x10]
push eax
push ecx
mov ecx, edi
call fcn.00404e20
mov ecx, esi
call fcn.00407e90
mov esi, 0x10
mov byte [ebp - 4], 5
cmp dword [ebp - 0x90], esi
jb 0x40bf90
mov eax, dword [ebp - 0xa4]
push eax
call fcn.004df8f9
add esp, 4
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x58], esi
jae 0x40bf9b
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x3c], esi
jae 0x40bfa7
lea eax, [ebp - 0x50]
push eax
push str.ID:_s_failed_to_download_tool__s
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0xa
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push str.DoDownload
mov byte [ecx], bl
call fcn.00404e20
push 1
push 0x57d720
call fcn.0041cec0
add esp, 0x30
mov edi, 0xf
jmp 0x40c396
lea ecx, [ebp - 0x18c]
call fcn.00404940
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0x22
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push str.getting_application_information...
mov byte [ebp - 4], 8
mov byte [ecx], bl
call fcn.00404e20
mov ecx, esi
call fcn.00407e90
lea ecx, [ebp - 0x18c]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x6c]
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push edx
mov byte [ecx], bl
call fcn.00404af0
mov byte [ebp - 4], 9
call fcn.0042f580
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.0042a8d0
cmp al, bl
je 0x40c326
push 6
push str.tools_
lea ecx, [ebp - 0x154]
call fcn.00404e20
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x154]
call fcn.00404c10
push 1
push 0x504374
lea ecx, [ebp - 0x154]
call fcn.00404d00
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0xd
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push str.Installing...
mov byte [ecx], bl
call fcn.00404e20
mov ecx, esi
call fcn.00407e90
mov eax, dword [ebp - 0x34]
mov ecx, 0x10
cmp dword [ebp - 0x20], ecx
jae 0x40c0c7
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x3c], ecx
jae 0x40c0d3
lea eax, [ebp - 0x50]
push eax
push str.ID:_s_unpack_file__s
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0xa
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push str.DoDownload
mov byte [ecx], bl
call fcn.00404e20
push 4
push 0x57d720
call fcn.0041cec0
add esp, 0x30
push 7
push ebx
push str..tar.gz
lea ecx, [ebp - 0x34]
call fcn.00402860
cmp eax, 0xffffffff
jne 0x40c19e
lea ecx, [ebp - 0xa4]
push ecx
call fcn.004222c0
mov ecx, eax
call fcn.00406530
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x10], esp
lea ecx, [ebp - 0x154]
push ecx
push eax
push edx
mov byte [ebp - 4], 0xa
call fcn.004088d0
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x34]
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push edx
mov byte [ebp - 4], 0xb
mov byte [ecx], bl
call fcn.00404af0
mov byte [ebp - 4], 0xa
call fcn.00422680
add esp, 0x38
cmp dword [ebp - 0x90], 0x10
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 8
jb 0x40c195
mov eax, dword [ebp - 0xa4]
push eax
call fcn.004df8f9
add esp, 4
cmp byte [ebp - 0x11], bl
je 0x40c314
push 7
push ebx
push str..tar.gz
lea ecx, [ebp - 0x34]
call fcn.00402860
cmp eax, 0xffffffff
jne 0x40c209
cmp dword [ebp - 0x20], 0x10
mov eax, dword [ebp - 0x34]
jae 0x40c1bf
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x34]
mov ecx, 0x10
cmp dword [ebp - 0x20], ecx
jae 0x40c1d6
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x3c], ecx
jae 0x40c1e2
lea eax, [ebp - 0x50]
push eax
push str.ID:_s_DoDownload_delete_file__s
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.DoDownload
call fcn.00406560
push 4
push 0x57d720
call fcn.0041cec0
add esp, 0x30
lea ecx, [ebp - 0x18c]
push ecx
call fcn.0042f580
mov ecx, eax
call fcn.0042ebd0
push 1
push 1
push 1
push 1
mov ecx, esi
call fcn.0040b590
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x15
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push str.Download_successfully
mov byte [ecx], bl
call fcn.00404e20
mov ecx, esi
call fcn.00407e90
mov eax, dword [ebp - 0x50]
mov esi, 0x10
cmp dword [ebp - 0x3c], esi
jae 0x40c260
lea eax, [ebp - 0x50]
push eax
push str.ID:_s_DoDownload_Succ_to_load...
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0xa
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push str.DoDownload
mov byte [ecx], bl
call fcn.00404e20
push 3
push 0x57d720
call fcn.0041cec0
add esp, 0x2c
lea ecx, [ebp - 0x18c]
call fcn.00404820
cmp dword [ebp - 0x20], esi
jb 0x40c2ad
mov edx, dword [ebp - 0x34]
push edx
call fcn.004df8f9
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x40c2c7
mov eax, dword [ebp - 0x6c]
push eax
call fcn.004df8f9
add esp, 4
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x6c], bl
cmp dword [ebp - 0x74], esi
jb 0x40c2e4
mov ecx, dword [ebp - 0x88]
push ecx
call fcn.004df8f9
add esp, 4
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x78], ebx
mov byte [ebp - 0x88], bl
cmp dword [ebp - 0x3c], esi
jb 0x40c301
mov edx, dword [ebp - 0x50]
push edx
call fcn.004df8f9
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
sub esp, 0x1c
mov dword [ebp - 0x18], esp
mov ecx, esp
push 0x11
push str.Failed_to_unpack.
jmp 0x40c336
push ebx
sub esp, 0x1c
mov dword [ebp - 0x18], esp
mov ecx, esp
push 0x29
push str.Failed_to_get_information_about_the_tool.
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
mov byte [ecx], bl
call fcn.00404e20
mov ecx, esi
call fcn.00407e90
mov eax, dword [ebp - 0x50]
mov esi, 0x10
cmp dword [ebp - 0x3c], esi
jae 0x40c35a
lea eax, [ebp - 0x50]
push eax
push str.ID:_s_DoDownload_Failed_to_load.
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0xa
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push str.DoDownload
mov byte [ecx], bl
call fcn.00404e20
push 1
push 0x57d720
call fcn.0041cec0
add esp, 0x2c
lea ecx, [ebp - 0x18c]
call fcn.00404820
cmp dword [ebp - 0x20], esi
jb 0x40c3a7
mov eax, dword [ebp - 0x34]
push eax
call fcn.004df8f9
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x40c3c1
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.004df8f9
add esp, 4
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x6c], bl
cmp dword [ebp - 0x74], esi
jb 0x40c3de
mov edx, dword [ebp - 0x88]
push edx
call fcn.004df8f9
add esp, 4
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x78], ebx
mov byte [ebp - 0x88], bl
cmp dword [ebp - 0x3c], esi
jb 0x40c3fb
mov eax, dword [ebp - 0x50]
push eax
call fcn.004df8f9
add esp, 4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor al, al
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret