Function at 0x25804ee6
Capabilities:
Check http status code
Connect to http server
Get http content length
Query remote server for available data
Resolve function by parsing pe exports
Send data
Send http request

Disassembly:
push 0x2a4
mov eax, 0x25812daa
call fcn.25806c92
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x13c]
cmp eax, 0xf
ja case.0x25804f0c.1
push 0xd
xor edi, edi
pop esi
jmp dword [eax*4 + 0x25806c52]
mov eax, dword [ebx + 0x140]
xor edi, edi
mov dword [ebx + 0x144], edi
mov ecx, dword [eax + 0x10]
sub ecx, edi
je 0x25804f3b
dec ecx
je 0x2580500d
dec ecx
je 0x258050d4
jmp 0x2580512c
mov esi, dword [ebx]
mov dword [eax + 8], edi
mov eax, dword [ebx + 0x140]
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov word [eax + 8], cx
mov eax, dword [ebx + 0x140]
mov dword [ebp - 0x27c], esi
mov dword [eax + 0x10], 1
call fcn.25806cc8
test ax, ax
jne 0x25804f86
mov ecx, dword [ebx + 0x140]
mov eax, 0x2ee4
mov dword [ebx + 0x144], eax
mov dword [ecx + 8], eax
push esi
jmp 0x2580511a
mov eax, dword [ebx + 0x140]
push dword [eax + 0xc]
mov eax, esi
push dword [eax + 0x14]
movzx ecx, word [eax + 4]
push 3
push dword [eax + 0x10]
push dword [eax + 0xc]
push ecx
push dword [eax]
mov eax, dword [0x25818c70]
push dword [eax + 0x118]
call dword [sym.imp.WININET.dll_InternetConnectA]
push eax
mov esi, ebx
mov dword [ebp - 0x270], eax
call fcn.2580dce6
pop ecx
lea ecx, [ebx + 0x1e0]
call fcn.25806ec6
mov dword [ebx + 0x1e4], edi
cmp dword [ebp - 0x270], edi
je 0x258050e0
mov eax, dword [ebx + 0x140]
mov eax, dword [eax + 0xc]
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
mov eax, dword [ebx + 0x140]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x270]
mov dword [eax], ecx
mov eax, dword [ebx + 0x140]
mov eax, dword [eax + 0xc]
mov dword [eax + 4], edi
mov eax, dword [ebx + 0x140]
mov ecx, dword [eax + 0xc]
cmp word [ecx + 8], di
jne 0x2580509a
push dword [ebx + 0x1e8]
mov esi, 0x2581800c
push esi
call fcn.2580dce6
pop ecx
pop ecx
mov dword [ebp - 0x274], eax
cmp eax, 0xffffffff
je 0x2580512c
lea ecx, [ebx + 0x1e0]
call fcn.25806ed8
cmp eax, dword [ebp - 0x274]
jbe 0x2580512c
inc dword [ebx + 0x1e8]
push dword [ebx + 0x1e8]
push esi
call fcn.2580dce6
pop ecx
pop ecx
test eax, eax
je 0x2580507f
mov edi, ebx
call fcn.25809d97
xor edi, edi
test ax, ax
jne 0x2580512c
mov ecx, dword [ebx + 0x140]
mov eax, 0x2ee2
mov dword [ebx + 0x144], eax
mov dword [ecx + 8], eax
push dword [ebx]
jmp 0x2580511a
cmp dword [ecx], edi
jne 0x258050b2
mov ecx, dword [ebx + 0x134]
mov ecx, dword [ecx + 4]
mov dword [ebx + 0x144], ecx
mov dword [eax + 8], ecx
jmp 0x25805093
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, dword [ebx + 0x140]
lea ecx, [ebx + 0x1e0]
mov dword [eax + 0x10], 2
call fcn.25806ed8
mov dword [ebx + 0x1e4], eax
mov dword [ebx + 0x13c], 2
jmp 0x2580512c
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x3e5
je 0x2580512c
call dword [sym.imp.kernel32.dll_GetLastError]
mov ecx, dword [ebx + 0x140]
mov dword [ebx + 0x144], eax
mov dword [ecx + 8], eax
cmp dword [ebx + 0x144], edi
jne 0x25805114
mov dword [ebx + 0x144], 0x2ee4
push dword [ebp - 0x27c]
mov eax, dword [ebx + 0x140]
call fcn.2580dce6
mov dword [ebx + 0x140], edi
pop ecx
cmp dword [ebx + 0x144], edi
jne case.0x25804f0c.1
cmp dword [ebx + 0x13c], 2
jne case.0x25804f0c.1
cmp dword [ebx + 0x124], edi
je case.0x25804f0c.1
mov dword [ebx + 0x13c], 3
mov eax, dword [ebx + 0x140]
cmp eax, edi
je 0x258053ab
cmp dword [eax], edi
je 0x258053ab
mov eax, dword [ebx]
mov eax, dword [eax + 8]
cmp eax, 1
je 0x2580518f
cmp eax, 2
je 0x2580518f
mov dword [ebx + 0x144], 0xc
jmp case.0x25804f0c.1
mov esi, 0x8444c000
cmp word [0x25818c74], di
je 0x258051a2
mov esi, 0x8444c200
push dword [ebx + 0x128]
call fcn.2580dce6
pop ecx
cmp eax, edi
je 0x258051be
cmp word [eax + 0x48], di
je 0x258051be
and esi, 0xfffbfdff
cmp word [ebx + 0x1f6], di
je 0x258051cd
and esi, 0xffff3fff
cmp eax, edi
je 0x258051dd
cmp word [eax + 0x4a], di
jne 0x258051dd
or esi, 0x80000
mov ecx, dword [ebx + 0x134]
xor edx, edx
mov dword [ebx + 0x144], edi
mov word [ecx + 8], dx
mov ecx, dword [ebx + 0x134]
mov edx, dword [ebx + 0x128]
mov dword [ecx + 0x30], edx
mov ecx, dword [ebx]
mov dword [ebx + 0x13c], 4
cmp dword [ecx + 8], 2
jne 0x25805216
add esi, 0x800000
cmp eax, edi
jne 0x2580521e
xor eax, eax
jmp 0x25805221
mov eax, dword [eax + 8]
push dword [ebx + 0x134]
push esi
push eax
push edi
push str.HTTP_1.0
push dword [ecx + 0x20]
lea eax, [ebx + 0x14e]
push eax
mov eax, dword [ebx + 0x140]
push dword [eax]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
lea ecx, [ebx + 0x1e0]
mov dword [ebp - 0x26c], eax
call fcn.25806ec6
cmp dword [ebp - 0x26c], edi
je 0x258060e1
push dword [ebp - 0x26c]
mov esi, ebx
call fcn.2580dce6
mov eax, dword [ebx + 0x134]
pop ecx
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
mov eax, dword [ebx + 0x134]
mov ecx, dword [ebp - 0x26c]
mov dword [eax], ecx
mov eax, dword [ebx + 0x134]
mov dword [eax + 4], edi
mov eax, dword [ebx + 0x134]
cmp word [eax + 8], di
je 0x25805efa
cmp dword [eax], edi
je 0x25806c43
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
push edi
push 0x7fffffff
push eax
call fcn.2580dce6
add esp, 0xc
lea ecx, [ebx + 0x1e0]
call fcn.25806ed8
add dword [ebx + 0x1e4], eax
mov eax, dword [ebx + 0x134]
mov ecx, dword [eax]
mov dword [ebx + 0x130], ecx
xor ecx, ecx
mov dword [ebx + 0x144], edi
mov word [eax + 8], cx
mov eax, dword [ebx + 0x134]
mov word [eax + 0x34], cx
mov eax, dword [ebx + 0x134]
mov word [eax + 0x36], cx
push dword [ebx + 0x128]
xor esi, esi
call fcn.2580dce6
pop ecx
cmp eax, edi
je 0x25805316
mov esi, dword [eax + 0xc]
mov eax, dword [ebx]
push dword [eax + 0x1c]
mov eax, dword [ebx + 0x134]
add eax, 0xc
push esi
push eax
call fcn.2580dce6
add esp, 0xc
test eax, eax
jne 0x2580607d
mov dword [ebx + 0x13c], 5
test byte [ebx + 0x122], 2
jne case.0x25804f0c.1
mov dword [ebx + 0x13c], 6
push dword [ebx + 0x128]
call fcn.2580dce6
mov dword [ebp - 0x26c], eax
mov eax, dword [ebx + 0x1fc]
pop ecx
mov dword [ebx + 0x13c], 0xa
cmp eax, edi
je 0x258053ce
lea esi, [ebx + 0x200]
push esi
push 1
push eax
push dword [ebx + 0x1f8]
mov eax, dword [0x25818ff0]
call dword [eax + 0x68]
add esp, 0x10
test eax, eax
je 0x258053ba
mov dword [ebx + 0x144], 2
jmp case.0x25804f0c.1
mov dword [ebx + 0x144], 0x8ca
jmp case.0x25804f0c.1
push dword [esi]
mov eax, dword [0x25818ff0]
call dword [eax + 0x84]
pop ecx
mov dword [ebx + 0x204], eax
mov eax, dword [ebx + 0x16c]
mov esi, dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
cmp eax, edi
je 0x25805442
push 0xa0000000
push dword [ebx + 0x170]
push eax
push dword [ebx + 0x130]
call esi
cmp dword [ebx + 0x174], edi
jne 0x25805402
cmp dword [ebx + 0x204], edi
jbe 0x25805442
mov eax, dword [ebx + 0x204]
cmp eax, edi
ja 0x25805412
mov eax, dword [ebx + 0x178]
push eax
push str.Content_length:__ld_r_n
lea eax, [ebp - 0x1e4]
push 0xc8
push eax
call fcn.2580dce6
add esp, 0x10
push 0x10000000
push 0xffffffffffffffff
lea eax, [ebp - 0x1e4]
push eax
push dword [ebx + 0x130]
call esi
cmp dword [ebx + 0x1b0], edi
jne 0x25805451
push ebx
call fcn.2580dce6
pop ecx
mov eax, dword [ebx + 0x1b0]
cmp eax, edi
je 0x2580560b
lea ecx, [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x278]
push ecx
push eax
mov dword [ebp - 0x278], edi
mov dword [ebp - 0x288], edi
call fcn.2580dce6
add esp, 0xc
test ax, ax
je 0x258055dd
push dword [ebx + 0x1b0]
call fcn.2580dce6
pop ecx
test ax, ax
je 0x258054b6
push edi
push dword [ebp - 0x288]
push dword [ebp - 0x278]
call fcn.2580dce6
add esp, 0xc
jmp 0x258055b9
push dword [ebx + 0x1b0]
call fcn.2580dce6
pop ecx
test ax, ax
je 0x258055dd
push dword [ebx + 0x1b0]
call fcn.2580dce6
mov esi, eax
pop ecx
cmp esi, edi
je 0x25805598
mov ecx, dword [esi + 0x24]
cmp ecx, edi
je 0x25805598
lea eax, [ebx + 0x14e]
cmp eax, edi
je 0x25805598
push eax
push ecx
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x25805598
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x284]
push eax
push dword [ebx + 0x1b0]
mov dword [ebp - 0x284], edi
mov dword [ebp - 0x280], edi
call fcn.2580dce6
add esp, 0xc
test ax, ax
je 0x2580556a
cmp dword [ebp - 0x284], edi
je 0x25805581
cmp dword [ebp - 0x280], edi
je 0x2580556a
push dword [ebp - 0x280]
push dword [ebp - 0x278]
push esi
push ebx
call fcn.2580dce6
add esp, 0x10
test ax, ax
je 0x2580556a
mov dword [esi + 0x3c], 1
cmp dword [ebp - 0x284], edi
je 0x25805581
push dword [ebp - 0x284]
mov eax, dword [0x25818ff0]
call dword [eax + 0xc]
pop ecx
cmp dword [ebp - 0x280], edi
je 0x25805598
push dword [ebp - 0x280]
mov eax, dword [0x25818ff0]
call dword [eax + 0xc]
pop ecx
push edi
push dword [ebx + 0x1b0]
call fcn.2580dce6
pop ecx
push eax
mov eax, dword [ebx]
push dword [eax + 0x20]
push dword [ebp - 0x278]
call fcn.2580dce6
add esp, 0x10
mov esi, eax
cmp esi, edi
je 0x258055dd
push 0xa0000000
push 0xffffffffffffffff
push esi
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
mov eax, dword [0x25818ff0]
push esi
call dword [eax + 0xc]
pop ecx
cmp dword [ebp - 0x278], edi
je 0x258055f4
push dword [ebp - 0x278]
mov eax, dword [0x25818ff0]
call dword [eax + 0xc]
pop ecx
cmp dword [ebp - 0x288], edi
je 0x2580560b
push dword [ebp - 0x288]
mov eax, dword [0x25818ff0]
call dword [eax + 0xc]
pop ecx
mov eax, dword [ebx]
cmp dword [eax + 8], 1
mov dword [ebp - 0x270], edi
je 0x25805622
cmp word [ebx + 0x1ec], di
je 0x25805671
mov eax, dword [0x25818c70]
cmp dword [eax + 0x134], edi
je 0x25805676
cmp dword [eax + 0x138], edi
je 0x25805676
push 1
push dword [eax + 0x138]
push dword [eax + 0x134]
call fcn.2580dce6
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x25805671
push 0xa0000000
push 0xffffffffffffffff
push esi
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
mov eax, dword [0x25818ff0]
push esi
call dword [eax + 0xc]
pop ecx
mov eax, dword [0x25818c70]
mov ecx, dword [ebx]
cmp dword [ecx + 8], 2
jne 0x2580571e
cmp dword [eax + 0x13c], edi
je 0x2580571e
cmp dword [eax + 0x140], edi
je 0x2580571e
mov eax, dword [eax + 0x140]
push edi
push 0x7fffffff
push eax
call fcn.2580dce6
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionA]
add esp, 0xc
push eax
mov eax, dword [0x25818c70]
push dword [eax + 0x140]
push 0x2c
push dword [ebx + 0x130]
call esi
test eax, eax
je 0x25805703
mov eax, dword [0x25818c70]
mov eax, dword [eax + 0x13c]
push edi
push 0x7fffffff
push eax
call fcn.2580dce6
add esp, 0xc
push eax
mov eax, dword [0x25818c70]
push dword [eax + 0x13c]
push 0x2b
push dword [ebx + 0x130]
call esi
test eax, eax
jne 0x2580571e
mov eax, dword [0x25818c70]
add eax, 0x13c
push eax
call fcn.2580dce6
pop ecx
mov dword [ebp - 0x270], 1
cmp dword [ebp - 0x26c], edi
je 0x25805783
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 4]
cmp eax, edi
je 0x25805783
push edi
push 0x7fffffff
push eax
call fcn.2580dce6
add eax, 0x14
push eax
call fcn.2580dce6
mov esi, eax
add esp, 0x10
cmp esi, edi
je 0x25805783
mov eax, dword [ebp - 0x26c]
push dword [eax + 4]
push str.User_Agent:__s_r_n
push esi
call fcn.2580dce6
add esp, 0xc
push 0xa0000000
push 0xffffffffffffffff
push esi
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
pop ecx
lea eax, [ebx + 0x188]
push eax
call fcn.2580dce6
pop ecx
lea ecx, [ebx + 0x1e0]
call fcn.25806ec6
cmp word [ebp - 0x270], di
je case.0x25804f0c.11
mov dword [ebx + 0x144], 0x2f01
jmp case.0x25804f0c.1
cmp dword [ebx + 0x1fc], edi
je 0x25805860
mov eax, dword [ebx + 0x134]
push 0xa
xor esi, esi
xor ecx, ecx
mov dword [ebx + 0x144], esi
mov word [eax + 8], cx
pop ecx
push dword [ebx + 0x134]
xor eax, eax
lea edi, [ebp - 0x244]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x204]
push esi
mov dword [ebp - 0x228], eax
push esi
lea eax, [ebp - 0x244]
push eax
push dword [ebx + 0x130]
mov dword [ebx + 0x13c], 0xc
mov dword [ebp - 0x244], 0x28
call dword [sym.imp.WININET.dll_HttpSendRequestExA]
test eax, eax
jne 0x2580583b
mov edi, dword [sym.imp.kernel32.dll_GetLastError]
call edi
cmp eax, 0x3e5
je case.0x25804f0c.1
call edi
cmp eax, esi
jmp 0x258060f8
mov ecx, dword [ebx + 0x134]
xor eax, eax
inc eax
mov edx, eax
mov word [ecx + 8], dx
mov ecx, dword [ebx + 0x134]
mov dword [ecx], eax
mov eax, dword [ebx + 0x134]
mov dword [eax + 4], esi
jmp case.0x25804f0c.1
push dword [ebx + 0x178]
push dword [ebx + 0x174]
push edi
push edi
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x258058ab
mov esi, dword [sym.imp.kernel32.dll_GetLastError]
call esi
cmp eax, 0x3e5
jne 0x258060f4
xor eax, eax
cmp dword [ebx + 0x174], edi
sete al
lea eax, [eax + eax + 8]
mov dword [ebx + 0x13c], eax
jmp case.0x25804f0c.1
mov edx, dword [ebx + 0x134]
xor ecx, ecx
inc ecx
mov esi, ecx
mov word [edx + 8], si
mov edx, dword [ebx + 0x134]
mov dword [edx], ecx
mov eax, dword [ebx + 0x134]
mov dword [eax + 4], edi
mov eax, dword [ebx + 0x134]
cmp word [eax + 8], di
jne 0x258058e1
cmp word [eax + 0x34], di
je 0x25805efa
lea ecx, [ebx + 0x1e0]
call fcn.25806ed8
add dword [ebx + 0x1e4], eax
lea ecx, [ebx + 0x1e0]
call fcn.25806ec6
mov dword [ebx + 0x13c], 9
mov eax, dword [ebx + 0x134]
cmp word [eax + 8], di
jne 0x2580591d
cmp word [eax + 0x36], di
je case.0x25804f0c.1
cmp dword [ebx + 0x174], edi
je 0x25805930
lea ecx, [ebx + 0x1e0]
call fcn.25806ec6
mov dword [ebx + 0x13c], 0xa
mov eax, dword [ebx + 0x134]
cmp word [eax + 8], di
je 0x25805efa
push dword [ebx + 0x128]
call fcn.2580dce6
mov esi, eax
mov eax, dword [ebx + 0x134]
pop ecx
cmp dword [eax], edi
jne 0x25805d1a
mov eax, dword [eax + 4]
cmp eax, edi
je 0x25805d1a
push eax
call fcn.2580dce6
add esp, 4
test ax, ax
je 0x258059a6
mov eax, ebx
call fcn.25809a87
test ax, ax
jne 0x25805d1a
cmp esi, edi
je 0x258059a6
cmp word [esi + 0x48], di
je 0x258059a6
cmp word [ebx + 0x1f4], di
jne 0x25805d1a
mov eax, dword [ebx + 0x134]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x26c], edi
cmp eax, 0x2f0c
jne 0x25805c47
cmp esi, edi
je 0x258059ec
cmp word [esi + 0x48], di
je 0x258059ec
xor eax, eax
inc eax
inc dword [ebx + 0x1b4]
mov word [ebx + 0x1f4], ax
mov word [ebx + 0x1f6], ax
jmp 0x25805fe2
mov eax, dword [0x25818db4]
call dword [eax + 0xca4]
test ax, ax
je 0x25805ab3
mov eax, dword [0x25818db4]
call dword [eax + 0xca8]
test eax, eax
je 0x25805ab3
mov eax, dword [0x25818db4]
call dword [eax + 0xca8]
mov dword [ebp - 0x290], eax
mov eax, dword [0x25819038]
call dword [eax + 0x30]
mov dword [ebp - 0x274], eax
cmp eax, edi
je 0x25805a47
push eax
mov eax, dword [0x25819038]
call dword [eax + 0xc8]
pop ecx
mov esi, eax
jmp 0x25805a49
xor esi, esi
mov eax, dword [0x25819038]
push esi
call dword [eax + 0x90]
push dword [ebp - 0x274]
mov eax, dword [0x25819050]
call dword [eax + 0x10]
pop ecx
pop ecx
cmp eax, edi
jne 0x25805a76
mov eax, dword [0x25819038]
push esi
call dword [eax + 0x2f8]
pop ecx
mov ecx, dword [ebp - 0x290]
push eax
push dword [ebx + 0x130]
mov dword [ebx + 0x13c], 7
mov edx, dword [ecx]
call dword [edx + 0x17c]
test eax, eax
setne al
movzx eax, al
mov dword [ebp - 0x26c], eax
mov eax, dword [0x25819038]
call dword [eax + 0x98]
jmp 0x25805c94
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x80000037
push dword [ebx + 0x130]
mov dword [ebp - 0x270], pe_nt_image_headers32
mov dword [ebp - 0x274], edi
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
movzx eax, ax
cmp ax, di
je 0x25805c94
mov eax, dword [ebp - 0x270]
mov byte [ebp + eax - 0x21c], 0
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x238]
call fcn.2580dce6
mov dword [ebp - 4], edi
call fcn.2580b12e
mov esi, eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x2a4]
push eax
mov ecx, esi
mov dword [ebp - 0x290], edi
call fcn.2580dce6
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x25805b46
mov eax, dword [eax + 0x28]
jmp 0x25805b4c
mov eax, dword [ebp - 0x290]
mov esi, eax
cmp eax, edi
jne 0x25805c15
push 0x258143f8
push edi
call dword [sym.imp.CRYPT32.dll_CertOpenSystemStoreA]
mov dword [ebp - 0x27c], eax
cmp eax, edi
je 0x25805c2f
mov eax, dword [0x25819038]
call dword [eax + 0x30]
mov dword [ebp - 0x290], eax
cmp eax, edi
je 0x25805b93
push eax
mov eax, dword [0x25819038]
call dword [eax + 0xc8]
pop ecx
mov esi, eax
jmp 0x25805b95
xor esi, esi
mov eax, dword [0x25819038]
push esi
call dword [eax + 0x90]
push dword [ebp - 0x290]
mov eax, dword [0x25819050]
call dword [eax + 0x10]
pop ecx
pop ecx
cmp eax, edi
jne 0x25805bc2
mov eax, dword [0x25819038]
push esi
call dword [eax + 0x2f8]
pop ecx
push edi
push edi
push 0x3c
push edi
push edi
push eax
push dword [ebp - 0x27c]
mov dword [ebx + 0x13c], 7
call sub.CRYPTUI.dll_CryptUIDlgSelectCertificateFromStore
mov esi, eax
cmp esi, edi
je 0x25805bf9
call fcn.2580b12e
lea ecx, [ebp - 0x238]
push ecx
mov ecx, eax
call fcn.2580b02b
mov dword [eax], esi
mov eax, dword [0x25819038]
call dword [eax + 0x98]
push edi
push dword [ebp - 0x27c]
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
cmp esi, edi
je 0x25805c2f
push 0x14
push esi
push 0x54
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_InternetSetOptionA]
movzx eax, ax
mov dword [ebp - 0x26c], eax
or dword [ebp - 4], 0xffffffff
push edi
push 1
lea ecx, [ebp - 0x238]
call fcn.2580dce6
mov eax, dword [ebp - 0x28c]
cmp eax, 0x2f7d
je 0x25805c55
cmp eax, 0x2efd
jne 0x25805c6d
cmp dword [ebx + 0x1b4], 1
jl 0x25805c6d
mov dword [ebx + 0x144], 0x4c7
jmp case.0x25804f0c.1
cmp eax, 0x2f0c
je 0x25805c94
cmp eax, 0x2f0d
je 0x25805c94
cmp eax, 0x2f06
je 0x25805c94
cmp eax, 0x2f05
je 0x25805c94
cmp eax, 0x2f17
jne 0x25806c46
cmp word [ebp - 0x26c], di
jne 0x25805cba
push dword [ebp - 0x28c]
mov esi, ebx
call fcn.2580dce6
pop ecx
cmp eax, edi
je 0x25805cba
mov eax, dword [ebp - 0x28c]
jmp 0x25806c46
mov eax, dword [ebx + 0x134]
xor ecx, ecx
mov dword [ebx + 0x13c], 0xb
mov word [eax + 8], cx
mov eax, dword [ebx + 0x134]
mov word [eax + 0x34], cx
mov eax, dword [ebx + 0x134]
mov word [eax + 0x36], cx
xor eax, eax
lea ecx, [ebx + 0x1e0]
mov word [ebx + 0x120], ax
call fcn.25806ec6
cmp dword [ebx + 0x1fc], edi
je case.0x25804f0c.1
mov eax, dword [0x25818ff0]
push edi
push dword [ebx + 0x200]
call dword [eax + 0x78]
pop ecx
pop ecx
jmp case.0x25804f0c.1
lea eax, [ebx + 0x19a]
push eax
call fcn.2580dce6
mov eax, dword [ebx + 0x134]
add eax, 0xc
push eax
lea eax, [ebx + 0x104]
push eax
call fcn.2580dce6
mov esi, dword [sym.imp.WININET.dll_HttpQueryInfoA]
add esp, 0xc
push edi
lea ecx, [ebp - 0x26c]
push ecx
lea eax, [ebx + 0x180]
push eax
push 0x20000013
push dword [ebx + 0x130]
mov dword [ebp - 0x26c], 4
call esi
test eax, eax
jne 0x25805d75
mov dword [ebx + 0x180], edi
push edi
lea ecx, [ebp - 0x26c]
push ecx
lea eax, [ebx + 0x1ac]
push eax
push 0x20000005
push dword [ebx + 0x130]
mov dword [ebp - 0x26c], 4
call esi
test eax, eax
jne 0x25805da5
mov dword [ebx + 0x1ac], edi
push edi
lea eax, [ebp - 0x274]
push eax
push 0x25818c90
push 1
push dword [ebx + 0x130]
mov dword [ebp - 0x274], 0xc8
mov byte [ebx + 4], 0
call esi
test eax, eax
je 0x25805e02
push edi
mov eax, pe_nt_image_headers32
push eax
push 0x25818c90
push eax
lea eax, [ebx + 4]
push eax
call fcn.2580dce6
push edi
push 0x7fffffff
push 0x25818c90
call fcn.2580dce6
add esp, 0x20
cmp eax, 0x100
jae 0x2580607d
push edi
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x18]
push eax
push 0x2a
push dword [ebx + 0x130]
mov dword [ebp - 0x274], 6
call esi
test eax, eax
je 0x25805e42
lea eax, [ebp - 0x18]
push str.bytes
push eax
call fcn.2580dce6
pop ecx
pop ecx
test eax, eax
jne 0x25805e42
inc eax
mov word [ebx + 0x14c], ax
mov eax, dword [ebx + 0x184]
mov dword [ebp - 0x270], edi
cmp eax, edi
je 0x25805e62
push eax
mov eax, dword [0x25818ff0]
call dword [eax + 0xc]
pop ecx
mov dword [ebx + 0x184], edi
push edi
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x299]
push eax
push 0x16
push dword [ebx + 0x130]
call esi
test eax, eax
jne 0x25805edf
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x25805edf
mov eax, dword [ebp - 0x270]
cmp eax, edi
jbe 0x25805edf
inc eax
mov dword [ebp - 0x274], eax
push eax
mov eax, dword [0x25818ff0]
call dword [eax + 4]
pop ecx
mov dword [ebx + 0x184], eax
cmp eax, edi
je 0x2580607d
push edi
lea ecx, [ebp - 0x274]
push ecx
push eax
push 0x16
push dword [ebx + 0x130]
call esi
test eax, eax
jne 0x25805edf
push dword [ebx + 0x184]
mov eax, dword [0x25818ff0]
call dword [eax + 0xc]
pop ecx
mov dword [ebx + 0x184], edi
mov dword [ebx + 0x13c], 0xf
jmp case.0x25804f0c.1
mov eax, dword [ebx + 0x134]
cmp word [eax + 8], di
jne 0x25805f69
push dword [ebx + 0x1e8]
lea esi, [ebx + 0x1c4]
push esi
call fcn.2580dce6
mov edi, eax
pop ecx
pop ecx
cmp edi, 0xffffffff
je case.0x25804f0c.1
lea ecx, [ebx + 0x1e0]
call fcn.25806ed8
add eax, dword [ebx + 0x1e4]
cmp eax, edi
jbe case.0x25804f0c.1
inc dword [ebx + 0x1e8]
push dword [ebx + 0x1e8]
push esi
call fcn.2580dce6
pop ecx
pop ecx
test eax, eax
je 0x25805f5a
mov edi, ebx
call fcn.25809dfb
test ax, ax
jne case.0x25804f0c.1
mov dword [ebx + 0x144], 0x2ee2
jmp case.0x25804f0c.1
cmp dword [eax], edi
jne 0x25806022
push dword [ebx + 0x128]
call fcn.2580dce6
mov esi, eax
mov eax, dword [ebx + 0x134]
push dword [eax + 4]
call fcn.2580dce6
add esp, 8
test ax, ax
je 0x25806c3d
mov eax, ebx
call fcn.25809a87
test ax, ax
jne 0x25805fc3
cmp esi, edi
je 0x25806c3d
cmp word [esi + 0x48], di
je 0x25806c3d
cmp word [ebx + 0x1f4], di
je 0x25806c3d
mov eax, ebx
call fcn.25809a87
test ax, ax
jne 0x25805ff7
cmp word [ebx + 0x1f6], di
jne 0x25805ff7
xor ecx, ecx
inc ecx
mov word [ebx + 0x1f6], cx
mov edi, ebx
call fcn.25809dfb
test ax, ax
jne case.0x25804f0c.1
jmp 0x2580607d
mov eax, dword [ebx + 0x134]
push dword [eax + 4]
mov esi, ebx
call fcn.2580dce6
pop ecx
lea ecx, [ebx + 0x1e0]
mov dword [ebx + 0x13c], 0xb
call fcn.25806ec6
jmp case.0x25804f0c.1
mov dword [ebx + 0x13c], esi
mov dword [ebx + 0x208], edi
mov eax, dword [ebx + 0x134]
xor ecx, ecx
mov dword [ebx + 0x144], edi
mov word [eax + 8], cx
mov dword [ebx + 0x13c], 0xe
cmp dword [ebx + 0x174], edi
jne 0x25806098
mov ecx, dword [ebx + 0x204]
mov eax, 0x80000
cmp ecx, eax
jae 0x25806063
mov eax, ecx
mov dword [ebx + 0x178], eax
push eax
mov eax, dword [0x25818ff0]
call dword [eax + 4]
pop ecx
mov dword [ebx + 0x174], eax
cmp eax, edi
jne 0x2580608c
mov dword [ebx + 0x144], 8
jmp case.0x25804f0c.1
mov eax, dword [ebx + 0x178]
mov dword [ebx + 0x17c], eax
push dword [ebx + 0x178]
mov eax, dword [0x25818ff0]
push dword [ebx + 0x174]
push dword [ebx + 0x200]
call dword [eax + 0x88]
add esp, 0xc
cmp eax, edi
jle 0x2580614f
mov ecx, dword [ebx + 0x134]
add ecx, 0x28
push ecx
push eax
push dword [ebx + 0x174]
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
jne 0x25806113
mov esi, dword [sym.imp.kernel32.dll_GetLastError]
call esi
cmp eax, 0x3e5
je case.0x25804f0c.1
call esi
cmp eax, edi
mov dword [ebx + 0x144], eax
jne case.0x25804f0c.1
mov dword [ebx + 0x144], 0x2ee4
jmp case.0x25804f0c.1
mov ecx, dword [ebx + 0x134]
xor eax, eax
inc eax
mov edx, eax
mov word [ecx + 8], dx
mov ecx, dword [ebx + 0x134]
mov dword [ecx], eax
mov eax, dword [ebx + 0x134]
mov dword [eax + 4], edi
mov ecx, dword [ebx + 0x134]
cmp word [ecx + 8], di
je case.0x25804f0c.1
cmp dword [ecx], edi
jne 0x258061ac
mov eax, dword [ecx + 4]
jmp 0x25806c46
mov eax, dword [ebx + 0x134]
xor ecx, ecx
mov dword [ebx + 0x144], edi
mov word [eax + 8], cx
push dword [ebx + 0x134]
mov dword [ebx + 0x13c], 0xa
push edi
push edi
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_HttpEndRequestA]
test eax, eax
je 0x258060e1
mov ecx, dword [ebx + 0x134]
xor eax, eax
inc eax
mov edx, eax
mov word [ecx + 8], dx
mov ecx, dword [ebx + 0x134]
mov dword [ecx], eax
mov eax, dword [ebx + 0x134]
mov dword [eax + 4], edi
jmp case.0x25804f0c.1
mov dword [ebx + 0x13c], esi
mov ecx, dword [ecx + 0x28]
add dword [ebx + 0x208], ecx
mov ecx, dword [ebx + 0x20c]
mov eax, dword [ebx + 0x208]
cmp ecx, edi
je case.0x25804f0c.1
push dword [ebx + 0x210]
push dword [ebx + 0x204]
push eax
call ecx
add esp, 0xc
jmp case.0x25804f0c.1
push dword [ebx + 0x128]
call fcn.2580dce6
mov dword [ebp - 0x18], eax
lea eax, [ebx + 0x124]
mov edi, dword [eax]
pop ecx
mov dword [ebp - 0x270], eax
jmp 0x25806b95
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x280], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x290], eax
mov eax, dword [ebx + 0x134]
push dword [eax + 4]
call fcn.2580dce6
movzx eax, ax
add esp, 4
mov dword [ebp - 0x294], eax
cmp ax, si
je 0x25806279
mov eax, ebx
call fcn.25809a87
test ax, ax
jne 0x25806267
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x25806c3d
cmp word [eax + 0x48], si
je 0x25806c3d
cmp word [ebx + 0x1f4], si
je 0x25806c3d
mov dword [edi + 0x14], esi
mov eax, dword [ebx + 0x134]
mov eax, dword [eax + 4]
mov dword [ebx + 0x144], eax
mov eax, dword [edi + 0x14]
cmp eax, 0xfffffffc
je 0x258062a5
cmp eax, 0xfffffffd
je 0x258062b7
cmp eax, 0xfffffffe
je 0x25806378
cmp eax, 0xffffffff
je 0x25806480
cmp eax, esi
je 0x2580650b
jmp 0x25806b73
mov ecx, dword [ebp - 0x280]
call fcn.25806ec6
mov dword [edi + 0x14], 0xfffffffd
mov eax, dword [ebx + 0x134]
mov dword [ebx + 0x144], esi
xor ecx, ecx
mov word [eax + 8], cx
mov dword [edi + 0x14], 0xfffffffe
mov eax, dword [ebx + 0x134]
push esi
push esi
add eax, 0x28
push eax
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
jne 0x25806358
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x2580631f
mov eax, dword [0x25818db4]
call dword [eax + 0xca4]
test ax, ax
je 0x25806b73
mov eax, dword [ebx + 0x134]
xor ecx, ecx
inc ecx
mov word [eax + 0x38], cx
jmp 0x25806b73
cmp eax, 0x2efe
je 0x2580634a
cmp eax, 0x2eff
je 0x2580634a
mov dword [ebx + 0x144], eax
cmp eax, esi
jne 0x25806b73
mov dword [ebx + 0x144], 0x2ee4
jmp 0x25806b73
mov dword [edi + 0x14], esi
mov dword [ebx + 0x144], eax
jmp 0x25806b9d
mov ecx, dword [ebx + 0x134]
xor eax, eax
inc eax
mov edx, eax
mov word [ecx + 8], dx
mov ecx, dword [ebx + 0x134]
mov dword [ecx], eax
mov eax, dword [ebx + 0x134]
mov dword [eax + 4], esi
mov eax, dword [ebx + 0x134]
add eax, 0x3c
push eax
lea ecx, [ebp - 0x288]
call fcn.2580dce6
mov eax, dword [ebx + 0x134]
mov dword [ebp - 4], 1
cmp word [eax + 8], si
jne 0x258063f6
lea eax, [ebx + 0x1c4]
push eax
call fcn.2580dce6
mov esi, eax
pop ecx
cmp esi, 0xffffffff
je 0x258063cd
mov ecx, dword [ebp - 0x280]
call fcn.25806ed8
cmp eax, esi
jbe 0x258063cd
mov dword [ebx + 0x144], 0x2ee2
mov eax, dword [0x25818db4]
or dword [ebp - 4], 0xffffffff
call dword [eax + 0xca4]
test ax, ax
je 0x25806b73
push dword [ebp - 0x288]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
jmp 0x25806b73
cmp dword [eax], esi
jne 0x25806405
mov eax, dword [eax + 4]
mov dword [ebx + 0x144], eax
jmp 0x258063cd
mov eax, dword [0x25818db4]
call dword [eax + 0xca4]
test ax, ax
je 0x2580643f
mov eax, dword [ebx + 0x134]
cmp word [eax + 0x38], si
je 0x2580643f
xor ecx, ecx
mov word [eax + 0x38], cx
mov eax, dword [ebx + 0x134]
push esi
push esi
add eax, 0x28
push eax
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
mov eax, dword [ebx + 0x134]
mov eax, dword [eax + 0x28]
mov dword [ebx + 0x138], eax
cmp eax, esi
jne 0x2580645c
xor eax, eax
inc eax
mov word [ebx + 0x120], ax
or dword [edi + 0x14], 0xffffffff
mov eax, dword [0x25818db4]
or dword [ebp - 4], 0xffffffff
call dword [eax + 0xca4]
test ax, ax
je 0x25806480
push dword [ebp - 0x288]
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov eax, dword [ebx + 0x138]
cmp eax, esi
jbe 0x258064af
push ebx
mov esi, edi
call fcn.2580dce6
pop ecx
test ax, ax
jne 0x258064af
mov ecx, dword [ebp - 0x280]
mov dword [edi + 0x14], 0xfffffffd
call fcn.25806ec6
jmp 0x25806b9b
cmp word [ebx + 0x120], 0
jne 0x25806507
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 0xc]
jge 0x25806507
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x258065da
lea eax, [ebx + 0x1c4]
push eax
call fcn.2580f089
mov esi, eax
pop ecx
cmp esi, 0xffffffff
je 0x25806b73
mov ecx, dword [ebp - 0x280]
call fcn.25806ed8
cmp eax, esi
jbe 0x25806b73
mov dword [ebx + 0x144], 0x2ee2
and dword [edi + 0x14], 0
push dword [ebx + 0x128]
call fcn.2580dce6
and dword [ebp - 0x27c], 0
pop ecx
mov dword [ebp - 0x278], eax
test eax, eax
je 0x2580652f
cmp word [eax + 0x48], 0
jne 0x2580654d
cmp word [ebp - 0x294], 0
je 0x258066b8
mov eax, ebx
call fcn.25809a87
test ax, ax
je 0x258066b8
mov eax, dword [ebx + 0x144]
mov dword [ebp - 0x284], eax
mov eax, dword [ebx + 0x180]
sub eax, 0x191
je 0x2580656b
sub eax, 6
jne 0x25806575
mov dword [ebp - 0x284], 0x2eee
cmp dword [ebp - 0x284], 0x2eee
je 0x25806591
cmp dword [ebp - 0x284], 0x2f0c
jne 0x258066b8
xor esi, esi
cmp word [ebp - 0x294], si
je 0x2580660c
mov eax, ebx
call fcn.25809a87
test ax, ax
jne 0x25806606
cmp word [ebx + 0x1f6], si
jne 0x25806606
xor ecx, ecx
inc ecx
mov edi, ebx
mov word [ebx + 0x1f6], cx
call fcn.25809dfb
test ax, ax
jne 0x25806b73
mov dword [ebx + 0x144], 8
jmp 0x25806b73
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [ebx + 0x144], eax
and dword [edi + 0x14], 0
cmp dword [ebx + 0x144], 0
jne 0x2580650b
mov dword [ebx + 0x144], 0x2ee4
jmp 0x2580650b
mov dword [ebx + 0x144], esi
push dword [ebp - 0x284]
mov esi, ebx
call fcn.2580dce6
cmp word [ebp - 0x294], 0
pop ecx
je 0x25806629
mov eax, 0x2f00
cmp eax, 0x2f00
je 0x25806648
mov eax, dword [ebp - 0x284]
mov dword [ebx + 0x144], eax
mov dword [ebx + 0x13c], 0xf
jmp 0x258066b8
mov eax, dword [ebx + 0x134]
xor ecx, ecx
mov dword [ebx + 0x13c], 0xb
mov word [eax + 8], cx
mov eax, dword [ebx + 0x134]
mov word [eax + 0x34], cx
mov eax, dword [ebx + 0x134]
mov word [eax + 0x36], cx
xor eax, eax
mov word [ebx + 0x120], ax
xor esi, esi
lea ecx, [ebx + 0x1e0]
mov dword [edi + 0x10], esi
call fcn.25806ec6
mov dword [edi + 0x14], 0xfffffffc
cmp dword [ebx + 0x1fc], esi
je 0x258066ab
mov eax, dword [0x25818ff0]
push esi
push dword [ebx + 0x200]
call dword [eax + 0x78]
pop ecx
pop ecx
cmp dword [ebx + 0x13c], 0xf
jne 0x25806b73
mov eax, dword [ebx + 0x180]
sub eax, 0xc8
cmp eax, 0x64
jae 0x258066db
push dword [ebx + 0x1b0]
call fcn.2580dce6
pop ecx
test eax, eax
je 0x258066db
inc dword [eax + 0x40]
mov esi, dword [ebp - 0x278]
and dword [ebp - 0x294], 0
test esi, esi
je 0x258066f7
cmp word [esi + 0x48], 0
jne 0x25806840
cmp dword [ebx + 0x180], 0x191
jne 0x25806840
mov eax, dword [ebx + 0x1b0]
test eax, eax
je 0x25806840
push eax
call fcn.2580dce6
pop ecx
test ax, ax
je 0x2580682c
push dword [ebx + 0x1b0]
call fcn.2580dce6
pop ecx
test eax, eax
je 0x2580682c
cmp dword [eax + 0x3c], 2
jle 0x2580682c
push dword [ebx + 0x184]
call fcn.2580dce6
mov esi, eax
pop ecx
test esi, esi
je 0x25806826
lea eax, [ebp - 0x268]
push eax
push esi
call fcn.2580dce6
mov eax, dword [0x25818ff0]
push esi
call dword [eax + 0xc]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x26c], eax
cmp word [ebp - 0x220], ax
je 0x25806826
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x28c]
push eax
push dword [ebx + 0x1b0]
call fcn.2580dce6
add esp, 0xc
test ax, ax
je 0x258067ed
push dword [ebp - 0x26c]
lea eax, [ebp - 0x268]
push dword [ebp - 0x28c]
push eax
push ebx
call fcn.2580dce6
add esp, 0x10
test ax, ax
je 0x258067ed
lea eax, [ebp - 0x268]
push eax
push dword [ebx + 0x1b0]
call fcn.2580dce6
pop ecx
pop ecx
mov dword [ebp - 0x294], 1
xor esi, esi
cmp dword [ebp - 0x28c], esi
je 0x25806806
push dword [ebp - 0x28c]
mov eax, dword [0x25818ff0]
call dword [eax + 0xc]
pop ecx
cmp dword [ebp - 0x26c], esi
je 0x2580681d
push dword [ebp - 0x26c]
mov eax, dword [0x25818ff0]
call dword [eax + 0xc]
pop ecx
cmp word [ebp - 0x294], si
jne 0x2580683a
mov esi, dword [ebp - 0x278]
push dword [ebx + 0x1b0]
call fcn.2580dce6
pop ecx
jmp 0x25806840
mov esi, dword [ebp - 0x278]
mov ecx, dword [ebx + 0x180]
cmp ecx, 0x191
jne 0x2580691d
xor eax, eax
cmp esi, eax
je 0x2580691d
cmp word [esi + 0x48], ax
jne 0x2580691d
cmp word [esi + 0x30], ax
jne 0x25806876
cmp word [esi + 0x38], ax
je 0x2580691d
inc dword [ebx + 0x1b4]
cmp word [ebp - 0x294], ax
jne 0x25806afd
push dword [ebx + 0x184]
mov dword [ebx + 0x144], 0x2eee
call fcn.2580dce6
mov esi, eax
pop ecx
test esi, esi
je 0x25806b3a
lea eax, [ebp - 0x268]
push eax
push esi
call fcn.2580dce6
cmp word [ebp - 0x222], 0
pop ecx
pop ecx
jne 0x25806912
cmp word [ebp - 0x220], 0
je 0x25806903
mov eax, dword [ebp - 0x264]
push 2
pop ecx
mov edx, dword [ebx]
push dword [edx]
push eax
lea eax, [ebp - 0x268]
push eax
push ecx
push ebx
call fcn.2580dce6
add esp, 0x14
test ax, ax
je 0x25806903
cmp dword [ebx + 0x1b0], 0
je 0x25806903
mov dword [ebp - 0x27c], 1
mov eax, dword [0x25818ff0]
push esi
call dword [eax + 0xc]
pop ecx
jmp 0x25806af3
mov eax, dword [ebp - 0x268]
xor ecx, ecx
inc ecx
jmp 0x258068d5
cmp ecx, 0x197
jne 0x25806b3a
cmp dword [ebp - 0x278], 0
je 0x25806b3a
mov eax, dword [ebp - 0x278]
cmp word [eax + 0x48], 0
jne 0x25806b3a
cmp word [eax + 0x30], 0
je 0x25806b3a
inc dword [ebx + 0x1bc]
push 0
push str.Proxy_Authenticate
lea eax, [ebp - 0x118]
push 0x80
push eax
mov dword [ebx + 0x144], 0x2eee
mov dword [ebp - 0x2a4], 0x7f
call fcn.2580dce6
add esp, 0x10
push 0
lea eax, [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x118]
push eax
push 0xffff
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x25806b3a
push 0
push str.Server
mov esi, 0x80
lea eax, [ebp - 0x98]
push esi
push eax
mov dword [ebp - 0x298], 0x7f
call fcn.2580dce6
add esp, 0x10
push 0
lea eax, [ebp - 0x298]
push eax
lea eax, [ebp - 0x98]
push eax
push 0xffff
push dword [ebx + 0x130]
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
jne 0x25806ac7
mov byte [ebp - 0x98], al
lea eax, [ebp - 0x2a0]
push eax
lea eax, [ebp - 0x2b0]
push eax
mov eax, dword [0x25818c70]
push 0x26
mov dword [ebp - 0x2a0], 0xc
push dword [eax + 0x118]
call dword [sym.imp.WININET.dll_InternetQueryOptionA]
test eax, eax
jne 0x25806aa9
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x25806ac7
push dword [ebp - 0x2a0]
mov eax, dword [0x25818ff0]
call dword [eax + 4]
pop ecx
lea ecx, [ebp - 0x2a0]
push ecx
push eax
mov dword [ebp - 0x27c], eax
mov eax, dword [0x25818c70]
push 0x26
push dword [eax + 0x118]
call dword [sym.imp.WININET.dll_InternetQueryOptionA]
test eax, eax
je 0x25806a98
mov eax, dword [ebp - 0x27c]
push 0
push dword [ebp - 0x298]
push dword [eax + 4]
lea eax, [ebp - 0x98]
push esi
push eax
call fcn.2580dce6
add esp, 0x14
push dword [ebp - 0x27c]
mov eax, dword [0x25818ff0]
call dword [eax + 0xc]
pop ecx
jmp 0x25806ac7
push 0
push dword [ebp - 0x298]
lea eax, [ebp - 0x98]
push dword [ebp - 0x2ac]
push esi
push eax
call fcn.2580dce6
add esp, 0x14
push dword [ebx + 0x1bc]
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x118]
push eax
push ebx
call fcn.2580dce6
add esp, 0x10
test ax, ax
je 0x25806b3a
mov dword [ebp - 0x27c], 1
cmp word [ebp - 0x27c], 0
je 0x25806b3a
push dword [ebx + 0x130]
call fcn.2580dce6
mov eax, dword [ebx]
and dword [ebx + 0x130], 0
push dword [ebx + 0x134]
mov esi, dword [eax + 0x18]
call fcn.2580dce6
pop ecx
pop ecx
call fcn.2580484a
mov dword [ebx + 0x134], eax
test eax, eax
jne 0x25806baa
mov dword [ebx + 0x144], 8
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x270]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x280]
call fcn.25801ada
push dword [ebp - 0x280]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
and dword [edi + 0x18], 0
mov eax, dword [ebx + 0x144]
push edi
mov dword [edi + 0x14], eax
call fcn.25808174
pop ecx
pop ecx
mov eax, dword [ebp - 0x270]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x274]
jne 0x25806b8f
mov eax, dword [eax + 0x18]
add eax, 4
mov dword [ebp - 0x270], eax
mov edi, dword [ebp - 0x290]
mov dword [ebp - 0x274], edi
xor esi, esi
cmp edi, esi
jne 0x25806208
jmp case.0x25804f0c.1
mov ecx, dword [ebx + 0x184]
xor eax, eax
mov dword [ebx + 0x138], eax
mov dword [ebx + 0x13c], 2
mov dword [ebx + 0x144], eax
mov dword [ebx + 0x180], eax
cmp ecx, eax
je 0x25806be5
mov eax, dword [0x25818ff0]
push ecx
call dword [eax + 0xc]
and dword [ebx + 0x184], 0
pop ecx
xor eax, eax
mov dword [ebx + 0x1ac], eax
mov dword [ebx + 0x1e4], eax
mov dword [ebx + 0x1e8], eax
xor eax, eax
mov word [ebx + 0x120], ax
lea eax, [ebx + 0x104]
push eax
call fcn.2580dce6
xor eax, eax
mov dword [edi + 0x14], 0xfffffffc
mov dword [edi + 0x10], eax
pop ecx
cmp dword [ebx + 0x1fc], eax
je 0x25806c32
push eax
push dword [ebx + 0x200]
mov eax, dword [0x25818ff0]
call dword [eax + 0x78]
pop ecx
pop ecx
push ebx
call fcn.25804ee6
jmp 0x25806b72
mov eax, dword [ebx + 0x134]
mov eax, dword [eax + 4]
mov dword [ebx + 0x144], eax
call fcn.25806ee6
ret