Function at 0x404280
Capabilities:
Acquire debug privileges
Create http request
Create thread
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40665b
mov eax, dword fs:[0]
push eax
sub esp, 0x450
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 8]
push 0
push 0
push 0
push 0
push str.Piko
mov dword [ebx + 4], eax
call dword [sym.imp.WININET.dll_InternetOpenA]
push 0
push 0x400100
push 0
push 0
mov esi, eax
push str.http:__www.google.com
push esi
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
lea ecx, [ebp - 0x420]
mov dword [ebp - 0x454], eax
push ecx
push 0x400
lea ecx, [ebp - 0x41c]
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
cmp dword [ebp - 0x420], 0
mov edi, dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
sete al
mov byte [ebp - 0x44e], al
test al, al
je 0x404367
push 0xc
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call edi
push 0x4055b0
push ecx
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Error:
call fcn.00405370
mov edx, str.No_connection
mov ecx, eax
call fcn.00405370
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov al, byte [ebp - 0x44e]
mov byte [0x409449], 0
test al, al
jne 0x404363
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x454]
call esi
lea eax, [ebp - 0x44c]
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x4043e0
lea eax, [ebp - 0x444]
push eax
push str.SeDebugPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
push 0
push 0
push 0x10
lea eax, [ebp - 0x448]
mov dword [ebp - 0x448], 1
push eax
push 0
push dword [ebp - 0x44c]
mov dword [ebp - 0x43c], 2
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov byte [ebp - 0x44e], 1
test eax, eax
jne 0x4043e7
mov byte [ebp - 0x44e], 0
xor eax, eax
mov dword [ebx + 8], 0
mov dword [ebp - 0x424], 7
mov dword [ebp - 0x428], 0
mov word [ebp - 0x438], ax
mov dword [ebp - 4], eax
mov ecx, ebx
lea eax, [ebp - 0x438]
push eax
call fcn.00404f90
mov esi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
test al, al
sete al
mov byte [ebp - 0x44d], al
test al, al
je 0x404478
push 0xc
push 0xfffffffffffffff5
call esi
push eax
call edi
push 0x4055b0
push ecx
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Error:
call fcn.00405370
mov edx, str.Could_not_retrieve_the_filename_of_Skype
mov ecx, eax
call fcn.00405370
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov al, byte [ebp - 0x44d]
mov byte [0x409449], 0
test al, al
jne 0x404474
push dword [ebx + 4]
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebx], eax
test eax, eax
jne 0x4044e2
cmp byte [ebp - 0x44e], al
jne 0x4044e2
push 0xc
push 0xfffffffffffffff5
mov byte [ebp - 0x44d], 1
call esi
push eax
call edi
push 0x4055b0
push ecx
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Error:
call fcn.00405370
mov edx, str.Could_not_open_the_process__missing_permissions_
mov ecx, eax
call fcn.00405370
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov al, byte [ebp - 0x44d]
mov byte [0x409449], 0
jmp 0x4044e4
xor al, al
test al, al
jne 0x4044e4
cmp dword [ebx], 0
sete al
mov byte [ebp - 0x44d], al
test al, al
je 0x404544
push 0xc
push 0xfffffffffffffff5
call esi
push eax
call edi
push 0x4055b0
push ecx
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Error:
call fcn.00405370
mov edx, str.Could_not_open_the_process__process_protected_
mov ecx, eax
call fcn.00405370
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov al, byte [ebp - 0x44d]
mov byte [0x409449], 0
jmp 0x404540
test al, al
jne 0x404540
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 0xe
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.KERNELBASE.dll
mov word [ecx], ax
call fcn.00403390
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x458]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.00405070
test al, al
sete al
mov byte [ebp - 0x44d], al
test al, al
je 0x4045d8
push 0xc
push 0xfffffffffffffff5
call esi
push eax
call edi
push 0x4055b0
push ecx
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Error:
call fcn.00405370
mov edx, str.KERNELBASE.dll_is_not_loaded_in_current_process
mov ecx, eax
call fcn.00405370
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov al, byte [ebp - 0x44d]
mov byte [0x409449], 0
test al, al
jne 0x4045d4
push 0x40766c
push str.kernelbase.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x458]
mov esi, eax
mov eax, dword [ebp - 0x45c]
add eax, ecx
mov dword [ebp - 0x454], ecx
cmp esi, eax
ja 0x404611
test esi, esi
je 0x404611
xor al, al
jmp 0x404665
push 0xc
push 0xfffffffffffffff5
mov byte [ebp - 0x44d], 1
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call edi
push 0x4055b0
push ecx
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Error:
call fcn.00405370
mov edx, str.IsDebuggerPresent_not_found_in_KERNELBASE.dll_of_this_process
mov ecx, eax
call fcn.00405370
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov al, byte [ebp - 0x44d]
mov ecx, dword [ebp - 0x454]
mov byte [0x409449], 0
test al, al
jne 0x404665
sub esp, 0x18
sub esi, ecx
mov ecx, esp
xor eax, eax
push 0xe
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.KERNELBASE.dll
mov word [ecx], ax
call fcn.00403390
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x458]
push eax
push dword [ebx + 4]
call fcn.00405070
test al, al
sete al
mov byte [ebp - 0x44d], al
test al, al
je 0x404704
push 0xc
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call edi
push 0x4055b0
push ecx
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Error:
call fcn.00405370
mov edx, str.KERNELBASE.dll_is_not_loaded_in_Skype_process
mov ecx, eax
call fcn.00405370
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov al, byte [ebp - 0x44d]
mov byte [0x409449], 0
jmp 0x404700
test al, al
jne 0x404700
mov edi, dword [ebp - 0x458]
lea eax, [ebp - 0x1c]
push 0
push 6
push eax
add edi, esi
mov dword [ebp - 0x1c], 0xb8
mov esi, dword [ebx]
push edi
push esi
mov word [ebp - 0x18], 0xc300
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push 6
push edi
push esi
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp - 0x438]
push eax
call fcn.00403270
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x458]
push eax
push dword [ebx + 4]
call fcn.00405070
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
test al, al
sete al
mov byte [ebp - 0x44d], al
test al, al
je 0x4047d2
push 0xc
push 0xfffffffffffffff5
call edi
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
push eax
call esi
push 0x4055b0
push ecx
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Error:
call fcn.00405370
mov edx, str.Skype_module_is_not_loaded
mov ecx, eax
call fcn.00405370
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov al, byte [ebp - 0x44d]
mov byte [0x409449], 0
jmp 0x4047d8
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
test al, al
jne 0x4047d8
push dword [ebp - 0x45c]
push dword [ebp - 0x458]
push dword [ebx]
call fcn.004051f0
test eax, eax
mov dword [ebx + 0xc], eax
sete al
mov byte [ebp - 0x44d], al
test al, al
je 0x404848
push 0xc
push 0xfffffffffffffff5
call edi
push eax
call esi
push 0x4055b0
push ecx
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Error:
call fcn.00405370
mov edx, str.Breakpoint_could_not_be_set__address_not_found
mov ecx, eax
call fcn.00405370
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov al, byte [ebp - 0x44d]
mov byte [0x409449], 0
test al, al
jne 0x404844
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push ebx
push 0x4049a0
push 0
push 0
call edi
mov esi, eax
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x4055b0
push ecx
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Debugging_successfully_started
call fcn.00405370
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0
push 0
push ebx
push 0x4049a0
push 0
push 0
call edi
cmp dword [ebp - 0x424], 8
jb 0x4048b9
push dword [ebp - 0x438]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004057cf
mov esp, ebp
pop ebp
ret 4