Function at 0x48b900
Capabilities:
Delete file
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d64cd
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push esi
push edi
mov eax, dword [0x4fe0c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x30], edi
mov eax, dword [ebp + 8]
lea esi, [edi + 0x14]
push esi
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x2c]
xor ebx, ebx
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x1c], ebx
push eax
lea ecx, [edi + 0x2c]
call fcn.00403e60
mov eax, dword [ebp - 0x50]
cmp byte [eax + 0xd], bl
jne 0x48be79
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x10]
jb 0x48be79
cmp eax, dword [edi + 0x2c]
je 0x48b975
mov ebx, dword [eax + 0x14]
mov dword [ebp - 0x1c], ebx
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
je 0x48be80
cmp dword [ebx], 5
lea edi, [ebx + 0xc]
jne 0x48b998
cmp dword [edi], 0
je 0x48b998
mov esi, 1
jmp 0x48b99a
xor esi, esi
push 8
mov dword [ebx], 3
call fcn.0049ca7e
mov ecx, dword [ebp - 0x30]
add esp, 4
test esi, esi
mov dword [ebp - 0x14], eax
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 4]
mov dword [ebp - 0x2c], ecx
je 0x48bbf8
cmp dword [ecx - 0xc], 0
mov edx, dword [edi]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x4c], esi
je 0x48b9ee
sub esp, 8
push eax
push ecx
push ecx
mov ecx, esi
call fcn.00480270
add esp, 0x14
mov edi, eax
jmp 0x48be2a
add ebx, 0x18
test edx, edx
je 0x48bd50
push 0x4da00e
push 0x100
call fcn.0049cefa
add esp, 8
mov dword [ebp - 0x58], vtable.CxAutoArray_unsigned_char_.0
mov dword [ebp - 0x54], 0
test eax, eax
je 0x48ba27
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0
test ebx, ebx
je 0x48ba39
mov esi, dword [ebx + 4]
sub esi, dword [ebx]
jmp 0x48ba3b
xor esi, esi
mov ecx, dword [ebp - 0x20]
xor edi, edi
call fcn.0048a4d0
mov ecx, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x3c], ecx
test ecx, ecx
jne 0x48ba55
test eax, eax
je 0x48ba61
test ebx, ebx
je 0x48ba61
push eax
mov ecx, ebx
call fcn.00475680
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], edi
push eax
mov eax, dword [ebp - 0x20]
push 0x100
push dword [ebp - 0x54]
mov eax, dword [eax + 0x10]
push dword [eax]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x48bb82
nop dword [eax]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], edi
test ecx, ecx
je 0x48bb9c
test ebx, ebx
je 0x48bb2e
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
mov dword [ebp - 0x28], edx
sub dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x24], ecx
add dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], edx
adc eax, edi
test eax, eax
jb 0x48bb0e
ja 0x48bacf
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jbe 0x48bb0e
mov eax, dword [ebx]
lea edi, [esi + ecx]
sub edx, eax
cmp edi, edx
jb 0x48bb09
jbe 0x48bb0e
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
cmp edi, eax
jbe 0x48baf3
push ecx
push edi
mov ecx, ebx
call fcn.00475b50
mov ecx, dword [ebp - 0x18]
jmp 0x48bb0e
sub edi, edx
push edi
push 0
push dword [ebp - 0x2c]
call fcn.0049e870
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
add eax, edi
mov dword [ebx + 4], eax
mov eax, dword [ebx]
push ecx
push dword [ebp - 0x54]
add eax, esi
push eax
call fcn.0049e2f0
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov esi, ecx
xor edi, edi
add esi, dword [ebp - 0x34]
adc edi, dword [ebp - 0x38]
jmp 0x48bb33
add esi, ecx
adc edi, 0
push ecx
push edi
push esi
push dword [ebp - 0x3c]
push dword [ebp - 0x44]
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x20]
push dword [ebp - 0x4c]
call fcn.0048c200
add esp, 0x24
test eax, eax
je 0x48bb82
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x20]
push 0x100
push dword [ebp - 0x54]
mov dword [ebp - 0x18], 0
mov eax, dword [eax + 0x10]
push dword [eax]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x48ba90
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x48bb92
push eax
call fcn.0049cf03
add esp, 4
push 8
push dword [ebp - 0x14]
jmp 0x48be58
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x48bbac
push eax
call fcn.0049cf03
add esp, 4
push 8
push dword [ebp - 0x14]
mov edi, 1
call fcn.0049caae
add esp, 8
mov esi, dword [ebp - 0x1c]
push dword [ebp + 8]
mov eax, edi
neg eax
push edi
sbb eax, eax
add eax, 8
mov dword [esi], eax
mov eax, dword [ebp - 0x30]
push 0x547
push dword [eax + 0x10]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x48be80
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x48be80
cmp dword [ecx - 0xc], 0
mov dword [ebp - 0x28], esi
je 0x48bd57
test esi, esi
je 0x48bd50
test ecx, ecx
je 0x48bd50
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
lea edx, [ebp - 0x48]
mov dword [ebp - 4], 1
mov ecx, esi
call fcn.0047ffb0
test eax, eax
je 0x48bd3d
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x48bd3d
push 0x13
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, eax
call fcn.0048a350
mov esi, dword [ebp - 0x4c]
push esi
call fcn.004b3995
lea edx, [esi - 0x10]
add esp, 4
or esi, 0xffffffff
mov ebx, eax
mov ecx, esi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x48bc7c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebx - 0x12c]
cmp eax, 0x64
jb 0x48bce1
lea eax, [ebx - 0x190]
cmp eax, 0x64
jae 0x48bccd
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x48bb92
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x48bb92
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x48bb92
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push 8
push dword [ebp - 0x14]
jmp 0x48be58
lea eax, [ebx - 0x1f4]
cmp eax, 0x64
jb 0x48bc92
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ebx, dword [ebp - 0x44]
test edi, edi
je 0x48bd23
test ebx, ebx
je 0x48bcf0
lock inc dword [ebx + 4]
mov eax, dword [ebp - 0x48]
mov dword [edi], eax
mov eax, dword [edi + 4]
mov dword [edi + 4], ebx
mov edi, eax
mov dword [ebp - 0x4c], eax
test edi, edi
je 0x48bd23
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x48bd23
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x48bd23
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edx, dword [ebp - 0x48]
sub esp, 8
push dword [ebp - 0x14]
push ecx
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
call fcn.00480270
jmp 0x48be03
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x48bb92
or esi, 0xffffffff
jmp 0x48bc9d
xor edi, edi
jmp 0x48be2d
add ebx, 0x18
mov dword [ebp - 0x44], ebx
test esi, esi
je 0x48be55
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
lea edx, [ebp - 0x40]
mov dword [ebp - 4], 2
mov ecx, esi
call fcn.0047ffb0
test eax, eax
je 0x48be42
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x48be42
mov ebx, dword [ebp - 0x3c]
or esi, 0xffffffff
test edi, edi
je 0x48bddc
test ebx, ebx
je 0x48bda9
lock inc dword [ebx + 4]
mov eax, dword [edi + 4]
mov dword [edi], ecx
mov dword [edi + 4], ebx
mov edi, eax
mov dword [ebp - 0x4c], eax
test edi, edi
je 0x48bddc
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x48bddc
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x48bdd9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x48bded
mov edx, dword [eax]
cmp edx, dword [eax + 4]
je 0x48bded
mov dword [eax + 4], edx
sub esp, 8
mov edx, ecx
mov ecx, dword [ebp - 0x28]
push dword [ebp - 0x14]
push fcn.0048c200
push eax
call fcn.00480080
add esp, 0x14
mov edi, eax
test ebx, ebx
je 0x48be2a
mov eax, esi
lock xadd dword [ebx + 4], eax
jne 0x48be2a
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lock xadd dword [ebx + 8], esi
dec esi
jne 0x48be2a
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
push 8
push eax
call fcn.0049caae
add esp, 8
test edi, edi
jne 0x48bbbe
jmp 0x48be62
mov edi, dword [ebp - 0x3c]
test edi, edi
je 0x48bb92
or esi, 0xffffffff
jmp 0x48bc9d
push 8
push eax
xor edi, edi
call fcn.0049caae
add esp, 8
mov esi, dword [ebp - 0x1c]
cmp dword [esi], 4
jne 0x48bbc1
mov dword [esi], 5
jmp 0x48bbe1
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4