Function at 0x180b8970
Capabilities:
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, dword [0x1822b00c]
xor eax, esp
mov dword [esp + 0x48], eax
push ebx
push esi
push edi
push 0x50
mov ebx, ecx
call fcn.18160e88
pop ecx
lea ecx, [ebx + 4]
push ecx
mov ecx, eax
call fcn.180b4ea3
and dword [esp + 0x1c], 0
mov edi, eax
mov eax, dword [ebp + 8]
mov esi, edi
lea ecx, [edi + 0x44]
test eax, eax
jne 0x180b8ca7
push dword [esp + 0xc]
lea edi, [ebx + 0x2c]
push edi
push edi
push dword [ecx + 4]
call fcn.1805e61a
and dword [esp + 0x1c], 0
lea eax, [esp + 0x1c]
push eax
push 0x400
push edi
push dword [ebx + 0x24]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x180b8a09
mov eax, dword [esp + 0x1c]
mov ecx, esi
push dword [esp + 0xc]
add eax, 0x2c
add eax, ebx
push eax
push edi
push dword [ecx + 0x48]
lea ecx, [ecx + 0x44]
call fcn.1805e61a
cmp dword [esp + 0x1c], 0x400
je 0x180b89c4
jmp 0x180b8a22
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x180b8c85
test eax, eax
jne 0x180b8ca5
mov eax, esi
xor ecx, ecx
push ecx
mov dword [eax + 0x1c], ecx
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], ecx
push eax
push 0x20000013
push dword [ebx + 0x24]
mov dword [esp + 0x24], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov eax, dword [esp + 0x20]
mov ecx, esi
push 0
mov dword [ecx + 0x20], eax
lea eax, [esp + 0x14]
push eax
push edi
push 0x16
push dword [ebx + 0x24]
mov dword [esp + 0x24], 0x3ff
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
jne 0x180b8ab9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x180b8a89
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x180b8abd
mov eax, dword [esp + 0x10]
mov edi, esi
inc eax
push eax
lea ecx, [edi + 0x44]
call fcn.1800e440
mov edi, dword [edi + 0x44]
lea eax, [esp + 0x10]
push 0
push eax
push edi
push 0x16
push dword [ebx + 0x24]
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
neg eax
sbb eax, eax
and eax, dword [esp + 0x10]
jmp 0x180b8a83
mov eax, dword [esp + 0x10]
mov byte [edi + eax], 0
jmp 0x180b8bf5
push 0x3a
push edi
call fcn.18176d90
mov dword [esp + 0x14], eax
pop ecx
pop ecx
test eax, eax
je 0x180b8c3f
and dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0xf
mov byte [esp + 0x3c], 0
cmp edi, eax
je 0x180b8b03
sub eax, edi
lea ecx, [esp + 0x3c]
push eax
push edi
call fcn.1801b1e1
mov eax, dword [esp + 0xc]
lea edi, [eax + 1]
jmp 0x180b8b09
inc edi
cmp byte [edi], 0x20
je 0x180b8b08
push 0x181f4230
push edi
call fcn.1819ae00
mov dword [esp + 0x14], eax
pop ecx
pop ecx
test eax, eax
je 0x180b8c00
and dword [esp + 0x34], 0
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
cmp edi, eax
je 0x180b8b4a
sub eax, edi
lea ecx, [esp + 0x24]
push eax
push edi
call fcn.1801b1e1
lea eax, [esp + 0x24]
mov ecx, esi
push eax
lea eax, [esp + 0x40]
push eax
lea ecx, [ecx + 0x24]
call fcn.180b83db
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
add edi, 2
cmp eax, 0x10
jb 0x180b8ba4
mov ecx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], ecx
cmp eax, 0x1000
jb 0x180b8b9b
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.18007456
mov eax, dword [esp + 0x20]
pop ecx
pop ecx
mov ecx, dword [esp + 0xc]
push eax
push ecx
call fcn.18160b12
pop ecx
pop ecx
and dword [esp + 0x34], 0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
cmp eax, 0x10
jb 0x180b8bf5
mov ecx, dword [esp + 0x3c]
inc eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], ecx
cmp eax, 0x1000
jb 0x180b8bec
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.18007456
mov eax, dword [esp + 0x14]
pop ecx
pop ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.18160b12
pop ecx
pop ecx
cmp byte [edi], 0
jne 0x180b8ac6
jmp 0x180b8c3f
mov eax, dword [esp + 0x50]
cmp eax, 0x10
jb 0x180b8c3f
mov ecx, dword [esp + 0x3c]
inc eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], ecx
cmp eax, 0x1000
jb 0x180b8c36
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.18007456
mov eax, dword [esp + 0x14]
pop ecx
pop ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.18160b12
pop ecx
pop ecx
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x180b8c52
mov eax, dword [ecx]
push 0
push dword [ebx + 0x24]
push 7
call dword [eax + 8]
mov edi, esi
cmp byte [ebx + 0x42c], 0
jne 0x180b8c85
push 0
push dword [ebx + 0x24]
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
mov ecx, dword [ebx + 0x1c]
xor esi, esi
mov byte [ebx + 0x42c], 1
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebx]
lea eax, [ebx + 4]
push eax
call fcn.180b8dad
test esi, esi
je 0x180b8c91
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.181605f4
mov esp, ebp
pop ebp
ret 4
mov edi, esi
mov ecx, 0x2f14
cmp eax, ecx
ja 0x180b8cd3
je case.0x180b8cc3.12002
add eax, 0xffffd11e
cmp eax, 0x2b
ja case.0x180b8cc3.12004
movzx eax, byte [eax + 0x180b8d34]
jmp dword [eax*4 + 0x180b8d28]
mov dword [edi + 0x1c], 1
jmp 0x180b8c54
mov ecx, 0x2f80
cmp eax, ecx
ja 0x180b8d06
je case.0x180b8cc3.12002
cmp eax, 0x2f17
je case.0x180b8cc3.12002
cmp eax, 0x2f76
jbe case.0x180b8cc3.12004
cmp eax, 0x2f78
jbe case.0x180b8cc3.12002
cmp eax, 0x2f7c
je case.0x180b8cc3.12002
mov dword [edi + 0x1c], 2
jmp 0x180b8c54
cmp eax, 0x2f89
jb case.0x180b8cc3.12004
cmp eax, 0x2f8a
jbe case.0x180b8cc3.12002
cmp eax, 0x2f8f
jne case.0x180b8cc3.12004
mov dword [edi + 0x1c], 3
jmp 0x180b8c54