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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x275aa768
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push esi
push edi
mov eax, dword [0x275ba2ec]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [0x275bc8c4]
mov edx, dword [eax + 0xc]
mov ecx, 0x275bc8c4
xor edi, edi
mov dword [ebp - 0x18], 3
call edx
add eax, 0x10
mov dword [ebp - 0x14], eax
mov eax, dword [0x275bc8c4]
mov edx, dword [eax + 0xc]
mov ecx, 0x275bc8c4
mov dword [ebp - 4], edi
call edx
add eax, 0x10
mov dword [ebp - 0x10], eax
push edi
mov byte [ebp - 4], 1
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
call fcn.2757ffa7
add esp, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
call fcn.27595010
test al, al
je 0x2756e5b1
push 0x2750a488
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x3c]
call fcn.275453b0
mov ecx, dword [eax]
push ecx
push 0x2750a460
push 0x27522df0
push 3
mov byte [ebp - 4], 2
call fcn.27595fd0
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
add esp, 0x10
mov byte [ebp - 4], 1
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x2756e5b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x14]
cmp eax, edi
je 0x2756ec82
add eax, 8
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x28], 0
lea ecx, [esi + 0x6c]
mov dword [ebp - 0x34], ecx
mov byte [ebp - 0x30], 0
mov byte [ebp - 4], 4
call fcn.27595010
test al, al
mov ebx, dword [ebp + 0xc]
je 0x2756e5fe
mov edx, dword [esi + 0x14]
mov eax, dword [ebp + 8]
push edx
push ebx
push eax
push esi
push 0x27522d60
push 0x27522d08
push 3
call fcn.27595fd0
add esp, 0x1c
cmp ebx, 0x64
jne 0x2756ebbd
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor eax, eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x64], 0x28
cmp dword [eax + 0x158], 0
je 0x2756e6fd
cmp byte [eax + 0x160], 0
jne 0x2756e6fd
mov ecx, dword [ebp - 0x2c]
push ecx
call edi
mov byte [ebp - 0x28], 1
mov eax, dword [ebp - 0x34]
push eax
call edi
mov byte [ebp - 0x30], 1
call fcn.27595010
test al, al
je 0x2756e67f
push 0x27522ca8
push 0x27522c50
push 3
call fcn.27595fd0
add esp, 0xc
call fcn.2759c080
mov al, byte [eax + 0x105]
test al, al
je 0x2756e6bf
push ecx
lea edx, [esi + 0x10]
mov ecx, esp
mov dword [ebp + 8], esp
push edx
call fcn.27565350
lea eax, [ebp + 8]
push eax
call fcn.27566b10
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.27549060
lea ecx, [ebp + 8]
mov byte [ebp - 4], 4
call fcn.2753a510
lea ecx, [esi + 0x10]
call fcn.27548a00
cmp byte [esi + 0x84], 0
je 0x2756e73a
call fcn.27595010
test al, al
je 0x2756e6ed
push 0x27522bf0
push 0x27522b98
push 3
call fcn.27595fd0
add esp, 0xc
mov eax, dword [esi + 0x14]
mov edi, 0x800488e2
mov dword [eax + 0x70], edi
jmp 0x2756ebbd
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.KERNEL32.dll_TryEnterCriticalSection]
test eax, eax
je 0x2756e658
mov byte [ebp - 0x28], 1
call fcn.27595010
test al, al
je 0x2756e730
push 0x27522b38
push 0x27522ae0
push 0
call fcn.27595fd0
add esp, 0xc
mov edi, 0x80048037
jmp 0x2756ebbd
call fcn.27595010
test al, al
je 0x2756e757
push 0x27522a60
push 0x27522a08
push 3
call fcn.27595fd0
add esp, 0xc
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x2756e7bc
cmp dword [edi + 4], 0
je 0x2756e7bc
call fcn.27595010
test al, al
je 0x2756e788
mov ecx, dword [edi + 4]
mov edx, dword [edi]
push ecx
push edx
push 0x275229a8
push 0x27522950
push 0
call fcn.27595fd0
add esp, 0x14
mov ebx, dword [edi + 4]
push ebx
call fcn.27563e20
cmp ebx, 0x2f7d
mov edi, eax
jne 0x2756e7b2
mov eax, dword [esi + 0x14]
test eax, eax
je 0x2756ebbd
mov dword [eax + 0x70], 0x800488eb
jmp 0x2756ebbd
push 0x275228f8
jmp 0x2756eb36
cmp dword [esi + 0x30], 0
lea edi, [esi + 0x30]
mov ebx, 0x20000
jne 0x2756e88c
call fcn.27595010
test al, al
je 0x2756e7eb
push 0x27522880
push 0x27522828
push 3
call fcn.27595fd0
add esp, 0xc
mov ecx, dword [esi + 0x2c]
push 0
lea eax, [ebp + 8]
push eax
push edi
push 0x20000013
push ecx
mov dword [ebp + 8], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
jne 0x2756e840
call fcn.27539290
mov edi, eax
call fcn.27595010
test al, al
je 0x2756e831
push edi
push 0x275226a0
push 0x27522648
push 0
call fcn.27595fd0
add esp, 0x10
mov edi, 0x80048038
push 0x275225f0
jmp 0x2756eb36
cmp dword [esi + 0x38], 0
jne 0x2756e88c
push ebx
call fcn.2757e5f7
add esp, 4
test eax, eax
mov dword [esi + 0x38], eax
jne 0x2756e882
mov edi, 0x8007000e
call fcn.27595010
test al, al
je 0x2756e878
push 0x27522598
push 0x27522540
push 0
call fcn.27595fd0
add esp, 0xc
push 0x275224e8
jmp 0x2756eb36
mov dword [esi + 0x3c], 0
mov byte [eax], 0
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
mov edi, dword [sym.imp.WININET.dll_InternetReadFileExA]
lea edx, [eax + ecx]
push esi
mov dword [ebp - 0x50], edx
push 9
mov ecx, 0x1ffff
sub ecx, eax
mov eax, dword [esi + 0x2c]
lea edx, [ebp - 0x64]
push edx
push eax
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x4c], ecx
call edi
test eax, eax
je 0x2756e92a
mov ecx, dword [ebp - 0x4c]
add dword [esi + 0x3c], ecx
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
mov byte [eax + ecx], 0
cmp dword [ebp - 0x4c], 0
je 0x2756e991
call fcn.27595010
test al, al
je 0x2756e8fb
mov edx, dword [ebp - 0x4c]
push edx
push 0x27522490
push 0x27522438
push 3
call fcn.27595fd0
add esp, 0x10
cmp dword [esi + 0x3c], ebx
jge 0x2756eb0b
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
push esi
add ecx, eax
mov edx, 0x1ffff
sub edx, eax
push 9
lea eax, [ebp - 0x64]
mov dword [ebp - 0x50], ecx
mov ecx, dword [esi + 0x2c]
push eax
push ecx
mov dword [ebp - 0x4c], edx
call edi
test eax, eax
jne 0x2756e8c0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x2756e966
call fcn.27539290
mov edi, eax
call fcn.27595010
test al, al
je 0x2756e95c
push edi
push 0x275223f8
push 0x275223a0
push 0
call fcn.27595fd0
add esp, 0x10
push 0x27522348
jmp 0x2756eb36
mov edi, 0x800703e5
call fcn.27595010
test al, al
je 0x2756ebbd
push 0x275222f0
push 0x27522298
push 3
call fcn.27595fd0
add esp, 0xc
jmp 0x2756ebbd
call fcn.27595010
test al, al
je 0x2756e9b2
mov edx, dword [esi + 0x3c]
push edx
push 0x27522238
push 0x275221e0
push 0
call fcn.27595fd0
add esp, 0x10
lea eax, [ebp - 0x24]
push eax
call fcn.2753a060
mov ecx, dword [eax]
lea edi, [esi + 0x58]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
call fcn.27595010
test al, al
je 0x2756ea08
push 0x2750a488
lea eax, [ebp + 8]
push eax
mov ecx, edi
call fcn.275453b0
mov ecx, dword [eax]
push ecx
push 0x2750a460
push 0x27522188
push 3
mov byte [ebp - 4], 6
call fcn.27595fd0
add esp, 0x10
lea ecx, [ebp + 8]
mov byte [ebp - 4], 4
call fcn.2753a510
mov eax, dword [esi + 0x38]
test eax, eax
je 0x2756eae2
cmp byte [eax], 0
je 0x2756eae2
mov eax, dword [esi + 0x14]
mov dword [eax + 0x70], 0x80048820
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
lea edx, [ebp - 0x18]
push edx
push ecx
push eax
mov ecx, esi
mov dword [ebp - 0x18], 5
call fcn.2756d2d0
mov edi, eax
test edi, edi
jge 0x2756ea6e
call fcn.27595010
test al, al
je 0x2756ea64
push edi
push 0x27522140
push 0x275220e8
push 0
call fcn.27595fd0
add esp, 0x10
push 0x27522090
jmp 0x2756eb36
mov eax, dword [esi + 0x14]
cmp byte [eax + 0x92], 0
je 0x2756ebbd
cmp dword [eax + 0x68], 0x48803
jne 0x2756ebbd
call fcn.27595010
test al, al
je 0x2756eaa8
push 0x27522038
push 0x27521fe0
push 3
call fcn.27595fd0
add esp, 0xc
mov eax, dword [esi + 0x14]
lea ecx, [eax + 0x30]
call fcn.2754b980
mov edi, eax
test edi, edi
jge 0x2756ebbd
call fcn.27595010
test al, al
je 0x2756eadb
push edi
push 0x27521f78
push 0x27521f20
push 0
call fcn.27595fd0
add esp, 0x10
xor edi, edi
jmp 0x2756ebbd
call fcn.27595010
test al, al
je 0x2756eaff
push 0x27521ed0
push 0x27521e78
push 0
call fcn.27595fd0
add esp, 0xc
mov edi, 0x8004886a
push 0x27521e20
jmp 0x2756eb36
mov edi, 0x8004888a
call fcn.27595010
test al, al
je 0x2756eb31
mov edx, dword [esi + 0x3c]
push edx
push 0x27521da0
push 0x27521d48
push 0
call fcn.27595fd0
add esp, 0x10
push 0x27521cf0
lea ecx, [ebp - 0x10]
call fcn.2753d420
mov eax, dword [esi + 0x14]
test eax, eax
je 0x2756ebbd
mov dword [eax + 0x70], 0x80048820
call fcn.2759c080
cmp byte [eax + 0x105], 0
je 0x2756ebbd
push ecx
mov ecx, dword [esi + 0x14]
mov eax, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.2754f340
mov ecx, esi
call fcn.27565580
movzx eax, ax
movzx ecx, ax
mov eax, dword [esi + 0x38]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.275400b0
push ecx
lea edx, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edx
mov byte [ebp - 4], 7
call fcn.27565350
push ecx
lea eax, [ebp - 0x10]
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
mov byte [ebp - 4], 8
call fcn.27565350
mov ecx, dword [ebp - 0x18]
push edi
push ecx
mov byte [ebp - 4], 4
mov ecx, dword [esi + 0x14]
call fcn.2754ff60
call fcn.27595010
test al, al
je 0x2756ebdf
mov edx, dword [esi + 0x14]
push edx
push esi
push 0x27521cb8
push 0x27521c60
push 3
call fcn.27595fd0
add esp, 0x14
cmp dword [ebp + 0xc], 0x64
jne 0x2756ec64
cmp edi, 0x800703e5
je 0x2756ec64
push 0
mov ecx, esi
call fcn.27564300
mov edi, eax
test edi, edi
jge 0x2756ec1a
call fcn.27595010
test al, al
je 0x2756ec1a
push edi
push 0x27521c00
push 0x27521ba8
push 0
call fcn.27595fd0
add esp, 0x10
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x158], 0
je 0x2756ec33
cmp byte [eax + 0x160], 0
je 0x2756ecdf
cmp dword [esi + 0x20], 0
je 0x2756ec64
call fcn.27595010
test al, al
je 0x2756ec5a
mov eax, dword [esi + 0x20]
push eax
push 0x27521b58
push 0x27521b00
push 3
call fcn.27595fd0
add esp, 0x10
mov ecx, dword [esi + 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
cmp byte [ebp - 0x30], 0
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
je 0x2756ec76
mov ecx, dword [ebp - 0x34]
push ecx
call esi
cmp byte [ebp - 0x28], 0
je 0x2756ec82
mov edx, dword [ebp - 0x2c]
push edx
call esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x2756eca5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x2756eccb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebp - 0x2c]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edx
call edi
mov eax, dword [ebp - 0x34]
push eax
mov byte [ebp - 0x28], 0
call edi
mov ecx, dword [esi + 0x14]
test ecx, ecx
mov byte [ebp - 0x30], 0
je 0x2756ec82
push 0
call fcn.27552150
jmp 0x2756ec82