Function at 0x4146f0
Capabilities:
Check for time delay via gettickcount
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4291a4
push eax
mov eax, 0x1086c
mov dword fs:[0], esp
call fcn.00427c20
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x6c], eax
mov dword [esp + 0x10884], ebp
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov byte [esp + 0x24], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi + 0x91c]
push 0x433bec
push ecx
push 0x433d0c
mov dword [esp + 0x58], eax
mov byte [esp + 0x27], 0
call fcn.00403020
add esp, 0xc
cmp eax, ebp
jne 0x414769
mov byte [esp + 0x1b], 1
mov edx, dword [esp + 0x1088c]
push ebp
push ebp
push 3
push ebp
push 3
push connect
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
cmp ebx, ebp
mov dword [esp + 0x3c], ebx
je 0x415056
or edi, 0xffffffff
cmp ebx, edi
je 0x415059
lea eax, [esp + 0x30]
push ebp
push eax
lea ecx, [esp + 0x484]
push 0x46
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebp
je 0x4147d7
lea edx, [esp + 0x24]
lea eax, [esp + 0x6c]
push edx
push eax
lea ecx, [esp + 0x484]
push 0x46
push ecx
call fcn.004134d0
add esp, 0x10
cmp eax, ebp
je 0x4147fb
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x1088c]
mov dword [esp + 0x10884], edi
call sub.MFC42.DLL_CString::CString
mov eax, 2
jmp 0x415077
mov dl, byte [0x433b08]
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0xad]
mov byte [esp + 0xac], dl
mov byte [esp + 0xf0], dl
rep stosd dword es:[edi], eax
mov ecx, 0x20
lea edi, [esp + 0xf1]
rep stosd dword es:[edi], eax
mov dword [esp + 0x61], eax
mov ecx, 0x20
mov dword [esp + 0x65], eax
lea edi, [esp + 0x175]
mov byte [esp + 0x174], dl
mov word [esp + 0x69], ax
rep stosd dword es:[edi], eax
mov ecx, 0x3f
lea edi, [esp + 0x1f9]
mov byte [esp + 0x1f8], dl
mov byte [esp + 0x2f8], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x2f9]
mov byte [esp + 0x88], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x89]
mov byte [esp + 0x60], dl
mov edx, dword [esp + 0x24]
mov dword [esp + 0x34], ebp
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x3f8]
lea eax, [esp + 0x54]
push ecx
push edx
push ebp
lea ecx, [esp + 0x54]
push eax
lea edx, [esp + 0x54]
push ecx
lea eax, [esp + 0x188]
push edx
lea ecx, [esp + 0xa0]
push eax
lea edx, [esp + 0x54]
push ecx
lea eax, [esp + 0x54]
push edx
lea ecx, [esp + 0x74]
push eax
lea edx, [esp + 0x320]
push ecx
lea eax, [esp + 0x224]
push edx
lea ecx, [esp + 0x90]
push eax
lea edx, [esp + 0x124]
push ecx
lea eax, [esp + 0xe4]
push edx
lea ecx, [esp + 0xa8]
push eax
push ecx
push ebx
mov ecx, esi
mov dword [esp + 0x98], ebp
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x90], ebp
mov dword [esp + 0x9c], ebp
call fcn.00417220
cmp eax, ebp
je 0x414963
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x1088c]
mov dword [esp + 0x10884], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 3
jmp 0x415077
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
sub edx, eax
je 0x415031
lea eax, [esp + 0x30]
push ebp
push eax
lea ecx, [esp + 0x60]
push 3
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebp
jne 0x4149b3
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x1088c]
mov dword [esp + 0x10884], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 5
jmp 0x415077
mov eax, dword [esp + 0x59]
mov edx, dword [esp + 0x5a]
and eax, 0xff
and edx, 0xff
shl eax, 8
add eax, edx
cmp eax, ebp
jg 0x4149f7
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x1088c]
mov dword [esp + 0x10884], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 6
jmp 0x415077
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x7c]
sub eax, edx
lea ecx, [esp + 0x14]
sub eax, 3
mov dword [esp + 0x14], ebp
push eax
push ecx
mov ecx, dword [esi + 0x14594]
push ebx
call fcn.00425230
cmp dword [esp + 0x14], ebp
jne 0x414a48
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x1088c]
mov dword [esp + 0x10884], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 7
jmp 0x415077
mov edx, dword [esi + 0x14594]
lea eax, [esi + 0x4e]
lea ecx, [esi + 0xd]
push eax
mov eax, dword [edx + 0x44]
push ecx
push eax
call fcn.00401260
mov ebx, dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
cmp eax, ebp
jne 0x414ae6
push 0x50c
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x414ae4
mov ecx, 0x143
xor eax, eax
mov edi, ebp
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xac]
push ecx
push 0x431080
push ebp
call ebx
lea edx, [esp + 0xfc]
lea eax, [ebp + 0x41]
push edx
push 0x431080
push eax
call ebx
lea eax, [esi + 0xd]
lea ecx, [ebp + 0xc2]
push eax
push 0x431080
push ecx
call ebx
lea eax, [esi + 0x4e]
lea edx, [ebp + 0x103]
push eax
push 0x431080
push edx
call ebx
mov eax, dword [esi + 0x14594]
add eax, 0x44
push eax
push ebp
call fcn.00401210
add esp, 0x38
xor ebp, ebp
mov eax, dword [esi + 0x14594]
lea ecx, [esp + 0xf0]
push ecx
lea edx, [esp + 0xb0]
mov ecx, dword [eax + 0x48]
push edx
push ecx
call fcn.00401340
add esp, 0xc
cmp eax, ebp
jne 0x414c74
push 0x594
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x414c72
lea edx, [esp + 0xac]
mov ecx, 0x165
xor eax, eax
mov edi, ebp
push edx
push 0x431080
rep stosd dword es:[edi], eax
push ebp
call ebx
lea eax, [esp + 0xfc]
lea ecx, [ebp + 0x41]
push eax
push 0x431080
push ecx
call ebx
lea edx, [esp + 0xa0]
lea eax, [ebp + 0xc2]
push edx
push 0x431080
push eax
call ebx
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x84]
push edx
lea eax, [ebp + 0x148]
push 0x431080
push eax
mov dword [ebp + 0x144], ecx
call ebx
mov ecx, dword [esp + 0x74]
mov dword [ebp + 0x154], ecx
mov edx, dword [esp + 0x80]
mov dword [ebp + 0x158], edx
mov eax, dword [esp + 0x64]
mov dword [ebp + 0x15c], eax
mov ecx, dword [esp + 0x84]
mov dword [ebp + 0x3e8], ecx
mov dword [ebp + 0x3ec], 0
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x1a4]
mov dword [ebp + 0x3e4], edx
mov eax, dword [esp + 0x54]
push ecx
lea edx, [ebp + 0x160]
and eax, 0xff
push 0x431080
push edx
mov dword [ebp + 0x3f0], eax
call ebx
lea eax, [esp + 0x234]
lea ecx, [ebp + 0x1e1]
push eax
push 0x431080
push ecx
call ebx
add esp, 0x48
lea edx, [esp + 0x2f8]
lea eax, [ebp + 0x2e1]
push edx
push 0x431080
push eax
call ebx
lea ecx, [esp + 0x404]
lea edx, [ebp + 0x3f4]
push ecx
push 0x431080
push edx
call ebx
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
mov dword [ebp + 0x580], ecx
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov eax, dword [edx + 8]
mov dword [ebp + 0x584], eax
mov edx, dword [esp + 0x2c]
mov cl, byte [edx]
mov dword [ebp + 0x588], ecx
mov eax, dword [esi + 0x14594]
add eax, 0x48
push eax
push ebp
call fcn.004012f0
add esp, 0x20
xor ebp, ebp
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x14]
push edx
mov cl, byte [eax]
mov edi, dword [eax + 4]
and ecx, 0x7f
sub edi, ecx
mov dword [esp + 0x84], edi
call fcn.00401070
add esp, 4
mov ecx, esi
mov dword [esi + 0x8e8], 0xc8
push 0xc8
call fcn.00413a20
mov ecx, esi
call fcn.00413fe0
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Content_length
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.004137f0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.no_cache_no_store_max_age0_s_maxage0_must_revalidate
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x1088c], 1
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Cache_Control
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x1088c], 0
call fcn.00413720
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.bytes
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x1088c], 2
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Accept_Ranges
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x1088c], 0
call fcn.00413720
push 0x432838
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x20]
mov ecx, esi
push eax
mov byte [esp + 0x10888], 3
call fcn.004136a0
lea ecx, [esp + 0x20]
mov byte [esp + 0x10884], 0
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esi + 0x14550]
mov eax, dword [esi + 0x14540]
push ecx
mov ecx, dword [esi + 4]
push eax
call fcn.00426c70
mov edx, dword [esi + 0x14550]
mov eax, dword [esi + 0x8f8]
mov ebx, edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], ebp
mov byte [esp + 0x13], 1
mov dword [esp + 0x28], ebp
cmp eax, ebp
jne 0x414db4
mov dword [esi + 0x8f8], edi
mov eax, edi
and eax, 0xf
je 0x414dc6
sub edi, eax
add edi, 0x10
mov dword [esp + 0x2c], edi
mov ebx, edi
mov edi, dword [esi + 0x904]
mov eax, dword [esp + 0x3c]
push 1
push ebp
push edi
push eax
mov dword [esp + 0x24], edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp edi, ebx
jae 0x414ff7
mov al, byte [esi + 0xc]
test al, al
jne 0x414ff7
mov al, byte [0x433e74]
test al, al
jne 0x414ff7
mov ecx, ebx
sub ecx, edi
cmp ecx, 0x2800
jbe 0x414e12
mov ebx, 0x2800
jmp 0x414e14
sub ebx, edi
xor edi, edi
cmp ebx, ebp
jle 0x414e58
mov al, byte [esi + 0xc]
test al, al
jne 0x414e58
mov al, byte [0x433e74]
test al, al
jne 0x414e58
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x30]
push ebp
push edx
lea eax, [esp + edi + 0x484]
push ebx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebp
je 0x414ff2
mov eax, dword [esp + 0x30]
sub ebx, eax
add edi, eax
cmp ebx, ebp
jg 0x414e1a
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov al, byte [esp + 0x1b]
add edx, edi
add ecx, edi
mov dword [esp + 0x14], edx
test al, al
mov dword [esp + 0x28], ecx
je 0x414eec
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
push edx
push ebp
push eax
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x6c]
push ecx
push edx
lea ecx, [esp + 0x9c]
push eax
push ecx
push ecx
lea edx, [esp + 0x110]
mov ecx, esp
mov dword [esp + 0xa4], esp
push edx
call sub.MFC42.DLL_CString::CString_2
push ecx
lea eax, [esp + 0xd0]
mov ecx, esp
mov dword [esp + 0x7c], esp
push eax
mov byte [esp + 0x108ac], 4
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x4a0]
and ecx, 0xff
mov byte [esp + 0x108a8], 0
push ecx
push edi
push edx
mov ecx, esi
call fcn.004150a0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
mov ebx, edi
jbe 0x414f2e
mov edx, ecx
sub ebx, edx
add ebx, eax
cmp ebx, ebp
jle 0x414ff7
mov eax, dword [esi + 0x8f8]
mov edx, dword [esp + 0x28]
cmp edx, eax
ja 0x414f44
mov eax, dword [esi + 0x8fc]
mov ecx, ebx
sub ecx, eax
lea edx, [esp + eax + 0x47c]
push ecx
push edx
jmp 0x414f6c
cmp edi, ebp
jle 0x414ff7
mov eax, dword [esi + 0x8f8]
mov edx, dword [esp + 0x28]
cmp edx, eax
jbe 0x414f5b
mov ecx, dword [esi + 0x8fc]
sub eax, ecx
sub eax, edx
add eax, edi
push eax
lea eax, [esp + ecx + 0x480]
push eax
jmp 0x414f6c
mov eax, dword [esi + 0x8fc]
sub edi, eax
lea ecx, [esp + eax + 0x47c]
push edi
push ecx
mov ecx, dword [esi + 4]
call fcn.00426c70
mov ecx, dword [esp + 0x40]
mov edi, eax
add ecx, ebx
mov dword [esi + 0x8f4], ebp
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x1c]
add ecx, ebx
mov dword [esi + 0x8fc], ebp
mov dword [esp + 0x1c], ecx
je 0x414fd2
mov eax, dword [esi + 0x14594]
mov edx, dword [esp + 0x4c]
push ecx
push edx
mov ebx, dword [eax + 0x14]
add ebx, ecx
mov dword [eax + 0x14], ebx
mov eax, dword [esi + 0x14594]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
push ecx
push edx
push 1
call fcn.004145f0
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1c], ebp
cmp edi, 0xffffffff
je 0x414fec
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jae 0x414ff7
mov edi, ecx
mov ebx, eax
jmp 0x414de7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [esp + 0x13], 0
mov ecx, dword [esp + 0x3c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [esp + 0x13]
mov dword [esp + 0x10884], 0xffffffff
test al, al
lea ecx, [esp + 0x1088c]
je 0x415025
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x415077
call sub.MFC42.DLL_CString::CString
mov eax, 0x64
jmp 0x415077
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x1088c]
mov dword [esp + 0x10884], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 8
jmp 0x415077
or edi, 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x1088c]
mov dword [esp + 0x10884], edi
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x1087c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x10878
ret 4