Function at 0x401450
Capabilities:
Check for time delay via gettickcount
Connect to http server
Create http request
Read data from internet
Receive data
Resolve function by parsing pe exports
Send data
Send http request

Disassembly:
push 0xffffffffffffffff
push 0x4289a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push esi
push edi
xor edi, edi
lea ecx, [esp + 0x40]
mov dword [esp + 0x24], edi
call fcn.0041eec0
mov ecx, dword [0x4385f4]
push edi
push str.DnldWait
lea edx, [esp + 0x34]
lea eax, [esp + 0x48]
push ecx
push edx
mov dword [esp + 0x68], edi
mov dword [0x43857c], eax
call fcn.004040d0
mov eax, dword [eax]
push eax
call fcn.0040dd27
add esp, 0x14
lea ecx, [esp + 0x2c]
mov dword [esp + 0x3c], eax
call fcn.0041e99d
mov eax, dword [0x4385ec]
xor esi, esi
cmp eax, edi
mov dword [0x434124], 0x100
je 0x4014d3
push eax
call fcn.0041dde2
add esp, 4
mov eax, dword [0x434124]
push eax
call fcn.0041ddb9
mov dword [0x4385ec], eax
mov eax, dword [esp + 0x70]
add esp, 4
cmp eax, edi
mov dword [0x4385dc], edi
je 0x40150c
push edi
push 0x1001
push eax
lea ecx, [esp + 0x4c]
call fcn.0041efd2
test eax, eax
je 0x401c6f
push ebx
mov ebx, dword [esp + 0x68]
push ebp
push 7
push str.http:__
push ebx
call fcn.00417fd0
add esp, 0xc
test eax, eax
jne 0x40152b
mov esi, 7
push 0x434154
lea ecx, [esp + 0x38]
call fcn.0041ea0b
push ebx
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 1
call fcn.0041ea0b
lea ecx, [esp + 0x38]
push esi
push ecx
lea ecx, [esp + 0x24]
mov byte [esp + 0x68], 2
call fcn.0041c375
lea edx, [esp + 0x18]
push 0x434150
push edx
mov ecx, eax
mov byte [esp + 0x68], 3
call fcn.0041c54d
lea ecx, [esp + 0x38]
mov byte [esp + 0x60], 5
call fcn.0041e99d
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
mov eax, dword [eax - 8]
add eax, esi
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.0041c375
lea edx, [esp + 0x28]
push 0x43414c
push edx
mov ecx, eax
mov byte [esp + 0x68], 6
call fcn.0041c54d
lea ecx, [esp + 0x3c]
mov byte [esp + 0x60], 8
call fcn.0041e99d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x10]
mov eax, dword [eax - 8]
mov ecx, dword [ecx - 8]
add ecx, eax
add ecx, esi
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.0041c375
push 0x438548
lea ecx, [esp + 0x34]
mov byte [esp + 0x64], 9
call fcn.0041ea0b
push edi
push edi
push edi
push edi
push edi
mov byte [esp + 0x74], 0xa
call dword [sym.imp.WININET.dll_InternetOpenA]
mov ecx, dword [esp + 0x18]
push edi
mov ebp, 3
push edi
push ebp
push edi
push edi
push 0x50
mov dword [0x4385e0], eax
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetConnectA]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
push edi
push edi
push edi
push edi
push edi
push edx
push ecx
push eax
mov dword [0x4385e4], eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
cmp eax, edi
mov dword [0x4385e8], eax
je 0x401c08
mov edx, dword [esp + 0x10]
cmp dword [edx - 8], edi
je 0x401765
mov esi, dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
mov bl, 0xb
mov eax, dword [0x4346c0]
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x24]
push 0x434148
push ecx
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], bl
call fcn.0041c54d
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x64], 0xc
call fcn.0041ead6
lea ecx, [esp + 0x24]
mov byte [esp + 0x60], bl
call fcn.0041e99d
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax - 8]
cmp ecx, 5
jle 0x4016b6
mov edx, dword [0x4385e8]
push 0x20000000
push ecx
push eax
push edx
call esi
mov eax, dword [esp + 0x6c]
mov eax, dword [eax - 8]
lea ecx, [esp + 0x10]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0041c375
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 0xd
call fcn.0041ead6
lea ecx, [esp + 0x20]
mov byte [esp + 0x60], bl
call fcn.0041e99d
lea ecx, [esp + 0x14]
push 0x434148
push ecx
lea ecx, [esp + 0x18]
call fcn.0041c522
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x64], 0xe
call fcn.0041ead6
lea ecx, [esp + 0x14]
mov byte [esp + 0x60], bl
call fcn.0041e99d
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0041c375
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 0xf
call fcn.0041ead6
lea ecx, [esp + 0x40]
mov byte [esp + 0x60], bl
call fcn.0041e99d
lea ecx, [esp + 0x6c]
mov byte [esp + 0x60], 0xa
call fcn.0041e99d
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 8], edi
jne 0x40165a
mov eax, dword [0x4385e8]
push edi
push edi
push edi
push edi
push eax
call dword [sym.imp.WININET.dll_HttpSendRequestA]
cmp eax, 1
jne 0x401c08
mov ebx, dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov dword [esp + 0x6c], edi
mov edx, dword [0x4385ec]
mov dword [esp + 0x40], ebp
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x40]
mov dword [edx], edi
mov edx, dword [0x4385ec]
push eax
mov eax, dword [0x4385e8]
push ecx
push edx
push 0x20000016
push eax
call ebx
mov ecx, dword [0x4385ec]
mov esi, eax
push ecx
lea ecx, [esp + 0x34]
call fcn.0041ed79
mov ecx, dword [esp + 0x6c]
inc ecx
cmp esi, 1
mov dword [esp + 0x6c], ecx
je 0x401783
mov eax, dword [0x4385d8]
mov dword [esp + 0x2c], edi
cmp eax, edi
je 0x4017e3
push eax
call fcn.0041dde2
add esp, 4
push 0x400
mov dword [0x438580], 0x400
call fcn.0041ddb9
add esp, 4
lea ecx, [esp + 0x24]
mov dword [0x4385d8], eax
push 0x438548
call fcn.0041ea0b
mov ebp, dword [esp + 0x68]
mov ebx, 1
mov byte [esp + 0x60], 0x10
mov dword [esp + 0x14], ebx
mov ecx, dword [ebp + 0x174]
cmp ecx, 0x400
jle 0x401844
mov eax, ecx
lea esi, [ebx + ebx*4]
cdq
shl esi, 1
idiv esi
mov dword [esp + 0x14], esi
mov ebx, esi
cmp eax, 0x400
jg 0x40182d
mov eax, 0x51eb851f
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x20], edx
jne 0x401863
mov dword [esp + 0x20], 1
cmp ecx, edi
je 0x401891
mov eax, ecx
mov ecx, dword [0x4385cc]
cdq
idiv dword [esp + 0x20]
mov edx, dword [ecx + 0x7c]
and eax, 0xffff
shl eax, 0x10
push eax
push edi
push 0x401
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x401891
xor edi, edi
mov eax, dword [esp + 0x44]
cmp eax, edi
jle 0x4018a0
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x434124]
mov dword [esp + 0x6c], edi
mov edi, dword [0x4385ec]
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [0x434124]
mov edx, dword [0x4385ec]
lea eax, [esp + 0x6c]
dec ecx
push eax
mov eax, dword [0x4385e8]
push ecx
push edx
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x401bef
mov ecx, dword [0x4385ec]
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x74]
test eax, eax
je 0x40192b
mov edx, dword [esp + 0x6c]
mov eax, dword [0x4385ec]
push edx
push eax
lea ecx, [esp + 0x50]
call fcn.0041f129
mov ecx, dword [esp + 0x6c]
mov eax, dword [0x4385dc]
add eax, ecx
mov dword [0x4385dc], eax
jmp 0x4019c9
mov edx, dword [0x4385dc]
mov eax, dword [esp + 0x6c]
lea ecx, [eax + edx + 2]
mov eax, dword [0x438580]
cmp ecx, eax
jle 0x401989
add eax, eax
cmp ecx, eax
jg 0x401942
push eax
mov dword [0x438580], eax
call fcn.0041ddb9
mov ecx, dword [0x4385dc]
mov esi, dword [0x4385d8]
mov ebx, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x4385d8]
push eax
call fcn.0041dde2
mov dword [0x4385d8], ebx
mov ebx, dword [esp + 0x1c]
add esp, 8
mov edx, dword [0x4385d8]
mov eax, dword [0x4385dc]
mov ecx, dword [esp + 0x6c]
mov esi, dword [0x4385ec]
lea edi, [edx + eax]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x4385dc]
mov ecx, dword [esp + 0x6c]
add eax, ecx
mov ecx, dword [0x4385d8]
mov dword [0x4385dc], eax
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x70]
test eax, eax
je 0x401bda
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x401a53
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, esi
cmp ecx, 0x64
jge 0x401a22
mov eax, dword [0x434124]
cmp eax, 0xf4240
jge 0x401a53
lea edx, [eax + eax]
mov eax, dword [0x4385ec]
push eax
mov dword [0x434124], edx
call fcn.0041dde2
mov ecx, dword [0x434124]
push ecx
call fcn.0041ddb9
add esp, 8
mov dword [0x4385ec], eax
jmp 0x401a53
mov eax, 0x51eb851f
imul ecx
mov eax, dword [0x434124]
mov ecx, edx
sar ecx, 5
mov edx, ecx
shr edx, 0x1f
add ecx, edx
cdq
idiv ecx
cmp eax, 0x100
mov dword [0x434124], eax
jge 0x401a53
mov dword [0x434124], 0x100
mov eax, dword [0x4385cc]
test eax, eax
je 0x401bd0
mov eax, dword [eax + 0x1c]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x401bd0
mov ecx, dword [0x4346c0]
mov dword [esp + 0x68], ecx
cmp ebx, 0x3e8
mov byte [esp + 0x60], 0x11
jge 0x401aae
mov eax, dword [ebp + 0x170]
mov ecx, dword [0x4385dc]
mov edx, dword [ebp + 0x174]
add eax, ecx
push edx
push eax
lea ecx, [esp + 0x70]
push str._d__d
push ecx
jmp 0x401b31
mov ecx, dword [ebp + 0x174]
cmp ebx, 0xf4240
jge 0x401af5
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov ecx, dword [ebp + 0x170]
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x10624dd3
push edx
mov edx, dword [0x4385dc]
add ecx, edx
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
push str._dKB__dKB
jmp 0x401b2c
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov ecx, dword [ebp + 0x170]
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x431bde83
push edx
mov edx, dword [0x4385dc]
add ecx, edx
imul ecx
sar edx, 0x12
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
push str._dMB__dMB
lea edx, [esp + 0x74]
push edx
call fcn.0041c920
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x34]
add esp, 0x10
push eax
push ecx
call fcn.0040e344
add esp, 8
test eax, eax
je 0x401b79
mov edx, dword [esp + 0x68]
mov ecx, dword [0x4385cc]
push edx
push 0x3f7
call fcn.0041f501
mov ecx, eax
call fcn.0041f621
lea eax, [esp + 0x68]
lea ecx, [esp + 0x24]
push eax
call fcn.0041ead6
mov eax, dword [ebp + 0x170]
mov ecx, dword [0x4385dc]
add eax, ecx
mov ecx, dword [0x4385cc]
cdq
idiv dword [esp + 0x20]
mov edx, dword [ecx + 0x7c]
push 0
push eax
push 0x402
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.00403fd0
mov eax, dword [ebp + 0x178]
test eax, eax
jle 0x401bc2
call fcn.00403fd0
mov eax, dword [ebp + 0x178]
test eax, eax
jg 0x401bb3
lea ecx, [esp + 0x68]
mov byte [esp + 0x60], 0x10
call fcn.0041e99d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x178]
test eax, eax
jl 0x401bef
cmp dword [esp + 0x40], 1
je 0x40188f
lea ecx, [esp + 0x24]
mov byte [esp + 0x60], 0xa
call fcn.0041e99d
mov eax, dword [0x4385d8]
xor edi, edi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
pop ebp
cmp eax, edi
pop ebx
je 0x401c1b
lea ecx, [esp + 0x40]
call fcn.0041f1ed
lea ecx, [esp + 0x28]
mov byte [esp + 0x58], 9
call fcn.0041e99d
lea ecx, [esp + 8]
mov byte [esp + 0x58], 8
call fcn.0041e99d
lea ecx, [esp + 0x20]
mov byte [esp + 0x58], 5
call fcn.0041e99d
lea ecx, [esp + 0x10]
mov byte [esp + 0x58], 2
call fcn.0041e99d
lea ecx, [esp + 0x14]
mov byte [esp + 0x58], 1
call fcn.0041e99d
lea ecx, [esp + 0x2c]
mov byte [esp + 0x58], 0
call fcn.0041e99d
call fcn.004013d0
lea ecx, [esp + 0x40]
mov dword [esp + 0x58], 0xffffffff
call fcn.0041ef15
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x24]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x54
ret