Function at 0x100120c0
Capabilities:
Check http status code
Read data from internet
Receive data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov edi, dword [esp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push 0x2000
push 8
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x1001231e
mov dword [esp + 0xc], eax
xor eax, eax
lea edx, [esp + 0x14]
mov dword [edx], eax
lea ecx, [esp + 0x10]
mov dword [ecx], 4
mov dword [esp + 4], 0
push eax
push ecx
push edx
push 0x20000013
push dword [esp + 0x3c]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
cmp dword [0x1002d240], 0xa
jl 0x1001218b
mov ecx, dword [0x1002d244]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x1001218b
mov ebp, dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov eax, 4
mov dword [esp + 0x10], eax
xor eax, eax
push eax
lea esi, [esp + 0x14]
push esi
lea ebx, [esp + 0x1c]
push ebx
mov eax, 0x20000013
push eax
mov edi, dword [esp + 0x3c]
push edi
call ebp
mov eax, 4
mov dword [esp + 0x10], eax
xor eax, eax
push eax
push esi
push ebx
mov eax, 0x20000013
push eax
push edi
call ebp
cmp dword [0x1002d240], 0xa
jl 0x1001218b
mov ecx, dword [0x1002d244]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
jne 0x10012137
xor ebp, ebp
test eax, eax
je 0x100123cc
cmp dword [esp + 0x14], 0xc8
mov dword [esp + 4], 0
jne 0x100123cc
lea eax, [esp + 8]
mov dword [eax], 0
xor ebp, ebp
xor ebx, ebx
mov esi, dword [esp + 0xc]
lea eax, [esp + 8]
push eax
push 0x1fff
push esi
push dword [esp + 0x38]
call dword [sym.imp.WININET.dll_InternetReadFile]
cmp dword [0x1002d240], 0xa
mov dword [esp], ebp
mov dword [esp + 4], ebx
jl 0x10012224
mov ecx, dword [0x1002d244]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x10012224
lea ebp, [esp + 8]
push ebp
mov eax, 0x1fff
push eax
mov ebx, dword [esp + 0x14]
push ebx
mov edi, dword [esp + 0x38]
push edi
mov esi, dword [sym.imp.WININET.dll_InternetReadFile]
call esi
push ebp
mov eax, 0x1fff
push eax
push ebx
push edi
call esi
cmp dword [0x1002d240], 0xa
jge 0x100121e2
test eax, eax
je 0x10012327
mov ebp, dword [esp + 8]
test ebp, ebp
je 0x10012327
mov edi, dword [esp]
cmp edi, 0x100001
mov esi, dword [esp + 4]
jae 0x10012333
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
add edi, ebp
inc edi
test esi, esi
je 0x100122b1
cmp dword [0x1002d240], 0xa
jl 0x1001227e
mov ecx, dword [0x1002d244]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x1001227e
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call ebx
call ebx
jmp 0x10012258
push edi
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
test eax, eax
mov ebp, dword [esp]
jne 0x100122a6
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebp
xor ebp, ebp
mov ebx, eax
test eax, eax
jne 0x100122f7
jmp 0x100123c8
push edi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
cmp dword [0x1002d240], 0xa
jl 0x100122f4
mov eax, dword [0x1002d244]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x100122f4
mov esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call esi
push edi
xor ebx, ebx
push ebx
push eax
mov ebp, dword [sym.imp.KERNEL32.dll_HeapAlloc]
call ebp
call esi
push edi
push ebx
push eax
call ebp
jmp 0x100122bb
mov ebp, dword [esp]
lea eax, [ebx + ebp]
push dword [esp + 8]
mov esi, dword [esp + 0x10]
push esi
push eax
call sub.NTDLL.dll_RtlMoveMemory
add ebp, dword [esp + 8]
mov byte [ebx + ebp], 0
mov dword [esp + 8], 0
jmp 0x100121bd
xor ebp, ebp
xor edx, edx
jmp 0x1001247f
mov eax, dword [esp + 4]
mov ebp, dword [esp]
jmp 0x100123c8
test esi, esi
je 0x100123c4
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ebx, eax
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor ebp, ebp
cmp dword [0x1002d240], 0xa
jl 0x100123c6
mov eax, dword [0x1002d244]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0
and ecx, 1
je 0x100123c8
xor edi, edi
push esi
push edi
push ebx
mov ebp, dword [sym.imp.KERNEL32.dll_HeapFree]
call ebp
push esi
push edi
push ebx
call ebp
cmp dword [0x1002d240], 0xa
jl 0x10012398
mov eax, dword [0x1002d244]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x1001236f
push esi
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor ebp, ebp
cmp dword [0x1002d240], 0xa
jl 0x100123c6
mov eax, dword [0x1002d244]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0
and ecx, 1
jne 0x1001236f
jmp 0x100123c8
xor ebp, ebp
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ebx, eax
cmp dword [0x1002d240], 0xa
jl 0x10012412
mov eax, dword [0x1002d244]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10012412
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call edi
call edi
mov ebx, eax
cmp dword [0x1002d240], 0xa
jl 0x10012412
mov eax, dword [0x1002d244]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100123f3
push dword [esp + 0xc]
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [0x1002d240], 0xa
jl 0x10012477
mov eax, dword [0x1002d244]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10012477
mov dword [esp], ebp
xor edi, edi
mov ebp, dword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [esp + 0xc]
push esi
push edi
push ebx
call ebp
push esi
push edi
push ebx
call ebp
cmp dword [0x1002d240], 0xa
jl 0x1001246a
mov eax, dword [0x1002d244]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10012447
mov edi, dword [esp + 0x30]
mov ebp, dword [esp]
mov edx, dword [esp + 4]
jmp 0x1001247f
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 4]
mov dword [edi], edx
cmp dword [0x1002d240], 0xa
jl 0x1001249a
mov eax, dword [0x1002d244]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x1001247f
mov eax, ebp
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret