Function at 0x43900c
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 0x43974a
push dword fs:[eax]
mov dword fs:[eax], esp
mov al, byte [0x447b78]
dec eax
test al, al
jb 0x4394bf
inc eax
mov byte [ebp - 0x19], al
mov esi, 0x447b7c
mov eax, dword [esi]
mov edi, eax
cmp byte [edi + 0x6f0], 0
jne 0x4394b3
xor ebx, ebx
jmp 0x439099
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 0x4390b2
cmp bl, 0x28
jne 0x439084
cmp bl, 0x28
jne 0x4390d6
mov byte [edi + 0x6f0], 1
mov edx, dword [esi]
mov eax, 0x439760
call fcn.0041febc
mov eax, edi
call fcn.004289fc
jmp 0x4394b3
cmp byte [edi + 0x707], 0
jne 0x4390f8
cmp byte [edi + 0x6be], 0
je 0x4390f8
cmp dword [edi + 0x6c0], 0
jne 0x4390f8
mov eax, edi
call fcn.00425760
xor ebx, ebx
jmp 0x439121
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 0x43912f
cmp bl, 0x28
jne 0x4390fc
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 0x439175
cmp byte [edi + 0x6d8], 0
jne 0x43931c
mov byte [edi + 0x6d8], 1
mov ecx, 1
mov edx, 0x439784
mov eax, dword [edi + 0x24]
call fcn.0040688c
jmp 0x43931c
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.00425690
cmp byte [edi + 0x707], 0
jne 0x4391f9
cmp byte [edi + 0x275b], 0
jne 0x4391d2
mov eax, edi
call fcn.00429258
test al, al
jne 0x4391d2
mov byte [edi + 0x275b], 1
mov edx, dword [esi]
mov eax, 0x4397a0
call fcn.0041febc
jmp 0x43971c
mov eax, edi
call fcn.00429238
mov byte [edi + 0x2aa], al
cmp byte [edi + 0x2aa], 0
jne 0x4391f9
mov edx, dword [esi]
mov eax, 0x4397d0
call fcn.0041febc
jmp 0x43971c
mov eax, edi
call fcn.00429288
mov eax, edi
call fcn.00422488
mov al, byte [edi + 0x8e]
cmp al, byte [ebp - 3]
je 0x439219
mov byte [edi + 0x275a], 1
mov al, byte [edi + 0x8e]
test al, al
je 0x439264
cmp al, byte [edi + 0x8f]
jbe 0x439246
mov byte [edi + 0x8f], al
xor ecx, ecx
mov cl, byte [edi + 0x8e]
mov edx, 0x4397f4
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [edi + 0x6e5], 0
jne 0x439264
mov al, byte [edi + 0x8e]
cmp al, byte [edi + 0x93]
jb 0x439264
mov eax, edi
call fcn.00428a48
cmp byte [0x447c44], 0
je 0x439285
cmp byte [edi + 0x6d9], 0
je 0x439285
cmp ebx, dword [edi + 0x6dc]
je 0x439285
mov eax, edi
call fcn.00428a08
cmp byte [ebp - 1], 0
je 0x4392aa
cmp byte [edi + 0xa4], 0
jne 0x4392aa
mov byte [edi + 0xa6], 0
xor ecx, ecx
mov edx, 0x43980c
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [0x447c44], 0
je 0x4392cc
cmp byte [edi + 0xa4], 0
je 0x4392cc
cmp byte [edi + 0xa6], 0
jne 0x4392cc
mov eax, edi
call fcn.00428aa8
cmp byte [ebp - 2], 0
je 0x4392f1
cmp byte [edi + 0xa7], 0
jne 0x4392f1
mov byte [edi + 0xa9], 0
xor ecx, ecx
mov edx, 0x439828
mov eax, dword [edi + 0x24]
call fcn.0040688c
cmp byte [0x447c44], 0
je 0x43931c
cmp byte [edi + 0xa4], 0
jne 0x43931c
cmp byte [edi + 0xa7], 0
je 0x43931c
cmp byte [edi + 0xa9], 0
jne 0x43931c
mov eax, edi
call fcn.00428ac0
cmp byte [0x447c44], 0
je 0x4394b3
cmp byte [edi + 0x6ad], 0
jne 0x43933f
cmp byte [edi + 0x6ae], 0
je 0x4394b3
cmp byte [edi + 0x707], 0
je 0x43942a
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.00421984
test al, al
je 0x4394b3
test byte [ebp - 0x264], 0xf
jne 0x4394b3
mov byte [edi + 0x6ad], 0
mov byte [edi + 0x6ae], 0
test byte [ebp - 0x260], 0xf
jne 0x4393c1
mov eax, edi
call fcn.00428a60
jmp 0x4394b3
mov al, byte [ebp - 0x260]
and al, 0xf
mov edx, eax
dec edx
sub dl, 4
jb 0x4393d7
add al, 0xf8
sub al, 2
jae 0x4393e3
mov eax, edi
call fcn.00428a78
jmp 0x4394b3
mov eax, edi
call fcn.00428a90
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, 0x439840
call fcn.00403df4
mov eax, dword [ebp - 0x268]
mov edx, dword [esi]
call fcn.0041febc
jmp 0x4394b3
xor eax, eax
mov al, byte [edi + 0x416]
shr eax, 4
mov byte [edi + 0x416], al
cmp al, 0xf
je 0x4394ac
mov byte [edi + 0x6ad], 0
mov byte [edi + 0x6ae], 0
mov al, byte [edi + 0x416]
test al, al
jne 0x439460
mov eax, edi
call fcn.00428a60
jmp 0x4394b3
cmp al, 1
jne 0x43946d
mov eax, edi
call fcn.00428a78
jmp 0x4394b3
mov eax, edi
call fcn.00428a90
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, 0x439840
call fcn.00403df4
mov eax, dword [ebp - 0x270]
mov edx, dword [esi]
call fcn.0041febc
jmp 0x4394b3
mov eax, edi
call fcn.00425760
add esi, 4
dec byte [ebp - 0x19]
jne 0x43906f
call fcn.00434b94
cmp byte [0x447c7a], 0
je 0x4394d9
mov byte [0x447c7a], 0
jmp 0x43971c
inc dword [0x447c74]
mov eax, dword [0x447c74]
mov dword [ebp - 0x27c], eax
xor eax, eax
mov dword [ebp - 0x278], eax
fild qword [ebp - 0x27c]
fdiv dword [0x439864]
call fcn.00402a3c
fcomp dword [0x439868]
fnstsw ax
sahf
jne 0x43971c
xor ebx, ebx
mov al, byte [0x447b78]
dec eax
test al, al
jb 0x4395db
inc eax
mov byte [ebp - 0x19], al
mov esi, 0x447b7c
mov eax, dword [esi]
mov edi, eax
cmp byte [edi + 0x6f0], 0
jne 0x4395cf
cmp byte [edi + 0x6be], 0
je 0x4395a9
cmp dword [edi + 0x6c0], 0
jne 0x4395a9
mov edx, dword [edi + 0x6c4]
cmp edx, dword [edi + 0x6c8]
jbe 0x439576
mov edx, eax
mov eax, 0x439874
call fcn.0041febc
mov eax, dword [edi + 0x6c8]
mov dword [edi + 0x6c4], eax
jmp 0x4395a9
mov eax, dword [edi + 0x6c8]
sub eax, dword [edi + 0x6c4]
mov dword [edi + 0x6c0], eax
test eax, eax
jne 0x439596
mov dword [edi + 0x6c0], 1
mov ecx, dword [edi + 0x6c0]
mov eax, dword [edi + 0x24]
mov edx, 0x439890
call fcn.0040688c
lea ecx, [ebp - 0x280]
mov eax, dword [edi + 0x24]
mov edx, 0x4398ac
call fcn.00406828
mov edx, dword [ebp - 0x280]
mov eax, dword [0x4479f4]
call fcn.00403ef4
je 0x4395cf
inc ebx
add esi, 4
dec byte [ebp - 0x19]
jne 0x43952b
test bl, bl
je 0x439614
cmp byte [0x447c78], 0
jne 0x43971c
lea ecx, [ebp - 0x27c]
mov edx, 0x438d70
xor eax, eax
call fcn.00405c8c
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
call fcn.00406b28
jmp 0x43971c
cmp byte [0x447bff], 0
je 0x43971c
cmp byte [0x447c79], 0
jne 0x43971c
push 0
push 0
push 0
push 0
push 0x4398c0
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 0x4398cc
mov eax, dword [ebp - 8]
push eax
call sub.wininet.dll_InternetOpenUrlA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x439713
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.00438f8c
mov eax, dword [ebp - 0x284]
push eax
lea edx, [ebp - 0x28c]
mov eax, dword [0x4479f4]
call fcn.00438f8c
mov edx, dword [ebp - 0x28c]
pop eax
call fcn.00403ef4
jbe 0x43971c
lea ecx, [ebp - 0x27c]
mov edx, 0x438cbc
xor eax, eax
call fcn.00405c8c
push dword [ebp - 0x278]
push dword [ebp - 0x27c]
call fcn.00406b28
jmp 0x43971c
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 0x439751
lea eax, [ebp - 0x28c]
mov edx, 4
call fcn.00403b30
lea eax, [ebp - 0x274]
mov edx, 4
call fcn.00403b30
ret