Function at 0x40e570
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 0x44a7bd
mov eax, dword fs:[0]
push eax
mov eax, 0x1174
call fcn.0043aa10
mov eax, dword [0x4611f4]
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 - 0x110c], esi
cmp dword [esi + 0x18], 0
mov eax, dword [ebp + 8]
ja 0x40e5c4
mov dword [esi + 0xf8], 3
xor al, al
jmp 0x40f56a
xor ecx, ecx
push 0xffffffffffffffff
push ecx
mov word [ebp - 0x1080], cx
push eax
lea ecx, [ebp - 0x1080]
mov dword [ebp - 0x106c], 7
mov dword [ebp - 0x1070], 0
call fcn.00409a20
mov dword [ebp - 4], 0
cmp dword [ebp - 0x106c], 8
lea eax, [ebp - 0x1080]
cmovae eax, dword [ebp - 0x1080]
push 0x455610
push eax
call fcn.004331d9
add esp, 8
test eax, eax
jne 0x40e626
push 3
push 0x455610
jmp 0x40e657
cmp dword [ebp - 0x106c], 8
lea eax, [ebp - 0x1080]
cmovae eax, dword [ebp - 0x1080]
push str.POST
push eax
call fcn.004331d9
add esp, 8
test eax, eax
jne 0x40f545
push 4
push str.POST
lea ecx, [ebp - 0x1080]
call fcn.00409b00
cmp dword [esi], 0
mov bl, 1
mov byte [ebp - 0x10b2], bl
jne 0x40e6a6
cmp dword [esi + 0x128], 8
lea eax, [esi + 0x114]
jb 0x40e680
mov eax, dword [eax]
push 0
push 0
push 0
push 0
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [esi], eax
test eax, eax
jne 0x40e6a6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf8], eax
jmp 0x40f54f
push dword [esi + 0x184]
push dword [esi + 0x180]
push dword [esi + 0x17c]
push dword [esi + 0x178]
push dword [esi]
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.00434de0
add esp, 0xc
xor eax, eax
push 0xa26
push eax
mov word [ebp - 0x1050], ax
lea eax, [ebp - 0x104e]
push eax
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0x117c]
push 0x3c
push 0
push eax
call fcn.00434de0
lea eax, [ebp - 0x420]
mov dword [ebp - 0x116c], eax
lea eax, [ebp - 0x1050]
mov dword [ebp - 0x1150], eax
lea eax, [esi + 8]
add esp, 0xc
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x117c], 0x3c
mov dword [ebp - 0x1168], 0x104
mov dword [ebp - 0x114c], 0x514
mov dword [ebp - 0x1174], 1
jb 0x40e760
mov eax, dword [eax]
lea ecx, [ebp - 0x117c]
push ecx
push 0
push dword [esi + 0x18]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
je 0x40f551
cmp word [ebp - 0x420], 0
jne 0x40e789
xor ecx, ecx
jmp 0x40e7a1
lea ecx, [ebp - 0x420]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e792
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x420]
push eax
lea ecx, [esi + 0x20]
call fcn.00409b00
push 0
push dword [ebp - 0x1164]
lea eax, [ebp - 0x420]
push eax
push dword [esi]
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov edi, eax
mov dword [ebp - 0x1110], edi
test edi, edi
je 0x40f551
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
push 4
lea eax, [ebp - 0x10f4]
push eax
push 0x44
push edi
mov dword [ebp - 0x10f4], 1
call ebx
cmp dword [ebp - 0x106c], 8
push 0x40
push 0
push 0
push 0
push dword [ebp - 0x1150]
lea eax, [ebp - 0x1080]
cmovae eax, dword [ebp - 0x1080]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov edi, eax
mov dword [ebp - 0x10bc], edi
test edi, edi
je 0x40f531
cmp byte [esi + 4], 0
jne 0x40e857
cmp dword [ebp - 0x1170], 2
jne 0x40e857
push 4
lea eax, [ebp - 0x10c0]
push eax
push 0x1f
push edi
mov dword [ebp - 0x10c0], 0x3100
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [ebp - 0x10b1], 0
xor ecx, ecx
mov eax, ecx
inc ecx
mov dword [ebp - 0x10fc], ecx
cmp eax, 3
jae 0x40f514
mov ecx, dword [esi + 0xd8]
test ecx, ecx
je 0x40e8ad
cmp dword [esi + 0xdc], 8
lea eax, [esi + 0xc8]
jb 0x40e893
mov eax, dword [eax]
push 0x1000000
push ecx
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x40e8ad
call ebx
mov dword [esi + 0xf8], eax
cmp dword [esi + 0xb8], 0
jbe 0x40e922
push str.Cookie:
lea ecx, [ebp - 0x1068]
call fcn.00409830
push 0xffffffffffffffff
push 0
lea eax, [esi + 0xa8]
push eax
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 1
call fcn.0041acd0
cmp dword [ebp - 0x1054], 8
push 0x1000000
push dword [ebp - 0x1058]
lea eax, [ebp - 0x1068]
cmovae eax, dword [ebp - 0x1068]
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x40e913
call ebx
mov dword [esi + 0xf8], eax
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 0
call fcn.00409890
cmp dword [esi + 0xf0], 0
jbe 0x40ea27
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
xorps xmm0, xmm0
lea eax, [ebp - 0x216]
movq qword [ebp - 0x1140], xmm0
push eax
mov dword [ebp - 0x1138], 0
mov dword [ebp - 0x1140], 3
call fcn.00434de0
lea eax, [esi + 0xe0]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x40e97a
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00433dd5
add esp, 0xc
lea eax, [ebp - 0x218]
push 0xc
mov dword [ebp - 0x113c], eax
lea eax, [ebp - 0x1140]
push eax
push 0x26
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x40e9b9
call ebx
mov dword [esi + 0xf8], eax
mov eax, dword [esi + 0x140]
test eax, eax
je 0x40ea27
cmp dword [esi + 0x144], 8
lea ecx, [esi + 0x130]
jb 0x40e9d4
mov ecx, dword [ecx]
add eax, eax
push eax
push ecx
push 0x1002
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x40e9f0
call ebx
mov dword [esi + 0xf8], eax
mov eax, dword [esi + 0x158]
test eax, eax
je 0x40ea27
cmp dword [esi + 0x15c], 8
lea ecx, [esi + 0x148]
jb 0x40ea0b
mov ecx, dword [ecx]
add eax, eax
push eax
push ecx
push 0x1003
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x40ea27
call ebx
mov dword [esi + 0xf8], eax
push 0
push 0
push 0
push 0
push 0
push 0
push edi
xor bl, bl
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x40ec84
xorps xmm0, xmm0
lea eax, [ebp - 0x10f0]
push eax
movq qword [ebp - 0x10f0], xmm0
movq qword [ebp - 0x10e8], xmm0
call dword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
test eax, eax
je 0x40ecc1
mov eax, dword [ebp - 0x10ec]
test eax, eax
je 0x40eb68
cmp dword [esi + 0x1c], 8
xorps xmm0, xmm0
movq qword [ebp - 0x112c], xmm0
mov dword [ebp - 0x112c], eax
lea eax, [esi + 8]
movq qword [ebp - 0x1134], xmm0
movq qword [ebp - 0x1124], xmm0
mov dword [ebp - 0x1134], 3
mov dword [ebp - 0x1130], 1
mov dword [ebp - 0x1120], 1
mov dword [ebp - 0x1124], 0
mov dword [ebp - 0x1128], 0
movq qword [ebp - 0x111c], xmm0
mov dword [ebp - 0x1114], 0
jb 0x40eaea
mov eax, dword [eax]
lea ecx, [ebp - 0x111c]
push ecx
lea ecx, [ebp - 0x1134]
push ecx
push eax
push dword [esi]
call dword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
je 0x40ec38
push 0xc
lea eax, [ebp - 0x111c]
push eax
push 0x26
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
je 0x40eb3f
push 0
push 0
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
movzx ebx, bl
test eax, eax
mov eax, 1
cmovne ebx, eax
mov eax, dword [ebp - 0x1118]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
je 0x40eb52
push eax
call edi
mov eax, dword [ebp - 0x1114]
test eax, eax
je 0x40ec45
push eax
call edi
jmp 0x40ec45
mov edi, dword [ebp - 0x10e8]
test edi, edi
je 0x40ec65
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
xorps xmm0, xmm0
lea eax, [ebp - 0x216]
movq qword [ebp - 0x1108], xmm0
push eax
mov dword [ebp - 0x1100], 0
mov dword [ebp - 0x1108], 3
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0x218]
push edi
push 0x104
push eax
call fcn.00433dd5
mov edi, dword [ebp - 0x10e4]
add esp, 0xc
lea eax, [ebp - 0x218]
mov dword [ebp - 0x1104], eax
test edi, edi
je 0x40ec1d
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x628], ax
lea eax, [ebp - 0x626]
push eax
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0x628]
push edi
push 0x104
push eax
call fcn.00433dd5
lea eax, [ebp - 0x628]
add esp, 0xc
mov dword [ebp - 0x1100], eax
push 0xc
lea eax, [ebp - 0x1108]
push eax
push 0x26
push dword [ebp - 0x10bc]
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x40ec45
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
mov dword [esi + 0xf8], eax
mov eax, dword [ebp - 0x10ec]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
je 0x40ec58
push eax
call edi
mov eax, dword [ebp - 0x10e8]
test eax, eax
je 0x40ec65
push eax
call edi
mov eax, dword [ebp - 0x10e4]
test eax, eax
je 0x40ec76
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov edi, dword [ebp - 0x10bc]
test bl, bl
je 0x40f4f2
mov eax, dword [esi + 0xc0]
test eax, eax
je 0x40ecd4
lea ecx, [ebp - 0x10c0]
push ecx
push dword [esi + 0xc4]
mov dword [ebp - 0x10c0], 0
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpWriteData]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x40ecda
call ebx
mov dword [esi + 0xf8], eax
jmp 0x40ecda
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
mov dword [esi + 0xf8], eax
jmp 0x40f4f8
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x40ecc7
push 0
lea eax, [ebp - 0x10b8]
push eax
push 0
push 0
push 0x16
push edi
mov dword [ebp - 0x10b8], 0
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x40ed16
call ebx
cmp eax, 0x7a
jne 0x40f03e
mov eax, dword [ebp - 0x10b8]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00431a3c
mov edi, eax
add esp, 4
mov dword [ebp - 0x10f8], edi
test edi, edi
je 0x40f038
mov ecx, dword [ebp - 0x10b8]
add ecx, ecx
push ecx
push 0
push edi
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0x10b8]
push 0
push eax
push edi
push 0
push 0x16
push dword [ebp - 0x10bc]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x40f02f
lea ebx, [esi + 0x38]
push edi
mov ecx, ebx
call fcn.004098c0
mov dword [ebp - 0x10d4], 0
mov dword [ebp - 0x10d0], 0
mov dword [ebp - 0x10cc], 0
push 0x451c88
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 2
call fcn.00409830
mov byte [ebp - 4], 3
cmp byte [esi + 0x12c], 0
jne 0x40ee23
push str.charset_A_Za_z0_9___
lea ecx, [ebp - 0x1068]
call fcn.004098c0
push ecx
lea eax, [ebp - 0x10d4]
push eax
push ebx
push ecx
lea ecx, [ebp - 0x1068]
call fcn.0040d9e0
add esp, 0x10
test al, al
je 0x40ee23
mov ecx, dword [ebp - 0x10d0]
mov edi, dword [ebp - 0x10d4]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40ee23
lea ecx, [esi + 0x68]
cmp ecx, edi
je 0x40ee23
push 0xffffffffffffffff
push 0
push edi
call fcn.00409a20
push str.Content_Length:__0_9_
lea ecx, [ebp - 0x1068]
call fcn.004098c0
push ecx
lea eax, [ebp - 0x10d4]
push eax
push ebx
push ecx
lea ecx, [ebp - 0x1068]
call fcn.0040d9e0
add esp, 0x10
test al, al
je 0x40ee87
mov ecx, dword [ebp - 0x10d0]
mov edi, dword [ebp - 0x10d4]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40ee87
cmp dword [edi + 0x14], 8
jb 0x40ee78
mov edi, dword [edi]
push edi
call fcn.00433058
add esp, 4
mov dword [esi + 0x8c], eax
push str.Location:__0_9_
lea ecx, [ebp - 0x1068]
call fcn.004098c0
push ecx
lea eax, [ebp - 0x10d4]
push eax
push ebx
push ecx
lea ecx, [ebp - 0x1068]
call fcn.0040d9e0
add esp, 0x10
test al, al
je 0x40eee8
mov ecx, dword [ebp - 0x10d0]
mov edi, dword [ebp - 0x10d4]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40eee8
lea ecx, [esi + 0x160]
cmp ecx, edi
je 0x40eee8
push 0xffffffffffffffff
push 0
push edi
call fcn.00409a20
push str.Set_Cookie:_b.__n
lea ecx, [ebp - 0x1068]
call fcn.004098c0
push ecx
lea eax, [ebp - 0x10d4]
push eax
push ebx
push ecx
lea ecx, [ebp - 0x1068]
call fcn.0040d9e0
add esp, 0x10
test al, al
je 0x40f00f
mov ecx, dword [ebp - 0x10d0]
mov ebx, dword [ebp - 0x10d4]
sub ecx, ebx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x10c8], eax
je 0x40f00f
xor edi, edi
test eax, eax
je 0x40ef92
dec eax
mov dword [ebp - 0x10c4], eax
lea eax, [esi + 0x90]
mov dword [ebp - 0x10c0], eax
mov esi, eax
mov edi, edi
push 0xffffffffffffffff
push 0
push ebx
mov ecx, esi
call fcn.0041acd0
cmp edi, dword [ebp - 0x10c4]
je 0x40ef80
push 0x4556f4
mov ecx, esi
call fcn.00419b90
inc edi
add ebx, 0x18
cmp edi, dword [ebp - 0x10c8]
jb 0x40ef60
mov esi, dword [ebp - 0x110c]
push str._0__
lea ecx, [ebp - 0x1098]
call fcn.00409830
lea eax, [ebp - 0x1098]
lea edi, [esi + 0x90]
push eax
mov edx, edi
lea ecx, [ebp - 0x10b0]
mov byte [ebp - 4], 4
call fcn.0040ddd0
add esp, 4
mov ecx, edi
push eax
call fcn.00419b50
lea ecx, [ebp - 0x10b0]
call fcn.00409890
lea ecx, [ebp - 0x1098]
mov byte [ebp - 4], 3
call fcn.00409890
mov ecx, dword [esi + 0xa0]
test ecx, ecx
je 0x40f00f
cmp dword [edi + 0x14], 8
jb 0x40eff9
mov eax, dword [edi]
jmp 0x40effb
mov eax, edi
cmp word [eax + ecx*2 - 2], 0x3b
je 0x40f00f
push 0x4556fc
mov ecx, edi
call fcn.00419b90
lea ecx, [ebp - 0x1068]
call fcn.00409890
lea ecx, [ebp - 0x10d4]
mov byte [ebp - 4], 0
call fcn.00419c60
mov edi, dword [ebp - 0x10f8]
push edi
call fcn.00431e88
add esp, 4
mov edi, dword [ebp - 0x10bc]
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
push 0
lea eax, [ebp - 0x10b8]
push eax
push 0
push 0
push 0x13
push edi
mov dword [ebp - 0x10b8], 0
call ebx
test eax, eax
jne 0x40f070
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
cmp eax, 0x7a
jne 0x40f0de
mov eax, dword [ebp - 0x10b8]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00431a3c
mov edi, eax
add esp, 4
test edi, edi
je 0x40f0d8
mov ecx, dword [ebp - 0x10b8]
add ecx, ecx
push ecx
push 0
push edi
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0x10b8]
push 0
push eax
push edi
push 0
push 0x13
push dword [ebp - 0x10bc]
call ebx
test eax, eax
je 0x40f0cf
lea ecx, [esi + 0xfc]
push edi
call fcn.004098c0
push edi
call fcn.00431e88
add esp, 4
mov edi, dword [ebp - 0x10bc]
mov eax, dword [esi + 0x80]
xor ebx, ebx
mov ecx, 0x2800
mov dword [ebp - 0x10c0], ecx
mov dword [ebp - 0x10c4], ebx
test eax, eax
je 0x40f10a
push eax
call fcn.00431e88
add esp, 4
mov dword [esi + 0x80], ebx
cmp dword [esi + 0x110], 8
lea eax, [esi + 0xfc]
jb 0x40f11b
mov eax, dword [eax]
mov ecx, 0x455700
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40f146
test dx, dx
je 0x40f142
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40f146
add eax, 4
add ecx, 4
test dx, dx
jne 0x40f120
xor eax, eax
jmp 0x40f14b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f51d
push 0x2800
call fcn.00431a3c
add esp, 4
mov dword [esi + 0x80], eax
test eax, eax
je 0x40f50c
push 0x2800
push 0
push eax
call fcn.00434de0
add esp, 0xc
mov edi, edi
lea eax, [ebp - 0x10b8]
push eax
push edi
mov dword [ebp - 0x10b8], 0
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x40f2b2
push ebx
mov ecx, esi
call fcn.0040f610
mov eax, dword [ebp - 0x10b8]
inc eax
push eax
call fcn.00431a3c
mov edi, eax
add esp, 4
test edi, edi
je 0x40f29d
mov ecx, dword [ebp - 0x10b8]
inc ecx
push ecx
push 0
push edi
call fcn.00434de0
add esp, 0xc
lea eax, [ebp - 0x10c8]
push eax
push dword [ebp - 0x10b8]
mov dword [ebp - 0x10c8], 0
push edi
push dword [ebp - 0x10bc]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x40f294
mov ecx, dword [ebp - 0x10c8]
mov edx, dword [ebp - 0x10c0]
lea eax, [ecx + ebx]
cmp eax, edx
jbe 0x40f275
mov ebx, dword [esi + 0x80]
add edx, edx
push edx
mov dword [ebp - 0x10c0], edx
call fcn.00431a3c
add esp, 4
mov dword [esi + 0x80], eax
test eax, eax
je 0x40f2c0
mov ecx, dword [ebp - 0x10c0]
push ecx
push 0
push eax
call fcn.00434de0
add esp, 0xc
push dword [ebp - 0x10c4]
push ebx
push dword [esi + 0x80]
call fcn.00434e70
add esp, 0xc
push ebx
call fcn.00431e88
mov ecx, dword [ebp - 0x10c8]
mov ebx, dword [ebp - 0x10c4]
add esp, 4
mov eax, dword [esi + 0x80]
push ecx
add eax, ebx
push edi
push eax
call fcn.00434e70
add esp, 0xc
add ebx, dword [ebp - 0x10c8]
mov dword [ebp - 0x10c4], ebx
push edi
call fcn.00431e88
add esp, 4
mov edi, dword [ebp - 0x10bc]
cmp dword [ebp - 0x10b8], 0
ja 0x40f180
jmp 0x40f2d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf8], eax
jmp 0x40f2a3
mov dword [esi + 0x80], ebx
mov ebx, dword [ebp - 0x10c4]
mov byte [ebp - 0x10b2], 0
push ebx
mov ecx, esi
call fcn.0040f610
mov dword [esi + 0x84], ebx
lea eax, [esi + 0x68]
xor ebx, ebx
cmp dword [eax + 0x14], 8
mov edi, 1
mov dword [ebp - 0x10c4], ebx
mov dword [ebp - 0x10c0], edi
jb 0x40f2ff
mov eax, dword [eax]
push 5
push 0x455708
push eax
call fcn.00433c2a
add esp, 0xc
test eax, eax
jne 0x40f326
mov ebx, 0xfde9
xor edi, edi
mov dword [ebp - 0x10c4], ebx
mov dword [ebp - 0x10c0], 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 0x40f37a
mov eax, dword [esi + 0x84]
push 0
push 0
inc eax
push eax
push dword [esi + 0x80]
mov dword [ebp - 0x10c4], 0
push 1
push 0
mov dword [ebp - 0x10c0], 1
call ebx
mov edi, eax
test edi, edi
jle 0x40f3e2
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00431a3c
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x40f3e2
lea ecx, [edi + edi]
push ecx
push 0
push ebx
call fcn.00434de0
mov eax, dword [esi + 0x84]
add esp, 0xc
inc eax
push edi
push ebx
push eax
push dword [esi + 0x80]
push dword [ebp - 0x10c0]
push dword [ebp - 0x10c4]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x40f3d9
push ebx
lea ecx, [esi + 0x50]
call fcn.004098c0
push ebx
call fcn.00431e88
add esp, 4
push 3
push ecx
push dword [ebp - 0x1070]
mov byte [ebp - 0x10b1], 1
push ecx
lea ecx, [ebp - 0x1080]
call fcn.0041be70
test eax, eax
jne 0x40f525
push str._html_
lea ecx, [ebp - 0x1068]
call fcn.00409830
mov dword [ebp - 0x10e0], 0
mov dword [ebp - 0x10dc], 0
mov dword [ebp - 0x10d8], 0
push ecx
lea eax, [ebp - 0x10e0]
push eax
lea edi, [esi + 0x50]
push edi
push ecx
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 6
call fcn.0040d9e0
add esp, 0x10
test al, al
je 0x40f4d2
mov ecx, dword [ebp - 0x10dc]
sub ecx, dword [ebp - 0x10e0]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40f4d2
push str.__html_
lea ecx, [ebp - 0x1068]
call fcn.004098c0
push ecx
lea eax, [ebp - 0x10e0]
push eax
push edi
push ecx
lea ecx, [ebp - 0x1068]
call fcn.0040d9e0
add esp, 0x10
test al, al
je 0x40f4c1
mov ecx, dword [ebp - 0x10dc]
sub ecx, dword [ebp - 0x10e0]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x40f4d2
mov dword [esi + 0xf8], 0xd
mov byte [ebp - 0x10b1], 0
lea ecx, [ebp - 0x10e0]
call fcn.00419c60
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 0
call fcn.00409890
mov edi, dword [ebp - 0x10bc]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [ebp - 0x10b1], 0
jne 0x40f525
mov ecx, dword [ebp - 0x10fc]
jmp 0x40e866
xor al, al
mov byte [ebp - 0x10b2], al
cmp byte [ebp - 0x10b1], 0
jne 0x40f525
xor al, al
mov byte [ebp - 0x10b2], al
push dword [ebp - 0x10bc]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [ebp - 0x1110]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov bl, byte [ebp - 0x10b2]
jmp 0x40f551
mov dword [esi + 0xf8], 0x57
xor bl, bl
cmp dword [ebp - 0x106c], 8
jb 0x40f568
push dword [ebp - 0x1080]
call fcn.00431c63
add esp, 4
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.00431c68
mov esp, ebp
pop ebp
ret 8