Function at 0x403ab5
Capabilities:
Check http status code
Create directory
Create http request
Delete file
Download and write a file
Get common file path
Read data from internet
Receive and write data from server to client
Receive data
Terminate process
Write file on windows

Disassembly:
mov eax, 0x41047d
call fcn.00408c5c
push ecx
mov eax, 0x2268
call fcn.004090c0
mov eax, dword [0x415138]
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
push 0x411690
lea ecx, [ebp - 0x223c]
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x222a], 1
call fcn.0040129e
xor ebx, ebx
push 0x411430
lea ecx, [ebp - 0x2228]
mov dword [ebp - 4], ebx
call fcn.0040129e
lea eax, [ebp - 0x2228]
push eax
lea ecx, [ebp - 0x223c]
mov byte [ebp - 4], 1
call fcn.00401750
mov ecx, dword [ebp - 0x2228]
cmp ecx, ebx
mov byte [ebp - 4], bl
je 0x403b2e
call fcn.004013dd
mov edi, 0x41168c
push edi
lea ecx, [ebp - 0x2238]
call fcn.0040129e
lea eax, [esi + 0x14]
push eax
lea eax, [ebp - 0x2230]
push edi
push eax
mov byte [ebp - 4], 2
call fcn.00401802
add esp, 0xc
lea ecx, [ebp - 0x2238]
push ecx
lea ecx, [ebp - 0x2234]
push ecx
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.004017b2
push esi
lea ecx, [ebp - 0x2228]
push ecx
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.004017b2
push eax
lea ecx, [ebp - 0x223c]
mov byte [ebp - 4], 5
call fcn.00401750
mov ecx, dword [ebp - 0x2228]
cmp ecx, ebx
je 0x403ba8
call fcn.004013dd
mov dword [ebp - 0x2228], ebx
mov ecx, dword [ebp - 0x2234]
cmp ecx, ebx
je 0x403bbd
call fcn.004013dd
mov dword [ebp - 0x2234], ebx
mov ecx, dword [ebp - 0x2230]
cmp ecx, ebx
je 0x403bd2
call fcn.004013dd
mov dword [ebp - 0x2230], ebx
mov ecx, dword [ebp - 0x2238]
cmp ecx, ebx
je 0x403be1
call fcn.004013dd
mov dword [ebp - 0x2230], ebx
push 0x2001f
push str.SoftwareDrDebugPoller
push SysReAllocString
lea ecx, [ebp - 0x2230]
mov byte [ebp - 4], 6
call fcn.00402659
cmp eax, ebx
jne 0x403ca9
push str._n_nRestoring_from
lea ecx, [ebp - 0x2234]
call fcn.0040129e
lea eax, [ebp - 0x2234]
push eax
lea eax, [ebp - 0x2228]
push eax
lea ecx, [ebp - 0x223c]
mov byte [ebp - 4], 7
call fcn.004017b2
push dword [ebp + 8]
lea ecx, [ebp - 0x2238]
push ecx
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.004017b2
mov ecx, dword [eax]
cmp ecx, ebx
mov byte [ebp - 4], 9
je 0x403c60
call fcn.004010b7
jmp 0x403c62
xor eax, eax
push ebx
push str.Poller
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 0x2238]
cmp ecx, ebx
je 0x403c85
call fcn.004013dd
mov dword [ebp - 0x2238], ebx
mov ecx, dword [ebp - 0x2228]
cmp ecx, ebx
je 0x403c9a
call fcn.004013dd
mov dword [ebp - 0x2228], ebx
mov ecx, dword [ebp - 0x2234]
cmp ecx, ebx
je 0x403ca9
call fcn.004013dd
lea ecx, [ebp - 0x2230]
mov byte [ebp - 4], bl
call fcn.004025f4
lea eax, [ebp - 0x224]
push eax
push 0x105
call dword [sym.imp.KERNEL32.DLL_GetTempPathA]
test eax, eax
jne 0x403cdb
push 1
push 0x411630
push 3
jmp 0x403f5a
lea eax, [ebp - 0x11c]
push eax
push ebx
push 0x41162c
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.DLL_GetTempFileNameA]
test eax, eax
jne 0x403d02
push 1
push str.GetTempFileName
jmp 0x403cd4
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
push ebx
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
test eax, eax
jne 0x403d2a
push 1
push 0x4115ec
jmp 0x403cd4
push 0x4115e8
lea ecx, [ebp - 0x2234]
mov byte [ebp - 0x2229], bl
mov byte [ebp - 4], 0xa
call fcn.0040129e
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x2250]
mov byte [ebp - 4], 0xb
call fcn.0040124a
lea ecx, [ebp - 0x2234]
push ecx
lea ecx, [ebp - 0x2238]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.004017b2
push dword [ebp + 0xc]
lea ecx, [ebp - 0x2230]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.004017b2
mov ecx, dword [ebp - 0x2238]
cmp ecx, ebx
je 0x403d9d
call fcn.004013dd
mov dword [ebp - 0x2238], ebx
mov ecx, dword [ebp - 0x2250]
cmp ecx, ebx
je 0x403db2
call fcn.004013dd
mov dword [ebp - 0x2250], ebx
mov ecx, dword [ebp - 0x2234]
cmp ecx, ebx
mov byte [ebp - 4], 0xf
je 0x403dcb
call fcn.004013dd
mov dword [ebp - 0x2234], ebx
mov ecx, dword [ebp - 0x2230]
cmp ecx, ebx
je 0x403ddc
call fcn.004010b7
jmp 0x403dde
xor eax, eax
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov dword [ebp - 0x224c], eax
cmp eax, 0xffffffff
mov byte [ebp - 4], 0x12
jne 0x403e16
mov eax, dword [ebp - 0x2230]
cmp eax, ebx
je 0x403f55
jmp 0x403f53
mov ecx, dword [ebp - 0x223c]
cmp ecx, ebx
je 0x403e27
call fcn.004010b7
jmp 0x403e29
xor eax, eax
push ebx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x2228], eax
mov edi, dword [ebp + 8]
mov ecx, dword [edi]
cmp ecx, ebx
mov byte [ebp - 4], 0x13
je 0x403e4e
call fcn.004010b7
jmp 0x403e50
xor eax, eax
push ebx
push ebx
push ebx
push ebx
push eax
push dword [ebp - 0x2228]
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov esi, eax
mov dword [ebp - 0x2258], esi
cmp esi, ebx
mov byte [ebp - 4], 0x14
jne 0x403e86
mov eax, dword [edi]
cmp eax, ebx
je 0x403e7b
mov eax, dword [eax]
jmp 0x403e7d
xor eax, eax
push ebx
push eax
push 8
jmp 0x403f5a
xor eax, eax
mov byte [ebp + 0xc], bl
lea edi, [ebp + 0xd]
stosw word es:[edi], ax
push ebx
stosb byte es:[edi], al
lea eax, [ebp - 0x2248]
push eax
lea eax, [ebp + 0xc]
push eax
push 0x13
push esi
mov dword [ebp - 0x2248], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
cmp eax, ebx
je 0x403ee9
cmp dword [ebp - 0x2248], ebx
jbe 0x403ee9
lea eax, [ebp + 0xc]
push eax
call fcn.004090af
cmp eax, 0xc8
pop ecx
jb 0x403ed4
cmp eax, 0x12c
jb 0x403ee9
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, ebx
je 0x403ee1
mov eax, dword [eax]
jmp 0x403ee3
xor eax, eax
push ebx
push eax
push 0x14
jmp 0x403f5a
lea eax, [ebp - 0x2240]
push eax
push 0x2000
lea eax, [ebp - 0x2224]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
cmp eax, ebx
jne 0x403f1c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, ebx
je 0x403f14
mov eax, dword [eax]
jmp 0x403f16
xor eax, eax
push ebx
push eax
push 9
jmp 0x403f5a
cmp dword [ebp - 0x2240], ebx
jbe 0x403f5f
push ebx
lea eax, [ebp - 0x225c]
push eax
push dword [ebp - 0x2240]
lea eax, [ebp - 0x2224]
push eax
push dword [ebp - 0x224c]
call dword [sym.imp.KERNEL32.DLL_WriteFile]
cmp eax, ebx
jne 0x403ee9
mov eax, dword [ebp - 0x2230]
cmp eax, ebx
je 0x403f55
mov ebx, dword [eax]
push 1
push ebx
push 7
call fcn.00405f81
cmp esi, ebx
je 0x403f6a
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x2228], ebx
je 0x403f7e
push dword [ebp - 0x2228]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea ecx, [ebp - 0x224c]
call fcn.004028bd
mov dword [ebp + 8], ebx
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x2230]
push eax
mov byte [ebp - 4], 0x15
call fcn.004065fe
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
cmp ecx, ebx
mov dword [ebp - 0x2244], eax
mov byte [ebp - 4], 0xf
je 0x403fb8
call fcn.004013dd
push 0xff
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x2244]
push eax
push 1
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
cmp eax, 1
je 0x403ff8
push dword [ebp - 0x2244]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ecx, dword [ebp - 0x2230]
cmp ecx, ebx
je 0x40407e
call fcn.004013dd
jmp 0x40407e
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x2278]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x403fb8
lea eax, [ebp - 0x2278]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [ebp - 0x2274], 0x12
je 0x40403c
cmp dword [ebp - 0x2274], 0x16
jne 0x403ff8
cmp dword [ebp - 0x2270], ebx
je 0x403ff8
call fcn.0040366a
jmp 0x403ff8
call fcn.0040366a
mov byte [ebp - 0x2229], 1
jmp 0x403ff8
lea eax, [ebp - 0x11c]
push eax
mov dword [ebp - 4], ebx
call fcn.00405fa5
cmp byte [ebp - 0x2229], bl
pop ecx
je 0x40409e
push 1
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov ecx, dword [ebp - 0x223c]
cmp ecx, ebx
je 0x4040ad
call fcn.004013dd
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0x222a]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.00407ea0
pop edi
pop esi
pop ebx
leave
ret 8