Function at 0x412b50
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 0x4247a4
push eax
mov eax, 0x10860
mov dword fs:[0], esp
call fcn.00423560
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x10878], ebp
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov byte [esp + 0x20], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi + 0x90c]
push 0x42d28c
push ecx
push 0x42d3ac
mov dword [esp + 0x44], eax
mov byte [esp + 0x1f], 0
call fcn.00403020
add esp, 0xc
cmp eax, ebp
jne 0x412bc9
mov byte [esp + 0x13], 1
mov edx, dword [esp + 0x10880]
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 + 0x70], ebx
je 0x4133fc
or edi, 0xffffffff
cmp ebx, edi
je 0x4133ff
lea eax, [esp + 0x2c]
push ebp
push eax
lea ecx, [esp + 0x478]
push 0x46
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebp
je 0x412c3e
lea edx, [esp + 0x20]
lea eax, [esp + 0x5c]
push edx
push eax
lea ecx, [esp + 0x478]
push 0x46
push ecx
call fcn.00411930
add esp, 0x10
cmp eax, ebp
je 0x412c5b
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x10880]
mov dword [esp + 0x10878], edi
call sub.MFC42.DLL_CString::CString
mov eax, 2
jmp 0x41341d
mov dl, byte [0x42d1a8]
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0xa1]
mov byte [esp + 0xa0], dl
mov byte [esp + 0xe4], dl
rep stosd dword es:[edi], eax
mov ecx, 0x20
lea edi, [esp + 0xe5]
rep stosd dword es:[edi], eax
mov dword [esp + 0x51], eax
mov ecx, 0x20
mov dword [esp + 0x55], eax
lea edi, [esp + 0x169]
mov byte [esp + 0x168], dl
mov word [esp + 0x59], ax
rep stosd dword es:[edi], eax
mov ecx, 0x3f
lea edi, [esp + 0x1ed]
mov byte [esp + 0x1ec], dl
mov byte [esp + 0x2ec], 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 + 0x2ed]
mov byte [esp + 0x7c], 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 + 0x7d]
mov byte [esp + 0x50], dl
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], ebp
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x3ec]
lea eax, [esp + 0x3c]
push ecx
push edx
push ebp
lea ecx, [esp + 0x4c]
push eax
lea edx, [esp + 0x44]
push ecx
lea eax, [esp + 0x17c]
push edx
lea ecx, [esp + 0x94]
push eax
lea edx, [esp + 0x4c]
push ecx
lea eax, [esp + 0x44]
push edx
lea ecx, [esp + 0x68]
push eax
lea edx, [esp + 0x314]
push ecx
lea eax, [esp + 0x218]
push edx
lea ecx, [esp + 0x80]
push eax
lea edx, [esp + 0x118]
push ecx
lea eax, [esp + 0xd8]
push edx
lea ecx, [esp + 0x98]
push eax
push ecx
push ebx
mov ecx, esi
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], ebp
call fcn.00414260
cmp eax, ebp
je 0x412db7
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x10880]
mov dword [esp + 0x10878], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 3
jmp 0x41341d
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x6c]
sub edx, eax
je 0x4133de
lea eax, [esp + 0x2c]
push ebp
push eax
lea ecx, [esp + 0x50]
push 3
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebp
jne 0x412e00
lea ecx, [esp + 0x10880]
mov dword [esp + 0x10878], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 5
jmp 0x41341d
mov eax, dword [esp + 0x49]
mov edx, dword [esp + 0x4a]
and eax, 0xff
and edx, 0xff
shl eax, 8
add eax, edx
cmp eax, ebp
jg 0x412e3d
lea ecx, [esp + 0x10880]
mov dword [esp + 0x10878], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 6
jmp 0x41341d
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x6c]
sub eax, edx
lea ecx, [esp + 0x14]
sub eax, 3
mov dword [esp + 0x14], ebp
push eax
push ecx
mov ecx, dword [esi + 0x14584]
push ebx
call fcn.00420ba0
cmp dword [esp + 0x14], ebp
jne 0x412e87
lea ecx, [esp + 0x10880]
mov dword [esp + 0x10878], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 7
jmp 0x41341d
mov edx, dword [esi + 0x14584]
lea eax, [esi + 0x4e]
lea ecx, [esi + 0xd]
push eax
mov eax, dword [edx + 0x3c]
push ecx
push eax
call fcn.00401260
mov ebx, dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
cmp eax, ebp
jne 0x412f25
push 0x50c
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x412f23
mov ecx, 0x143
xor eax, eax
mov edi, ebp
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xa0]
push ecx
push 0x42b080
push ebp
call ebx
lea edx, [esp + 0xf0]
lea eax, [ebp + 0x41]
push edx
push 0x42b080
push eax
call ebx
lea eax, [esi + 0xd]
lea ecx, [ebp + 0xc2]
push eax
push 0x42b080
push ecx
call ebx
lea eax, [esi + 0x4e]
lea edx, [ebp + 0x103]
push eax
push 0x42b080
push edx
call ebx
mov eax, dword [esi + 0x14584]
add eax, 0x3c
push eax
push ebp
call fcn.00401210
add esp, 0x38
xor ebp, ebp
mov eax, dword [esi + 0x14584]
lea ecx, [esp + 0xe4]
push ecx
lea edx, [esp + 0xa4]
mov ecx, dword [eax + 0x40]
push edx
push ecx
call fcn.00401340
add esp, 0xc
cmp eax, ebp
jne 0x413082
push 0x588
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x413080
lea edx, [esp + 0xa0]
mov ecx, 0x162
xor eax, eax
mov edi, ebp
push edx
push 0x42b080
rep stosd dword es:[edi], eax
push ebp
call ebx
lea eax, [esp + 0xf0]
lea ecx, [ebp + 0x41]
push eax
push 0x42b080
push ecx
call ebx
lea edx, [esp + 0x94]
lea eax, [ebp + 0xc2]
push edx
push 0x42b080
push eax
call ebx
mov ecx, dword [esp + 0x54]
lea edx, [esp + 0x74]
push edx
lea eax, [ebp + 0x148]
push 0x42b080
push eax
mov dword [ebp + 0x144], ecx
call ebx
mov ecx, dword [esp + 0x64]
mov dword [ebp + 0x154], ecx
mov edx, dword [esp + 0x74]
mov dword [ebp + 0x158], edx
mov eax, dword [esp + 0x54]
mov dword [ebp + 0x15c], eax
mov ecx, dword [esp + 0x6c]
mov dword [ebp + 0x3e8], ecx
mov dword [ebp + 0x3ec], 0
mov edx, dword [esp + 0x70]
lea ecx, [esp + 0x198]
mov dword [ebp + 0x3e4], edx
mov eax, dword [esp + 0x50]
push ecx
lea edx, [ebp + 0x160]
and eax, 0xff
push 0x42b080
push edx
mov dword [ebp + 0x3f0], eax
call ebx
lea eax, [esp + 0x228]
lea ecx, [ebp + 0x1e1]
push eax
push 0x42b080
push ecx
call ebx
add esp, 0x48
lea edx, [esp + 0x2ec]
lea eax, [ebp + 0x2e1]
push edx
push 0x42b080
push eax
call ebx
lea ecx, [esp + 0x3f8]
lea edx, [ebp + 0x3f4]
push ecx
push 0x42b080
push edx
call ebx
mov eax, dword [esi + 0x14584]
add eax, 0x40
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 + 0x78], edi
call fcn.00401070
add esp, 4
mov ecx, esi
mov dword [esi + 0x8e8], 0xc8
push 0xc8
call fcn.00411e80
mov ecx, esi
call fcn.00412440
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.Content_length
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.00411c50
push ecx
mov ecx, esp
mov dword [esp + 0x1c], 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 + 0x10880], 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 + 0x10880], 0
call fcn.00411b80
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.bytes
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [esp + 0x10880], 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 + 0x10880], 0
call fcn.00411b80
push 0x42c534
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x18]
mov ecx, esi
push eax
mov byte [esp + 0x1087c], 3
call fcn.00411b00
lea ecx, [esp + 0x18]
mov byte [esp + 0x10878], 0
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esi + 0x14540]
mov eax, dword [esi + 0x14530]
push ecx
mov ecx, dword [esi + 4]
push eax
call fcn.004225e0
mov eax, dword [esi + 0x8f8]
mov edx, dword [esi + 0x14540]
mov ebx, edi
mov dword [esp + 0x1c], edx
test eax, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], ebp
jne 0x4131b6
mov dword [esi + 0x8f8], edi
mov eax, edi
and eax, 0xf
je 0x4131c8
sub edi, eax
add edi, 0x10
mov dword [esp + 0x14], edi
mov ebx, edi
test ebx, ebx
jbe 0x4133c3
mov al, byte [esi + 0xc]
test al, al
jne 0x4133c3
mov al, byte [0x42d514]
test al, al
jne 0x4133c3
mov eax, ebx
sub eax, ebp
cmp eax, 0x2800
jbe 0x4131fa
mov ebx, 0x2800
jmp 0x4131fc
sub ebx, ebp
xor edi, edi
test ebx, ebx
jle 0x413241
mov al, byte [esi + 0xc]
test al, al
jne 0x413241
mov al, byte [0x42d514]
test al, al
jne 0x413241
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x2c]
push 0
push ecx
lea edx, [esp + edi + 0x478]
push ebx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4133a5
mov eax, dword [esp + 0x2c]
sub ebx, eax
add edi, eax
test ebx, ebx
jg 0x413202
mov al, byte [esp + 0x13]
add ebp, edi
test al, al
je 0x4132c4
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
push ecx
push 0
push edx
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x5c]
push eax
push ecx
lea eax, [esp + 0x90]
push edx
push eax
push ecx
lea edx, [esp + 0x104]
mov ecx, esp
mov dword [esp + 0x98], esp
push edx
call sub.MFC42.DLL_CString::CString_2
push ecx
lea eax, [esp + 0xc4]
mov ecx, esp
mov dword [esp + 0x6c], esp
push eax
mov byte [esp + 0x108a0], 4
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x494]
and ecx, 0xff
mov byte [esp + 0x1089c], 0
push ecx
push edi
push edx
mov ecx, esi
call fcn.00413440
mov eax, dword [esp + 0x74]
mov ebx, edi
cmp ebp, eax
jbe 0x4132f1
sub ebx, ebp
add ebx, eax
mov eax, dword [esi + 0x8f8]
cmp ebp, eax
ja 0x4132fb
mov eax, dword [esi + 0x8f4]
mov ecx, ebx
sub ecx, eax
lea edx, [esp + eax + 0x470]
push ecx
push edx
jmp 0x413323
mov eax, dword [esi + 0x8f8]
cmp ebp, eax
jbe 0x413312
mov ecx, dword [esi + 0x8f4]
sub eax, ecx
sub eax, ebp
add eax, edi
push eax
lea eax, [esp + ecx + 0x474]
push eax
jmp 0x413323
mov eax, dword [esi + 0x8f4]
sub edi, eax
lea ecx, [esp + eax + 0x470]
push edi
push ecx
mov ecx, dword [esi + 4]
call fcn.004225e0
mov ecx, dword [esp + 0x28]
mov edi, eax
add ecx, ebx
mov dword [esi + 0x8f4], 0
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x1c]
add ecx, ebx
mov dword [esp + 0x1c], ecx
je 0x41338b
mov eax, dword [esi + 0x14584]
mov edx, dword [esp + 0x38]
push ecx
push edx
mov ebx, dword [eax + 0x14]
add ebx, ecx
mov dword [eax + 0x14], ebx
mov eax, dword [esi + 0x14584]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
push ecx
push edx
push 1
call fcn.00412a50
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], 0
cmp edi, 0xffffffff
je 0x41339f
mov eax, dword [esp + 0x14]
cmp ebp, eax
jae 0x4133c3
mov ebx, eax
jmp 0x4131d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x10880]
mov dword [esp + 0x10878], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0x64
jmp 0x41341d
lea ecx, [esp + 0x10880]
mov dword [esp + 0x10878], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x41341d
lea ecx, [esp + 0x10880]
mov dword [esp + 0x10878], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 8
jmp 0x41341d
or edi, 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x10880]
mov dword [esp + 0x10878], edi
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x10870]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1086c
ret 4