Function at 0x40f7a3
Capabilities:
Initialize winhttp library
Make an http request with a cookie
Prepare http request
Read http header
Receive http response
Send data
Send http request
Set http header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b51a7
mov eax, dword fs:[0]
push eax
mov eax, 0x1154
call fcn.00571680
mov eax, dword [0x6300f4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1124], esi
cmp dword [esi + 0x18], 0
mov eax, dword [ebp + 8]
ja 0x40f7f7
mov dword [esi + 0x11c], 3
xor al, al
jmp 0x410774
push eax
lea ecx, [ebp - 0x10a0]
call fcn.00410fa8
and dword [ebp - 4], 0
lea eax, [ebp - 0x10a0]
cmp dword [ebp - 0x108c], 8
mov edi, 0x5f4d00
push edi
cmovae eax, dword [ebp - 0x10a0]
push eax
call fcn.0058e0b3
xor ebx, ebx
pop ecx
inc ebx
pop ecx
test eax, eax
je 0x40f85a
cmp dword [ebp - 0x108c], 8
lea eax, [ebp - 0x10a0]
mov edi, str.POST
cmovae eax, dword [ebp - 0x10a0]
push edi
push eax
call fcn.0058e0b3
pop ecx
pop ecx
test eax, eax
jne 0x410755
push edi
call fcn.0058e098
pop ecx
push eax
push edi
lea ecx, [ebp - 0x10a0]
call fcn.004107ce
xor ecx, ecx
mov byte [ebp - 0x1115], bl
cmp dword [esi], ecx
jne 0x40f8aa
lea eax, [esi + 0x138]
cmp dword [eax + 0x14], 8
jb 0x40f888
mov eax, dword [eax]
push ecx
push ecx
push ecx
push ecx
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [esi], eax
test eax, eax
jne 0x40f8aa
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
jmp 0x41075f
push dword [esi + 0x1a8]
push dword [esi + 0x1a4]
push dword [esi + 0x1a0]
push dword [esi + 0x19c]
push dword [esi]
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00589570
add esp, 0xc
lea eax, [ebp - 0x1050]
push 0xa28
push 0
push eax
call fcn.00589570
add esp, 0xc
lea eax, [ebp - 0x1114]
push 0x3c
pop edi
push edi
push 0
push eax
call fcn.00589570
lea eax, [ebp - 0x218]
mov dword [ebp - 0x1114], edi
mov dword [ebp - 0x1104], eax
add esp, 0xc
lea eax, [ebp - 0x1050]
mov dword [ebp - 0x1100], 0x104
mov dword [ebp - 0x10e8], eax
lea eax, [esi + 8]
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x10e4], 0x514
mov dword [ebp - 0x110c], 1
jb 0x40f952
mov eax, dword [eax]
lea ecx, [ebp - 0x1114]
push ecx
push 0
push dword [esi + 0x18]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
je 0x41075f
cmp word [ebp - 0x218], 0
jne 0x40f97b
xor eax, eax
jmp 0x40f988
lea eax, [ebp - 0x218]
push eax
call fcn.0058e098
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [esi + 0x20]
call fcn.004107ce
push 0
push dword [ebp - 0x10fc]
lea eax, [ebp - 0x218]
push eax
push dword [esi]
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov edx, eax
mov dword [ebp - 0x1130], edx
test edx, edx
je 0x410761
push 2
pop edi
xor ecx, ecx
mov eax, 0x800000
cmp dword [ebp - 0x1108], edi
cmove ecx, eax
cmp dword [ebp - 0x108c], 8
push ecx
lea eax, [ebp - 0x10a0]
cmovae eax, dword [ebp - 0x10a0]
xor ecx, ecx
push ecx
push ecx
push ecx
push dword [ebp - 0x10e8]
push eax
push edx
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov edi, eax
mov dword [ebp - 0x111c], edi
test edi, edi
je 0x410747
cmp byte [esi + 4], 0
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
jne 0x40fa39
push 2
pop eax
cmp dword [ebp - 0x1108], eax
jne 0x40fa39
push 4
lea eax, [ebp - 0x1054]
mov dword [ebp - 0x1054], 0x3100
push eax
push 0x1f
push edi
call ebx
mov byte [ebp - 0x1116], 0
xor ecx, ecx
mov eax, ecx
inc ecx
mov dword [ebp - 0x112c], ecx
cmp eax, 3
jae 0x410725
cmp dword [esi + 0xfc], 0
jbe 0x40fa8e
lea eax, [esi + 0xec]
cmp dword [eax + 0x14], 8
jb 0x40fa6b
mov eax, dword [eax]
push 0x1000000
push dword [esi + 0xfc]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x40fa8e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
cmp dword [esi + 0xdc], 0
jbe 0x40fb39
and dword [ebp - 0x1068], 0
xor eax, eax
push str.Cookie:
mov dword [ebp - 0x1064], 7
mov word [ebp - 0x1078], ax
call fcn.0058e098
pop ecx
push eax
push str.Cookie:
lea ecx, [ebp - 0x1078]
call fcn.004107ce
xor eax, eax
lea ecx, [ebp - 0x1078]
inc eax
push 0xffffffffffffffff
mov byte [ebp - 4], al
lea eax, [esi + 0xcc]
push 0
push eax
call fcn.00411573
cmp dword [ebp - 0x1064], 8
lea eax, [ebp - 0x1078]
push 0x1000000
push dword [ebp - 0x1068]
cmovae eax, dword [ebp - 0x1078]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x40fb24
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
xor eax, eax
mov byte [ebp - 4], 0
push 0
inc eax
lea ecx, [ebp - 0x1078]
push eax
call fcn.0041164f
cmp dword [esi + 0x114], 0
jbe 0x40fc38
push 0xc
lea eax, [ebp - 0x10d8]
push 0
push eax
call fcn.00589570
add esp, 0xc
mov dword [ebp - 0x10d8], 3
lea eax, [ebp - 0x420]
push 0x208
push 0
push eax
call fcn.00589570
lea eax, [esi + 0x104]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x40fb87
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x420]
push 0x104
push eax
call fcn.0058e6b9
add esp, 0xc
lea eax, [ebp - 0x420]
mov dword [ebp - 0x10d4], eax
lea eax, [ebp - 0x10d8]
push 0xc
push eax
push 0x26
push edi
call ebx
test eax, eax
jne 0x40fbc6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
cmp dword [esi + 0x164], 0
jbe 0x40fc38
mov eax, dword [esi + 0x164]
lea ecx, [esi + 0x154]
cmp dword [ecx + 0x14], 8
jb 0x40fbe3
mov ecx, dword [ecx]
add eax, eax
push eax
push ecx
push 0x1002
push edi
call ebx
test eax, eax
jne 0x40fbff
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
cmp dword [esi + 0x17c], 0
jbe 0x40fc38
mov eax, dword [esi + 0x17c]
lea ecx, [esi + 0x16c]
cmp dword [ecx + 0x14], 8
jb 0x40fc1c
mov ecx, dword [ecx]
add eax, eax
push eax
push ecx
push 0x1003
push edi
call ebx
test eax, eax
jne 0x40fc38
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push edi
mov bl, al
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x40fe93
push 0x10
push eax
lea eax, [ebp - 0x10b4]
push eax
call fcn.00589570
add esp, 0xc
lea eax, [ebp - 0x10b4]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
test eax, eax
je 0x40fe7f
cmp dword [ebp - 0x10b0], 0
je 0x40fd71
push 0x18
pop eax
push eax
lea eax, [ebp - 0x1078]
push 0
push eax
call fcn.00589570
mov eax, dword [ebp - 0x10b0]
add esp, 0xc
mov dword [ebp - 0x1070], eax
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x1078], 3
mov dword [ebp - 0x1068], eax
inc ecx
push 0xc
push eax
mov dword [ebp - 0x106c], eax
lea eax, [ebp - 0x10c0]
push eax
mov dword [ebp - 0x1074], ecx
mov dword [ebp - 0x1064], ecx
call fcn.00589570
lea eax, [esi + 8]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x40fcea
mov eax, dword [eax]
lea ecx, [ebp - 0x10c0]
push ecx
lea ecx, [ebp - 0x1078]
push ecx
push eax
push dword [esi]
call dword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
je 0x40fe32
push 0xc
lea eax, [ebp - 0x10c0]
push eax
push 0x26
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
je 0x40fd3e
xor eax, eax
push eax
push dword [esi + 0xe8]
push eax
push eax
push eax
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
movzx ebx, bl
push 1
pop eax
cmovne ebx, eax
cmp dword [ebp - 0x10bc], 0
je 0x40fd53
push dword [ebp - 0x10bc]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x10b8], 0
je 0x40fe3e
push dword [ebp - 0x10b8]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x40fe3e
cmp dword [ebp - 0x10ac], 0
je 0x40fe68
push 0xc
lea eax, [ebp - 0x10cc]
push 0
push eax
call fcn.00589570
add esp, 0xc
mov dword [ebp - 0x10cc], 3
lea eax, [ebp - 0x420]
push 0x208
push 0
push eax
call fcn.00589570
add esp, 0xc
lea eax, [ebp - 0x420]
push dword [ebp - 0x10ac]
push 0x104
push eax
call fcn.0058e6b9
add esp, 0xc
lea eax, [ebp - 0x420]
cmp dword [ebp - 0x10a8], 0
mov dword [ebp - 0x10c8], eax
je 0x40fe1c
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.00589570
add esp, 0xc
lea eax, [ebp - 0x628]
push dword [ebp - 0x10a8]
push 0x104
push eax
call fcn.0058e6b9
lea eax, [ebp - 0x628]
add esp, 0xc
mov dword [ebp - 0x10c4], eax
push 0xc
lea eax, [ebp - 0x10cc]
push eax
push 0x26
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x40fe3e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
cmp dword [ebp - 0x10b0], 0
je 0x40fe53
push dword [ebp - 0x10b0]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x10ac], 0
je 0x40fe68
push dword [ebp - 0x10ac]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x10a8], 0
je 0x40fe8b
push dword [ebp - 0x10a8]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x40fe8b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
test bl, bl
je 0x410707
mov eax, dword [esi + 0xe4]
xor ebx, ebx
test eax, eax
je 0x40feca
lea ecx, [ebp - 0x1054]
mov dword [ebp - 0x1054], ebx
push ecx
push dword [esi + 0xe8]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpWriteData]
test eax, eax
jne 0x40feca
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
push ebx
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x4106fb
push ebx
lea eax, [ebp - 0x10a4]
mov dword [ebp - 0x10a4], ebx
push eax
push ebx
push ebx
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
push 0x16
push edi
call ebx
test eax, eax
jne 0x40ff08
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4102a4
mov eax, dword [ebp - 0x10a4]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005708e7
mov edi, eax
mov dword [ebp - 0x1128], edi
pop ecx
test edi, edi
je 0x41029e
mov ecx, dword [ebp - 0x10a4]
add ecx, ecx
push ecx
push 0
push edi
call fcn.00589570
add esp, 0xc
lea eax, [ebp - 0x10a4]
push 0
push eax
push edi
push 0
push 0x16
push dword [ebp - 0x111c]
call ebx
test eax, eax
je 0x410297
lea ebx, [esi + 0x38]
push edi
mov ecx, ebx
call fcn.00410847
xor eax, eax
lea edi, [ebp - 0x1060]
stosd dword es:[edi], eax
xor ecx, ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x1060], ecx
mov dword [ebp - 0x105c], ecx
mov dword [ebp - 0x1058], ecx
push 2
pop eax
mov byte [ebp - 4], al
xor eax, eax
push ecx
mov dword [ebp - 0x1068], ecx
lea ecx, [ebp - 0x1078]
push 0x5f4ce8
mov dword [ebp - 0x1064], 7
mov word [ebp - 0x1078], ax
call fcn.004107ce
mov byte [ebp - 4], 3
cmp byte [esi + 0x150], 0
jne 0x410033
mov edi, str.charset_A_Za_z0_9___
push edi
call fcn.0058e098
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1078]
call fcn.004107ce
push ecx
lea eax, [ebp - 0x1060]
push eax
push ebx
push ecx
lea ecx, [ebp - 0x1078]
call fcn.0040f51a
add esp, 0x10
push 0x18
pop edi
test al, al
je 0x410036
mov eax, dword [ebp - 0x105c]
sub eax, dword [ebp - 0x1060]
cdq
idiv edi
test eax, eax
je 0x410036
lea ecx, [esi + 0x68]
cmp ecx, dword [ebp - 0x1060]
je 0x410036
push 0xffffffffffffffff
push 0
push dword [ebp - 0x1060]
call fcn.00410f13
jmp 0x410036
push 0x18
pop edi
push str.Content_Length:__0_9_
call fcn.0058e098
pop ecx
push eax
push str.Content_Length:__0_9_
lea ecx, [ebp - 0x1078]
call fcn.004107ce
push ecx
lea eax, [ebp - 0x1060]
push eax
push ebx
push ecx
lea ecx, [ebp - 0x1078]
call fcn.0040f51a
add esp, 0x10
test al, al
je 0x410098
mov eax, dword [ebp - 0x105c]
mov ecx, dword [ebp - 0x1060]
sub eax, ecx
cdq
idiv edi
test eax, eax
je 0x410098
cmp dword [ecx + 0x14], 8
jb 0x41008b
mov ecx, dword [ecx]
push ecx
call fcn.0058e77f
pop ecx
mov dword [esi + 0xb0], eax
push str.Location:__0_9_
call fcn.0058e098
pop ecx
push eax
push str.Location:__0_9_
lea ecx, [ebp - 0x1078]
call fcn.004107ce
push ecx
lea eax, [ebp - 0x1060]
push eax
push ebx
push ecx
lea ecx, [ebp - 0x1078]
call fcn.0040f51a
add esp, 0x10
test al, al
je 0x410100
mov eax, dword [ebp - 0x105c]
sub eax, dword [ebp - 0x1060]
cdq
idiv edi
test eax, eax
je 0x410100
lea ecx, [esi + 0x184]
cmp ecx, dword [ebp - 0x1060]
je 0x410100
push 0xffffffffffffffff
push 0
push dword [ebp - 0x1060]
call fcn.00410f13
push str.Set_Cookie:_b.__n
call fcn.0058e098
pop ecx
push eax
push str.Set_Cookie:_b.__n
lea ecx, [ebp - 0x1078]
call fcn.004107ce
push ecx
lea eax, [ebp - 0x1060]
push eax
push ebx
push ecx
lea ecx, [ebp - 0x1078]
call fcn.0040f51a
add esp, 0x10
test al, al
je 0x41026b
mov eax, dword [ebp - 0x105c]
mov ecx, dword [ebp - 0x1060]
sub eax, ecx
cdq
idiv edi
mov dword [ebp - 0x1120], ecx
mov ebx, eax
test ebx, ebx
je 0x41026b
xor edi, edi
test ebx, ebx
je 0x4101b6
lea eax, [esi + 0xb4]
mov esi, ecx
mov dword [ebp - 0x1054], eax
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00411573
lea eax, [ebx - 1]
cmp edi, eax
je 0x4101a0
push 0x5f4ce0
call fcn.0058e098
pop ecx
mov ecx, dword [ebp - 0x1054]
push eax
push 0x5f4ce0
call fcn.0040d756
push 0x18
pop eax
inc edi
add esi, eax
mov eax, dword [ebp - 0x1054]
cmp edi, ebx
jb 0x410171
mov esi, dword [ebp - 0x1124]
and dword [ebp - 0x1138], 0
xor eax, eax
mov ebx, 0x5f4cec
mov dword [ebp - 0x1134], 7
push ebx
mov word [ebp - 0x1148], ax
call fcn.0058e098
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x1148]
call fcn.004107ce
lea eax, [ebp - 0x1148]
mov byte [ebp - 4], 4
lea edi, [esi + 0xb4]
push eax
mov edx, edi
lea ecx, [ebp - 0x1160]
call fcn.0040d650
pop ecx
push eax
mov ecx, edi
call fcn.0040d5cc
xor ebx, ebx
lea ecx, [ebp - 0x1160]
push 0
inc ebx
push ebx
call fcn.0041164f
push 0
push ebx
lea ecx, [ebp - 0x1148]
mov byte [ebp - 4], 3
call fcn.0041164f
cmp dword [esi + 0xc4], 0
jbe 0x41026b
cmp dword [edi + 0x14], 8
mov ecx, dword [esi + 0xc4]
jb 0x41024c
mov eax, dword [edi]
jmp 0x41024e
mov eax, edi
cmp word [eax + ecx*2 - 2], 0x3b
je 0x41026b
mov ebx, 0x5f4cf0
push ebx
call fcn.0058e098
pop ecx
push eax
push ebx
mov ecx, edi
call fcn.0040d756
xor eax, eax
lea ecx, [ebp - 0x1078]
push 0
inc eax
push eax
call fcn.0041164f
lea ecx, [ebp - 0x1060]
mov byte [ebp - 4], 0
call fcn.0040f24e
mov edi, dword [ebp - 0x1128]
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
push edi
call fcn.005708d9
pop ecx
mov edi, dword [ebp - 0x111c]
xor ecx, ecx
lea eax, [ebp - 0x10a4]
push ecx
push eax
push ecx
push ecx
push 0x13
push edi
mov dword [ebp - 0x10a4], ecx
call ebx
test eax, eax
jne 0x4102ca
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x410332
mov eax, dword [ebp - 0x10a4]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005708e7
mov edi, eax
pop ecx
test edi, edi
je 0x41032c
mov ecx, dword [ebp - 0x10a4]
add ecx, ecx
push ecx
push 0
push edi
call fcn.00589570
add esp, 0xc
lea eax, [ebp - 0x10a4]
push 0
push eax
push edi
push 0
push 0x13
push dword [ebp - 0x111c]
call ebx
test eax, eax
je 0x410325
push edi
lea ecx, [esi + 0x120]
call fcn.00410847
push edi
call fcn.005708d9
pop ecx
mov edi, dword [ebp - 0x111c]
mov eax, dword [esi + 0x80]
xor ebx, ebx
mov dword [ebp - 0x1120], ebx
mov ecx, 0x2800
mov dword [ebp - 0x1054], ecx
test eax, eax
je 0x41035c
push eax
call fcn.005708d9
and dword [esi + 0x80], ebx
pop ecx
push 0x2800
call fcn.005708e7
mov dword [esi + 0x80], eax
pop ecx
test eax, eax
je 0x410721
push 0x2800
push 0
push eax
call fcn.00589570
add esp, 0xc
and dword [ebp - 0x10a4], 0
lea eax, [ebp - 0x10a4]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x4104a9
push ebx
mov ecx, esi
call fcn.0040d821
mov eax, dword [ebp - 0x10a4]
inc eax
push eax
call fcn.005708e7
mov edi, eax
pop ecx
test edi, edi
je 0x410494
mov ecx, dword [ebp - 0x10a4]
inc ecx
push ecx
push 0
push edi
call fcn.00589570
and dword [ebp - 0x107c], 0
lea eax, [ebp - 0x107c]
add esp, 0xc
push eax
push dword [ebp - 0x10a4]
push edi
push dword [ebp - 0x111c]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x41048d
mov ecx, dword [ebp - 0x107c]
mov edx, dword [ebp - 0x1054]
lea eax, [ecx + ebx]
cmp eax, edx
jbe 0x41046e
mov ebx, dword [esi + 0x80]
add edx, edx
push edx
mov dword [ebp - 0x1054], edx
call fcn.005708e7
mov dword [esi + 0x80], eax
pop ecx
test eax, eax
je 0x4104b7
mov ecx, dword [ebp - 0x1054]
push ecx
push 0
push eax
call fcn.00589570
add esp, 0xc
push dword [ebp - 0x1120]
push ebx
push dword [esi + 0x80]
call fcn.00588a70
add esp, 0xc
push ebx
call fcn.005708d9
mov ebx, dword [ebp - 0x1120]
pop ecx
mov ecx, dword [ebp - 0x107c]
mov eax, dword [esi + 0x80]
push ecx
add eax, ebx
push edi
push eax
call fcn.00588a70
add esp, 0xc
add ebx, dword [ebp - 0x107c]
mov dword [ebp - 0x1120], ebx
push edi
call fcn.005708d9
pop ecx
mov edi, dword [ebp - 0x111c]
cmp dword [ebp - 0x10a4], 0
ja 0x410385
jmp 0x4104ca
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
jmp 0x41049a
mov dword [esi + 0x80], ebx
mov ebx, dword [ebp - 0x1120]
mov byte [ebp - 0x1115], 0
push ebx
mov ecx, esi
call fcn.0040d821
xor eax, eax
mov dword [esi + 0x84], ebx
inc eax
xor ebx, ebx
mov edi, eax
mov dword [ebp - 0x1054], eax
lea eax, [esi + 0x68]
mov dword [ebp - 0x1120], ebx
cmp dword [eax + 0x14], 8
jb 0x4104f6
mov eax, dword [eax]
push 5
push 0x5f4cf4
push eax
call fcn.0058e278
add esp, 0xc
test eax, eax
jne 0x41051d
mov ebx, 0xfde9
xor edi, edi
mov dword [ebp - 0x1120], ebx
mov dword [ebp - 0x1054], edi
mov eax, dword [esi + 0x84]
push 0
push 0
inc eax
push eax
push dword [esi + 0x80]
push edi
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
call ebx
mov edi, eax
test edi, edi
jg 0x41056a
mov eax, dword [esi + 0x84]
xor ecx, ecx
push ecx
xor edx, edx
mov dword [ebp - 0x1120], ecx
inc edx
inc eax
push ecx
push eax
push dword [esi + 0x80]
mov dword [ebp - 0x1054], edx
push edx
push ecx
call ebx
mov edi, eax
test edi, edi
jle 0x4105cc
xor ecx, ecx
mov eax, edi
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005708e7
mov ebx, eax
pop ecx
test ebx, ebx
je 0x4105cc
lea ecx, [edi + edi]
push ecx
push 0
push ebx
call fcn.00589570
mov eax, dword [esi + 0x84]
add esp, 0xc
inc eax
push edi
push ebx
push eax
push dword [esi + 0x80]
push dword [ebp - 0x1054]
push dword [ebp - 0x1120]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x4105c5
push ebx
lea ecx, [esi + 0x50]
call fcn.00410847
push ebx
call fcn.005708d9
pop ecx
xor eax, eax
lea ecx, [ebp - 0x10a0]
inc eax
mov edx, 0x5f4d00
mov byte [ebp - 0x1116], al
call fcn.0040d8c9
test al, al
je 0x410725
xor eax, eax
mov dword [ebp - 0x1064], 7
mov edi, str._html_
mov word [ebp - 0x1078], ax
xor ebx, ebx
push edi
mov dword [ebp - 0x1068], ebx
call fcn.0058e098
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1078]
call fcn.004107ce
xor eax, eax
lea edi, [ebp - 0x1088]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x1088], ebx
mov dword [ebp - 0x1084], ebx
mov dword [ebp - 0x1080], ebx
push ecx
lea eax, [ebp - 0x1088]
mov byte [ebp - 4], 6
push eax
lea edi, [esi + 0x50]
push edi
push ecx
lea ecx, [ebp - 0x1078]
call fcn.0040f51a
add esp, 0x10
test al, al
je 0x4106d5
mov eax, dword [ebp - 0x1084]
sub eax, dword [ebp - 0x1088]
push 0x18
cdq
pop ecx
idiv ecx
test eax, eax
je 0x4106d5
push str.__html_
call fcn.0058e098
pop ecx
push eax
push str.__html_
lea ecx, [ebp - 0x1078]
call fcn.004107ce
push ecx
lea eax, [ebp - 0x1088]
push eax
push edi
push ecx
lea ecx, [ebp - 0x1078]
call fcn.0040f51a
add esp, 0x10
test al, al
je 0x4106c5
mov eax, dword [ebp - 0x1084]
sub eax, dword [ebp - 0x1088]
push 0x18
cdq
pop ecx
idiv ecx
test eax, eax
jne 0x4106d5
mov dword [esi + 0x11c], 0xd
mov byte [ebp - 0x1116], bl
lea ecx, [ebp - 0x1088]
call fcn.0040f24e
xor eax, eax
mov byte [ebp - 4], bl
push ebx
inc eax
lea ecx, [ebp - 0x1078]
push eax
call fcn.0041164f
mov edi, dword [ebp - 0x111c]
jmp 0x410707
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x11c], eax
cmp byte [ebp - 0x1116], 0
jne 0x410725
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov ecx, dword [ebp - 0x112c]
jmp 0x40fa42
xor bl, bl
jmp 0x41072b
mov bl, byte [ebp - 0x1115]
push dword [ebp - 0x111c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor ecx, ecx
movzx eax, bl
cmp byte [ebp - 0x1116], cl
cmovne ecx, eax
mov bl, cl
push dword [ebp - 0x1130]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x410761
mov dword [esi + 0x11c], 0x57
xor bl, bl
xor eax, eax
lea ecx, [ebp - 0x10a0]
push 0
inc eax
push eax
call fcn.0041164f
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00570864
mov esp, ebp
pop ebp
ret 8