Function at 0x437f88
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 0x43873b
push dword fs:[eax]
mov dword fs:[eax], esp
mov al, byte [0x446b78]
dec eax
test al, al
jb 0x43843b
inc eax
mov byte [ebp - 0x19], al
mov esi, 0x446b7c
mov eax, dword [esi]
mov edi, eax
cmp byte [edi + 0x6f4], 0
jne 0x43842f
xor ebx, ebx
jmp 0x438015
inc ebx
mov eax, dword [0x4468a8]
call fcn.0040882c
push 0xfa
call sub.kernel32.dll_Sleep
lea eax, [edi + 0x6d8]
push eax
mov eax, dword [edi + 0x28]
push eax
call sub.kernel32.dll_GetDevicePowerState
test eax, eax
jne 0x43802e
cmp bl, 0x28
jne 0x438000
cmp bl, 0x28
jne 0x438052
mov byte [edi + 0x6f4], 1
mov edx, dword [esi]
mov eax, 0x438754
call fcn.0041f1e8
mov eax, edi
call fcn.00427ce8
jmp 0x43842f
cmp byte [edi + 0x70b], 0
jne 0x438074
cmp byte [edi + 0x6c0], 0
je 0x438074
cmp dword [edi + 0x6c4], 0
jne 0x438074
mov eax, edi
call fcn.00424a4c
xor ebx, ebx
jmp 0x43809d
inc ebx
mov eax, dword [0x4468a8]
call fcn.0040882c
push 0xfa
call sub.kernel32.dll_Sleep
lea eax, [edi + 0x6d8]
push eax
mov eax, dword [edi + 0x28]
push eax
call sub.kernel32.dll_GetDevicePowerState
cmp dword [edi + 0x6d8], 0
jne 0x4380ab
cmp bl, 0x28
jne 0x438078
mov eax, dword [edi + 0x6d8]
cmp eax, 1
sbb eax, eax
neg eax
neg al
sbb eax, eax
mov dword [edi + 0x6d8], eax
test eax, eax
je 0x4380f1
cmp byte [edi + 0x6dc], 0
jne 0x438298
mov byte [edi + 0x6dc], 1
mov ecx, 1
mov edx, 0x438778
mov eax, dword [edi + 0x24]
call fcn.0040688c
jmp 0x438298
mov ebx, dword [edi + 0x6e0]
mov al, byte [edi + 0xa6]
mov byte [ebp - 1], al
mov al, byte [edi + 0xa9]
mov byte [ebp - 2], al
mov al, byte [edi + 0x8e]
mov byte [ebp - 3], al
mov eax, edi
call fcn.0042497c
cmp byte [edi + 0x70b], 0
jne 0x438175
cmp byte [edi + 0x2763], 0
jne 0x43814e
mov eax, edi
call fcn.00428218
test al, al
jne 0x43814e
mov byte [edi + 0x2763], 1
mov edx, dword [esi]
mov eax, 0x438794
call fcn.0041f1e8
jmp 0x43870d
mov eax, edi
call fcn.004281f8
mov byte [edi + 0x2ac], al
cmp byte [edi + 0x2ac], 0
jne 0x438175
mov edx, dword [esi]
mov eax, 0x4387c4
call fcn.0041f1e8
jmp 0x43870d
mov eax, edi
call fcn.00428248
mov eax, edi
call fcn.004217b4
mov al, byte [edi + 0x8e]
cmp al, byte [ebp - 3]
je 0x438195
mov byte [edi + 0x2762], 1
mov al, byte [edi + 0x8e]
test al, al
je 0x4381e0
cmp al, byte [edi + 0x8f]
jbe 0x4381c2
mov byte [edi + 0x8f], al
xor ecx, ecx
mov cl, byte [edi + 0x8e]
mov edx, 0x4387e8
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [edi + 0x6e9], 0
jne 0x4381e0
mov al, byte [edi + 0x8e]
cmp al, byte [edi + 0x94]
jb 0x4381e0
mov eax, edi
call fcn.00427d34
cmp byte [0x446c44], 0
je 0x438201
cmp byte [edi + 0x6dd], 0
je 0x438201
cmp ebx, dword [edi + 0x6e0]
je 0x438201
mov eax, edi
call fcn.00427cf4
cmp byte [ebp - 1], 0
je 0x438226
cmp byte [edi + 0xa6], 0
jne 0x438226
mov byte [edi + 0xa8], 0
xor ecx, ecx
mov edx, 0x438800
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [0x446c44], 0
je 0x438248
cmp byte [edi + 0xa6], 0
je 0x438248
cmp byte [edi + 0xa8], 0
jne 0x438248
mov eax, edi
call fcn.00427d94
cmp byte [ebp - 2], 0
je 0x43826d
cmp byte [edi + 0xa9], 0
jne 0x43826d
mov byte [edi + 0xab], 0
xor ecx, ecx
mov edx, 0x43881c
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [0x446c44], 0
je 0x438298
cmp byte [edi + 0xa6], 0
jne 0x438298
cmp byte [edi + 0xa9], 0
je 0x438298
cmp byte [edi + 0xab], 0
jne 0x438298
mov eax, edi
call fcn.00427dac
cmp byte [0x446c44], 0
je 0x43842f
cmp byte [edi + 0x6af], 0
jne 0x4382bb
cmp byte [edi + 0x6b0], 0
je 0x43842f
cmp byte [edi + 0x70b], 0
je 0x4383a6
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.00420cb0
test al, al
je 0x43842f
test byte [ebp - 0x264], 0xf
jne 0x43842f
mov byte [edi + 0x6af], 0
mov byte [edi + 0x6b0], 0
test byte [ebp - 0x260], 0xf
jne 0x43833d
mov eax, edi
call fcn.00427d4c
jmp 0x43842f
mov al, byte [ebp - 0x260]
and al, 0xf
mov edx, eax
dec edx
sub dl, 4
jb 0x438353
add al, 0xf8
sub al, 2
jae 0x43835f
mov eax, edi
call fcn.00427d64
jmp 0x43842f
mov eax, edi
call fcn.00427d7c
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, 0x438834
call fcn.00403df4
mov eax, dword [ebp - 0x268]
mov edx, dword [esi]
call fcn.0041f1e8
jmp 0x43842f
xor eax, eax
mov al, byte [edi + 0x418]
shr eax, 4
mov byte [edi + 0x418], al
cmp al, 0xf
je 0x438428
mov byte [edi + 0x6af], 0
mov byte [edi + 0x6b0], 0
mov al, byte [edi + 0x418]
test al, al
jne 0x4383dc
mov eax, edi
call fcn.00427d4c
jmp 0x43842f
cmp al, 1
jne 0x4383e9
mov eax, edi
call fcn.00427d64
jmp 0x43842f
mov eax, edi
call fcn.00427d7c
lea edx, [ebp - 0x274]
xor eax, eax
mov al, byte [edi + 0x418]
call fcn.0040628c
mov ecx, dword [ebp - 0x274]
lea eax, [ebp - 0x270]
mov edx, 0x438834
call fcn.00403df4
mov eax, dword [ebp - 0x270]
mov edx, dword [esi]
call fcn.0041f1e8
jmp 0x43842f
mov eax, edi
call fcn.00424a4c
add esi, 4
dec byte [ebp - 0x19]
jne 0x437feb
call fcn.00433924
cmp byte [0x446c7c], 0
je 0x438455
mov byte [0x446c7c], 0
jmp 0x43870d
inc dword [0x446c74]
mov eax, dword [0x446c74]
mov dword [ebp - 0x27c], eax
xor eax, eax
mov dword [ebp - 0x278], eax
fild qword [ebp - 0x27c]
fdiv dword [0x438858]
call fcn.00402a3c
fcomp dword [0x43885c]
fnstsw ax
sahf
jne 0x43870d
xor ebx, ebx
mov byte [0x446c7b], 0
mov al, byte [0x446b78]
dec eax
test al, al
jb 0x43858e
inc eax
mov byte [ebp - 0x19], al
mov esi, 0x446b7c
mov eax, dword [esi]
mov edi, eax
cmp byte [edi + 0x6f4], 0
jne 0x438582
cmp byte [edi + 0x6c0], 0
je 0x43852c
cmp dword [edi + 0x6c4], 0
jne 0x43852c
mov edx, dword [edi + 0x6c8]
cmp edx, dword [edi + 0x6cc]
jbe 0x4384f9
mov edx, eax
mov eax, 0x438868
call fcn.0041f1e8
mov eax, dword [edi + 0x6cc]
mov dword [edi + 0x6c8], eax
jmp 0x43852c
mov eax, dword [edi + 0x6cc]
sub eax, dword [edi + 0x6c8]
mov dword [edi + 0x6c4], eax
test eax, eax
jne 0x438519
mov dword [edi + 0x6c4], 1
mov ecx, dword [edi + 0x6c4]
mov eax, dword [edi + 0x24]
mov edx, 0x438884
call fcn.0040688c
lea ecx, [ebp - 0x280]
mov eax, dword [edi + 0x24]
mov edx, 0x4388a0
call fcn.00406828
mov edx, dword [ebp - 0x280]
mov eax, dword [0x4469f4]
call fcn.00403ef4
je 0x438552
inc ebx
cmp byte [edi + 0x8e], 0
je 0x438582
mov al, byte [edi + 0x8f]
cmp al, byte [edi + 0x90]
jbe 0x438582
mov al, byte [edi + 0x8f]
cmp al, byte [0x446c7b]
jbe 0x438582
mov al, byte [edi + 0x8f]
mov byte [0x446c7b], al
add esi, 4
dec byte [ebp - 0x19]
jne 0x4384ae
test bl, bl
je 0x4385c7
cmp byte [0x446c78], 0
jne 0x43870d
lea ecx, [ebp - 0x27c]
mov edx, 0x437cec
xor eax, eax
call fcn.00405c8c
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
call fcn.00406b28
jmp 0x43870d
cmp byte [0x446c7b], 0
je 0x438605
cmp byte [0x446c79], 0
jne 0x43870d
lea ecx, [ebp - 0x27c]
mov edx, 0x437ae4
xor eax, eax
call fcn.00405c8c
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
call fcn.00406b28
jmp 0x43870d
cmp byte [0x446bff], 0
je 0x43870d
cmp byte [0x446c7a], 0
jne 0x43870d
push 0
push 0
push 0
push 0
push 0x4388b4
call sub.wininet.dll_InternetOpenA
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
call fcn.0040e868
push 0
push 0x80000000
push 0
push 0
push 0x4388c0
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetOpenUrlA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x438704
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.00437f08
mov eax, dword [ebp - 0x284]
push eax
lea edx, [ebp - 0x28c]
mov eax, dword [0x4469f4]
call fcn.00437f08
mov edx, dword [ebp - 0x28c]
pop eax
call fcn.00403ef4
jbe 0x43870d
lea ecx, [ebp - 0x27c]
mov edx, 0x437c38
xor eax, eax
call fcn.00405c8c
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
call fcn.00406b28
jmp 0x43870d
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 0x438742
lea eax, [ebp - 0x28c]
mov edx, 4
call fcn.00403b30
lea eax, [ebp - 0x274]
mov edx, 4
call fcn.00403b30
ret