Function at 0x438e40
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 0x4395f3
push dword fs:[eax]
mov dword fs:[eax], esp
mov al, byte [0x446b78]
dec eax
test al, al
jb 0x4392f3
inc eax
mov byte [ebp - 0x19], al
mov esi, 0x446b7c
mov eax, dword [esi]
mov edi, eax
cmp byte [edi + 0x6f4], 0
jne 0x4392e7
xor ebx, ebx
jmp 0x438ecd
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 0x438ee6
cmp bl, 0x28
jne 0x438eb8
cmp bl, 0x28
jne 0x438f0a
mov byte [edi + 0x6f4], 1
mov edx, dword [esi]
mov eax, 0x43960c
call fcn.0041fc80
mov eax, edi
call fcn.00428748
jmp 0x4392e7
cmp byte [edi + 0x70b], 0
jne 0x438f2c
cmp byte [edi + 0x6c0], 0
je 0x438f2c
cmp dword [edi + 0x6c4], 0
jne 0x438f2c
mov eax, edi
call fcn.004254ac
xor ebx, ebx
jmp 0x438f55
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 0x438f63
cmp bl, 0x28
jne 0x438f30
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 0x438fa9
cmp byte [edi + 0x6dc], 0
jne 0x439150
mov byte [edi + 0x6dc], 1
mov ecx, 1
mov edx, 0x439630
mov eax, dword [edi + 0x24]
call fcn.0040688c
jmp 0x439150
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.004253dc
cmp byte [edi + 0x70b], 0
jne 0x43902d
cmp byte [edi + 0x275f], 0
jne 0x439006
mov eax, edi
call fcn.00428eb4
test al, al
jne 0x439006
mov byte [edi + 0x275f], 1
mov edx, dword [esi]
mov eax, 0x43964c
call fcn.0041fc80
jmp 0x4395c5
mov eax, edi
call fcn.00428e94
mov byte [edi + 0x2ac], al
cmp byte [edi + 0x2ac], 0
jne 0x43902d
mov edx, dword [esi]
mov eax, 0x43967c
call fcn.0041fc80
jmp 0x4395c5
mov eax, edi
call fcn.00428ee4
mov eax, edi
call fcn.0042224c
mov al, byte [edi + 0x8e]
cmp al, byte [ebp - 3]
je 0x43904d
mov byte [edi + 0x275e], 1
mov al, byte [edi + 0x8e]
test al, al
je 0x439098
cmp al, byte [edi + 0x8f]
jbe 0x43907a
mov byte [edi + 0x8f], al
xor ecx, ecx
mov cl, byte [edi + 0x8e]
mov edx, 0x4396a0
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [edi + 0x6e9], 0
jne 0x439098
mov al, byte [edi + 0x8e]
cmp al, byte [edi + 0x94]
jb 0x439098
mov eax, edi
call fcn.00428794
cmp byte [0x446c44], 0
je 0x4390b9
cmp byte [edi + 0x6dd], 0
je 0x4390b9
cmp ebx, dword [edi + 0x6e0]
je 0x4390b9
mov eax, edi
call fcn.00428754
cmp byte [ebp - 1], 0
je 0x4390de
cmp byte [edi + 0xa6], 0
jne 0x4390de
mov byte [edi + 0xa8], 0
xor ecx, ecx
mov edx, 0x4396b8
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [0x446c44], 0
je 0x439100
cmp byte [edi + 0xa6], 0
je 0x439100
cmp byte [edi + 0xa8], 0
jne 0x439100
mov eax, edi
call fcn.004287f4
cmp byte [ebp - 2], 0
je 0x439125
cmp byte [edi + 0xa9], 0
jne 0x439125
mov byte [edi + 0xab], 0
xor ecx, ecx
mov edx, 0x4396d4
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [0x446c44], 0
je 0x439150
cmp byte [edi + 0xa6], 0
jne 0x439150
cmp byte [edi + 0xa9], 0
je 0x439150
cmp byte [edi + 0xab], 0
jne 0x439150
mov eax, edi
call fcn.0042880c
cmp byte [0x446c44], 0
je 0x4392e7
cmp byte [edi + 0x6af], 0
jne 0x439173
cmp byte [edi + 0x6b0], 0
je 0x4392e7
cmp byte [edi + 0x70b], 0
je 0x43925e
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.00421748
test al, al
je 0x4392e7
test byte [ebp - 0x264], 0xf
jne 0x4392e7
mov byte [edi + 0x6af], 0
mov byte [edi + 0x6b0], 0
test byte [ebp - 0x260], 0xf
jne 0x4391f5
mov eax, edi
call fcn.004287ac
jmp 0x4392e7
mov al, byte [ebp - 0x260]
and al, 0xf
mov edx, eax
dec edx
sub dl, 4
jb 0x43920b
add al, 0xf8
sub al, 2
jae 0x439217
mov eax, edi
call fcn.004287c4
jmp 0x4392e7
mov eax, edi
call fcn.004287dc
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, 0x4396ec
call fcn.00403df4
mov eax, dword [ebp - 0x268]
mov edx, dword [esi]
call fcn.0041fc80
jmp 0x4392e7
xor eax, eax
mov al, byte [edi + 0x418]
shr eax, 4
mov byte [edi + 0x418], al
cmp al, 0xf
je 0x4392e0
mov byte [edi + 0x6af], 0
mov byte [edi + 0x6b0], 0
mov al, byte [edi + 0x418]
test al, al
jne 0x439294
mov eax, edi
call fcn.004287ac
jmp 0x4392e7
cmp al, 1
jne 0x4392a1
mov eax, edi
call fcn.004287c4
jmp 0x4392e7
mov eax, edi
call fcn.004287dc
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, 0x4396ec
call fcn.00403df4
mov eax, dword [ebp - 0x270]
mov edx, dword [esi]
call fcn.0041fc80
jmp 0x4392e7
mov eax, edi
call fcn.004254ac
add esi, 4
dec byte [ebp - 0x19]
jne 0x438ea3
call fcn.004347f0
cmp byte [0x446c7c], 0
je 0x43930d
mov byte [0x446c7c], 0
jmp 0x4395c5
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 [0x439710]
call fcn.00402a3c
fcomp dword [0x439714]
fnstsw ax
sahf
jne 0x4395c5
xor ebx, ebx
mov byte [0x446c7b], 0
mov al, byte [0x446b78]
dec eax
test al, al
jb 0x439446
inc eax
mov byte [ebp - 0x19], al
mov esi, 0x446b7c
mov eax, dword [esi]
mov edi, eax
cmp byte [edi + 0x6f4], 0
jne 0x43943a
cmp byte [edi + 0x6c0], 0
je 0x4393e4
cmp dword [edi + 0x6c4], 0
jne 0x4393e4
mov edx, dword [edi + 0x6c8]
cmp edx, dword [edi + 0x6cc]
jbe 0x4393b1
mov edx, eax
mov eax, 0x439720
call fcn.0041fc80
mov eax, dword [edi + 0x6cc]
mov dword [edi + 0x6c8], eax
jmp 0x4393e4
mov eax, dword [edi + 0x6cc]
sub eax, dword [edi + 0x6c8]
mov dword [edi + 0x6c4], eax
test eax, eax
jne 0x4393d1
mov dword [edi + 0x6c4], 1
mov ecx, dword [edi + 0x6c4]
mov eax, dword [edi + 0x24]
mov edx, 0x43973c
call fcn.0040688c
lea ecx, [ebp - 0x280]
mov eax, dword [edi + 0x24]
mov edx, 0x439758
call fcn.00406828
mov edx, dword [ebp - 0x280]
mov eax, dword [0x4469f4]
call fcn.00403ef4
je 0x43940a
inc ebx
cmp byte [edi + 0x8e], 0
je 0x43943a
mov al, byte [edi + 0x8f]
cmp al, byte [edi + 0x90]
jbe 0x43943a
mov al, byte [edi + 0x8f]
cmp al, byte [0x446c7b]
jbe 0x43943a
mov al, byte [edi + 0x8f]
mov byte [0x446c7b], al
add esi, 4
dec byte [ebp - 0x19]
jne 0x439366
test bl, bl
je 0x43947f
cmp byte [0x446c78], 0
jne 0x4395c5
lea ecx, [ebp - 0x27c]
mov edx, 0x438ba4
xor eax, eax
call fcn.00405c8c
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
call fcn.00406b28
jmp 0x4395c5
cmp byte [0x446c7b], 0
je 0x4394bd
cmp byte [0x446c79], 0
jne 0x4395c5
lea ecx, [ebp - 0x27c]
mov edx, 0x43899c
xor eax, eax
call fcn.00405c8c
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
call fcn.00406b28
jmp 0x4395c5
cmp byte [0x446bff], 0
je 0x4395c5
cmp byte [0x446c7a], 0
jne 0x4395c5
push 0
push 0
push 0
push 0
push 0x43976c
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 0x439778
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetOpenUrlA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4395bc
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.00438dc0
mov eax, dword [ebp - 0x284]
push eax
lea edx, [ebp - 0x28c]
mov eax, dword [0x4469f4]
call fcn.00438dc0
mov edx, dword [ebp - 0x28c]
pop eax
call fcn.00403ef4
jbe 0x4395c5
lea ecx, [ebp - 0x27c]
mov edx, 0x438af0
xor eax, eax
call fcn.00405c8c
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
call fcn.00406b28
jmp 0x4395c5
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 0x4395fa
lea eax, [ebp - 0x28c]
mov edx, 4
call fcn.00403b30
lea eax, [ebp - 0x274]
mov edx, 4
call fcn.00403b30
ret