Function at 0x606ae9
Capabilities:
Copy file
Receive http response
Write file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x48]
sub esp, 0x48
push 0xffffffffffffffff
push 0x616fb1
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x710544]
xor eax, ebp
mov dword [ebp + 0x44], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
xor eax, eax
mov esi, eax
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x18], esi
mov edi, eax
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x1c], eax
mov dword [ebp], eax
call fcn.00606218
mov dword [ebp + 0x30], eax
test eax, eax
jne 0x606b79
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov edi, eax
push edi
push 0x6bbe80
call fcn.00609c05
push edi
push str.printErrorMsgForID:_Errorcode:__d
call fcn.00609c05
add esp, 0x10
push 0
push edi
call fcn.005fa5d9
mov ecx, eax
call fcn.005fa4e2
jmp 0x606dfc
cmp dword [ebx + 0x4c], esi
jbe 0x606de6
cmp dword [ebx], edi
je 0x606be3
lea eax, [ebp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
test esi, esi
lea eax, [esi + 1]
push 0x64
cmove eax, dword [ebp + 0x20]
lea ecx, [ebp + 0x28]
pop edx
mov dword [ebp + 0x20], eax
add esi, 0x7a120
call fcn.006083a4
push esi
push dword [ebp + 0x20]
push 0x6bbf08
push dword [ebp + 0x28]
call fcn.00458d6e
push dword [ebp + 0x28]
push 0x6bbda8
call fcn.00609c05
add esp, 0x18
mov ecx, ebx
push dword [ebp + 0x28]
call fcn.006063ad
test eax, eax
jne 0x606d9d
mov esi, dword [ebp + 0x18]
cmp dword [ebx + 8], 0xc8
je 0x606bf9
cmp dword [ebx + 8], 0xce
jne 0x606dc1
cmp dword [ebx + 0x74], edi
jne 0x606c09
push 0x6bbe30
call fcn.00609b90
pop ecx
and dword [ebp + 0x24], edi
lea eax, [ebp + 0x24]
push eax
push dword [ebx + 0x80]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x606f20
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x606d79
inc eax
push eax
push 2
call fcn.00518b71
pop ecx
pop ecx
lea ecx, [ebp + 0x1c]
mov dword [ebp + 0x2c], eax
push ecx
push dword [ebp + 0x24]
push eax
push dword [ebx + 0x80]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x606f04
mov eax, dword [ebp + 0x1c]
add esi, eax
mov dword [ebp + 0x18], esi
test eax, eax
je 0x606d67
cmp dword [ebx + 0x24], 2
jne 0x606cf9
push dword [ebp + 0x2c]
lea ecx, [ebx + 0xc]
call fcn.00459264
mov eax, dword [ebx + 0xc]
mov edx, 0x6b7ad4
mov ecx, edx
mov dword [ebp + 0x10], edx
sub ecx, eax
push 0
mov eax, dword [eax - 0xc]
push edx
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x2c], eax
call fcn.00513abe
pop ecx
pop ecx
mov edx, eax
mov ecx, accept
mov eax, dword [ebp + 0x2c]
sub ecx, edx
mov dword [ebp + 0xc], edx
cmp ecx, eax
jl 0x606fc0
add eax, edx
lea ecx, [ebx + 0xc]
push eax
mov dword [ebp + 4], eax
call fcn.0045313f
mov ecx, dword [ebp + 0x14]
mov edx, eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp + 8], edx
cmp ecx, eax
ja 0x606cd8
add ecx, edx
jmp 0x606cdb
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push edx
push ecx
mov ecx, dword [ebp + 8]
add ecx, eax
call fcn.005f9c5f
pop ecx
pop ecx
push dword [ebp + 4]
lea ecx, [ebx + 0xc]
call fcn.00453119
jmp 0x606d70
push 0
lea ecx, [ebp]
push ecx
push eax
push dword [ebp + 0x2c]
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x606eda
cmp dword [ebx + 0x74], edi
je 0x606d70
movd xmm1, esi
mov eax, esi
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x6f3e30]
mov eax, dword [ebx + 0x4c]
mulsd xmm1, qword [0x6f3d90]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x6f3e30]
divsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push 0
push dword [ebx + 0x78]
push dword [ebx + 0x74]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x606d70
push ecx
lea ecx, [ebx + 0xc]
call fcn.004590a0
cmp dword [ebp + 0x1c], edi
jne 0x606c09
cmp dword [ebx], edi
je 0x606d92
lea eax, [ebp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0x258
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, dword [ebx + 0x4c]
jb 0x606b82
jmp 0x606de3
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov edi, eax
push edi
call fcn.00607cdc
push 2
push edi
call fcn.005fa5d9
mov ecx, eax
call fcn.005fa4e2
mov eax, dword [ebp + 0x30]
jmp 0x606dec
push dword [ebx + 8]
push 0x6bc0c0
call fcn.00609c05
pop ecx
pop ecx
push 1
push 0
call fcn.005fa5d9
mov ecx, eax
call fcn.005fa4e2
push 0xd
pop edi
mov eax, dword [ebp + 0x30]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebx + 0x24], 4
jne 0x606f88
push 0
push dword [ebx + 0x3c]
push dword [ebx + 0x40]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp eax, 1
je 0x606f37
call esi
mov edi, eax
push 0
push edi
call fcn.005fa5d9
mov ecx, eax
call fcn.005fa4e2
push edi
push 0x6bc150
call fcn.00609c05
push 0x6bc058
call fcn.00609c05
push dword [ebx + 0x40]
lea ecx, [ebp - 0x174]
call fcn.00458edf
and dword [ebp - 4], 0
lea ecx, [ebp - 0xbc]
sub esp, 0xc
push dword [ebx + 0x3c]
call fcn.00458de7
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x606eae
cmp dword [ebp - 0x6c], 0
je 0x606e9f
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xbc]
call fcn.00458f6d
lea ecx, [ebp - 0xbc]
call fcn.00455972
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x606eae
lea ecx, [ebp - 0x174]
call fcn.00458e76
cmp dword [ebp - 0x6c], 0
je 0x606ebf
lea ecx, [ebp - 0xbc]
call fcn.00455972
lea ecx, [ebp - 0xbc]
call fcn.004556f6
lea ecx, [ebp - 0x174]
call fcn.00458d9b
jmp 0x606fa1
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov edi, eax
push edi
push str.InternetGetRequestByBitrate_:_Error_occured_in_WriteFile______d
call fcn.00609aff
push edi
push str.printErrorMsgForID:_Errorcode:__d
call fcn.00609c05
add esp, 0x10
push 0
jmp 0x606daf
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov edi, eax
push edi
push 0x6bc010
call fcn.00609aff
pop ecx
pop ecx
jmp 0x606da7
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov edi, eax
push edi
push 0x6bbf70
call fcn.00609c05
jmp 0x606f19
push dword [ebx + 0x28]
lea ecx, [ebp + 0x2c]
call fcn.0045290e
push 0
push 0x6bc0a8
lea ecx, [ebp + 0x2c]
mov dword [ebp - 4], 2
call fcn.004527c8
test eax, eax
je 0x606f72
push dword [ebx + 0x3c]
push dword [ebx + 0x28]
push dword [ebx + 0x34]
push 0x6bc1e0
call fcn.00609c05
add esp, 0x10
push dword [ebx + 0x40]
call fcn.00517a29
pop ecx
mov ecx, dword [ebp + 0x2c]
lea ecx, [ecx - 0x10]
call fcn.00452239
jmp 0x606fa1
mov ecx, dword [ebx + 0x40]
call fcn.00608326
mov edi, eax
push 0
push edi
call fcn.005fa5d9
mov ecx, eax
call fcn.005fa4e2
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x44]
xor ecx, ebp
call fcn.00507778
add ebp, 0x48
leave
ret
push 0x80070057
call fcn.00452132
int3