Function at 0x4396f0
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd74
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x284], ecx
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x26c], ecx
xor eax, eax
push ebp
push 0x439e2e
push dword fs:[eax]
mov dword fs:[eax], esp
mov al, byte [0x447b78]
dec eax
test al, al
jb 0x439ba3
inc eax
mov byte [ebp - 0x19], al
mov esi, 0x447b7c
mov eax, dword [esi]
mov edi, eax
cmp byte [edi + 0x6f0], 0
jne 0x439b97
xor ebx, ebx
jmp 0x43977d
inc ebx
mov eax, dword [0x4478a8]
call fcn.0040882c
push 0xfa
call sub.kernel32.dll_Sleep
lea eax, [edi + 0x6d4]
push eax
mov eax, dword [edi + 0x28]
push eax
call sub.kernel32.dll_GetDevicePowerState
test eax, eax
jne 0x439796
cmp bl, 0x28
jne 0x439768
cmp bl, 0x28
jne 0x4397ba
mov byte [edi + 0x6f0], 1
mov edx, dword [esi]
mov eax, 0x439e44
call fcn.00420850
mov eax, edi
call fcn.004295f4
jmp 0x439b97
cmp byte [edi + 0x705], 0
jne 0x4397dc
cmp byte [edi + 0x6be], 0
je 0x4397dc
cmp dword [edi + 0x6c0], 0
jne 0x4397dc
mov eax, edi
call fcn.00426358
xor ebx, ebx
jmp 0x439805
inc ebx
mov eax, dword [0x4478a8]
call fcn.0040882c
push 0xfa
call sub.kernel32.dll_Sleep
lea eax, [edi + 0x6d4]
push eax
mov eax, dword [edi + 0x28]
push eax
call sub.kernel32.dll_GetDevicePowerState
cmp dword [edi + 0x6d4], 0
jne 0x439813
cmp bl, 0x28
jne 0x4397e0
mov eax, dword [edi + 0x6d4]
cmp eax, 1
sbb eax, eax
neg eax
neg al
sbb eax, eax
mov dword [edi + 0x6d4], eax
test eax, eax
je 0x439859
cmp byte [edi + 0x6d8], 0
jne 0x439a00
mov byte [edi + 0x6d8], 1
mov ecx, 1
mov edx, 0x439e68
mov eax, dword [edi + 0x24]
call fcn.0040688c
jmp 0x439a00
mov ebx, dword [edi + 0x6dc]
mov al, byte [edi + 0xa4]
mov byte [ebp - 1], al
mov al, byte [edi + 0xa7]
mov byte [ebp - 2], al
mov al, byte [edi + 0x8e]
mov byte [ebp - 3], al
mov eax, edi
call fcn.00426288
cmp byte [edi + 0x705], 0
jne 0x4398dd
cmp byte [edi + 0x275b], 0
jne 0x4398b6
mov eax, edi
call fcn.00429990
test al, al
jne 0x4398b6
mov byte [edi + 0x275b], 1
mov edx, dword [esi]
mov eax, 0x439e84
call fcn.00420850
jmp 0x439e00
mov eax, edi
call fcn.00429970
mov byte [edi + 0x2aa], al
cmp byte [edi + 0x2aa], 0
jne 0x4398dd
mov edx, dword [esi]
mov eax, 0x439eb4
call fcn.00420850
jmp 0x439e00
mov eax, edi
call fcn.004299c0
mov eax, edi
call fcn.00422ed8
mov al, byte [edi + 0x8e]
cmp al, byte [ebp - 3]
je 0x4398fd
mov byte [edi + 0x275a], 1
mov al, byte [edi + 0x8e]
test al, al
je 0x439948
cmp al, byte [edi + 0x8f]
jbe 0x43992a
mov byte [edi + 0x8f], al
xor ecx, ecx
mov cl, byte [edi + 0x8e]
mov edx, 0x439ed8
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [edi + 0x6e5], 0
jne 0x439948
mov al, byte [edi + 0x8e]
cmp al, byte [edi + 0x93]
jb 0x439948
mov eax, edi
call fcn.00429640
cmp byte [0x447c74], 0
je 0x439969
cmp byte [edi + 0x6d9], 0
je 0x439969
cmp ebx, dword [edi + 0x6dc]
je 0x439969
mov eax, edi
call fcn.00429600
cmp byte [ebp - 1], 0
je 0x43998e
cmp byte [edi + 0xa4], 0
jne 0x43998e
mov byte [edi + 0xa6], 0
xor ecx, ecx
mov edx, 0x439ef0
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [0x447c74], 0
je 0x4399b0
cmp byte [edi + 0xa4], 0
je 0x4399b0
cmp byte [edi + 0xa6], 0
jne 0x4399b0
mov eax, edi
call fcn.004296a0
cmp byte [ebp - 2], 0
je 0x4399d5
cmp byte [edi + 0xa7], 0
jne 0x4399d5
mov byte [edi + 0xa9], 0
xor ecx, ecx
mov edx, 0x439f0c
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [0x447c74], 0
je 0x439a00
cmp byte [edi + 0xa4], 0
jne 0x439a00
cmp byte [edi + 0xa7], 0
je 0x439a00
cmp byte [edi + 0xa9], 0
jne 0x439a00
mov eax, edi
call fcn.004296b8
cmp byte [0x447c74], 0
je 0x439b97
cmp byte [edi + 0x6ad], 0
jne 0x439a23
cmp byte [edi + 0x6ae], 0
je 0x439b97
cmp byte [edi + 0x705], 0
je 0x439b0e
lea eax, [ebp - 0x264]
xor ecx, ecx
mov edx, 0x234
call fcn.00402b54
lea eax, [ebp - 0x18]
xor ecx, ecx
mov edx, 8
call fcn.00402b54
mov byte [ebp - 0x12], 0xb0
mov byte [ebp - 0x18], 0xd5
mov byte [ebp - 0x16], 6
lea ecx, [ebp - 0x264]
lea edx, [ebp - 0x18]
mov eax, edi
call fcn.00422318
test al, al
je 0x439b97
test byte [ebp - 0x264], 0xf
jne 0x439b97
mov byte [edi + 0x6ad], 0
mov byte [edi + 0x6ae], 0
test byte [ebp - 0x260], 0xf
jne 0x439aa5
mov eax, edi
call fcn.00429658
jmp 0x439b97
mov al, byte [ebp - 0x260]
and al, 0xf
mov edx, eax
dec edx
sub dl, 4
jb 0x439abb
add al, 0xf8
sub al, 2
jae 0x439ac7
mov eax, edi
call fcn.00429670
jmp 0x439b97
mov eax, edi
call fcn.00429688
mov al, byte [ebp - 0x260]
and al, 0xf
and eax, 0xff
lea edx, [ebp - 0x26c]
call fcn.0040628c
mov ecx, dword [ebp - 0x26c]
lea eax, [ebp - 0x268]
mov edx, 0x439f24
call fcn.00403df4
mov eax, dword [ebp - 0x268]
mov edx, dword [esi]
call fcn.00420850
jmp 0x439b97
xor eax, eax
mov al, byte [edi + 0x416]
shr eax, 4
mov byte [edi + 0x416], al
cmp al, 0xf
je 0x439b90
mov byte [edi + 0x6ad], 0
mov byte [edi + 0x6ae], 0
mov al, byte [edi + 0x416]
test al, al
jne 0x439b44
mov eax, edi
call fcn.00429658
jmp 0x439b97
cmp al, 1
jne 0x439b51
mov eax, edi
call fcn.00429670
jmp 0x439b97
mov eax, edi
call fcn.00429688
lea edx, [ebp - 0x274]
xor eax, eax
mov al, byte [edi + 0x416]
call fcn.0040628c
mov ecx, dword [ebp - 0x274]
lea eax, [ebp - 0x270]
mov edx, 0x439f24
call fcn.00403df4
mov eax, dword [ebp - 0x270]
mov edx, dword [esi]
call fcn.00420850
jmp 0x439b97
mov eax, edi
call fcn.00426358
add esi, 4
dec byte [ebp - 0x19]
jne 0x439753
call fcn.00435264
cmp byte [0x447caa], 0
je 0x439bbd
mov byte [0x447caa], 0
jmp 0x439e00
inc dword [0x447ca4]
mov eax, dword [0x447ca4]
mov dword [ebp - 0x27c], eax
xor eax, eax
mov dword [ebp - 0x278], eax
fild qword [ebp - 0x27c]
fdiv dword [0x439f48]
call fcn.00402a3c
fcomp dword [0x439f4c]
fnstsw ax
sahf
jne 0x439e00
xor ebx, ebx
mov al, byte [0x447b78]
dec eax
test al, al
jb 0x439cbf
inc eax
mov byte [ebp - 0x19], al
mov esi, 0x447b7c
mov eax, dword [esi]
mov edi, eax
cmp byte [edi + 0x6f0], 0
jne 0x439cb3
cmp byte [edi + 0x6be], 0
je 0x439c8d
cmp dword [edi + 0x6c0], 0
jne 0x439c8d
mov edx, dword [edi + 0x6c4]
cmp edx, dword [edi + 0x6c8]
jbe 0x439c5a
mov edx, eax
mov eax, 0x439f58
call fcn.00420850
mov eax, dword [edi + 0x6c8]
mov dword [edi + 0x6c4], eax
jmp 0x439c8d
mov eax, dword [edi + 0x6c8]
sub eax, dword [edi + 0x6c4]
mov dword [edi + 0x6c0], eax
test eax, eax
jne 0x439c7a
mov dword [edi + 0x6c0], 1
mov ecx, dword [edi + 0x6c0]
mov eax, dword [edi + 0x24]
mov edx, 0x439f74
call fcn.0040688c
lea ecx, [ebp - 0x280]
mov eax, dword [edi + 0x24]
mov edx, 0x439f94
call fcn.00406828
mov edx, dword [ebp - 0x280]
mov eax, dword [0x4479f4]
call fcn.00403ef4
je 0x439cb3
inc ebx
add esi, 4
dec byte [ebp - 0x19]
jne 0x439c0f
test bl, bl
je 0x439cf8
cmp byte [0x447ca8], 0
jne 0x439e00
lea ecx, [ebp - 0x27c]
mov edx, 0x439454
xor eax, eax
call fcn.00405c8c
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
call fcn.00406b28
jmp 0x439e00
cmp byte [0x447c2f], 0
je 0x439e00
cmp byte [0x447ca9], 0
jne 0x439e00
push 0
push 0
push 0
push 0
push 0x439fa8
call sub.wininet.dll_InternetOpenA
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
call fcn.0040e900
push 0
push 0x80000000
push 0
push 0
push 0x439fb4
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetOpenUrlA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x439df7
lea eax, [ebp - 0x30]
xor ecx, ecx
mov edx, 0x17
call fcn.00402b54
lea eax, [ebp - 0x10]
push eax
push 0x17
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_InternetReadFile
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_InternetCloseHandle
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetCloseHandle
lea eax, [ebp - 0x288]
lea edx, [ebp - 0x30]
mov ecx, 0x17
call fcn.00403d60
mov eax, dword [ebp - 0x288]
lea edx, [ebp - 0x284]
call fcn.00439670
mov eax, dword [ebp - 0x284]
push eax
lea edx, [ebp - 0x28c]
mov eax, dword [0x4479f4]
call fcn.00439670
mov edx, dword [ebp - 0x28c]
pop eax
call fcn.00403ef4
jbe 0x439e00
lea ecx, [ebp - 0x27c]
mov edx, 0x4393a0
xor eax, eax
call fcn.00405c8c
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
call fcn.00406b28
jmp 0x439e00
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetCloseHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x439e35
lea eax, [ebp - 0x28c]
mov edx, 4
call fcn.00403b30
lea eax, [ebp - 0x274]
mov edx, 4
call fcn.00403b30
ret