Function at 0x40a720
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Set http header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x439266
mov eax, dword fs:[0]
push eax
mov eax, 0x10fc
call fcn.00431830
mov eax, dword [0x448664]
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 ebx, edx
mov eax, dword [ebx + 0x38]
xor esi, esi
mov dword [ebp - 0x10c4], ebx
cmp eax, esi
ja 0x40a76f
mov dword [ebx + 0xc], 3
jmp 0x40af86
xor eax, eax
push esi
mov word [ebp - 0x106c], ax
push ecx
or eax, 0xffffffff
lea ecx, [ebp - 0x106c]
mov dword [ebp - 0x1058], 7
mov dword [ebp - 0x105c], esi
call fcn.004017f0
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x106c]
mov edi, 8
cmp dword [ebp - 0x1058], edi
jae 0x40a7b4
lea eax, [ebp - 0x106c]
push 0x43d8ec
push eax
call fcn.0041d9e7
add esp, 8
test eax, eax
jne 0x40a7cf
push 3
mov eax, 0x43d8ec
jmp 0x40a800
mov eax, dword [ebp - 0x106c]
cmp dword [ebp - 0x1058], edi
jae 0x40a7e3
lea eax, [ebp - 0x106c]
push str.POST
push eax
call fcn.0041d9e7
add esp, 8
test eax, eax
jne 0x40af48
push 4
mov eax, str.POST
lea esi, [ebp - 0x106c]
call fcn.00401b60
cmp dword [0x44b2d8], 0
jne 0x40a8a4
cmp dword [ebx + 0x70], 0
jne 0x40a830
lea esi, [ebx + 0x60]
push 0x87
mov eax, str.Mozilla_4.0__compatible__MSIE_8.0__Windows_NT_5.1__Trident_4.0__GTB7.4__.NET_CLR_2.0.50727__.NET_CLR_3.0.4506.2152__.NET_CLR_3.5.30729_
call fcn.00401b60
cmp dword [ebx + 0x74], edi
lea eax, [ebx + 0x60]
jb 0x40a83a
mov eax, dword [eax]
push 0
push 0
push 0
push 0
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [0x44b2d8], eax
test eax, eax
jne 0x40a891
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0xc], eax
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1058], edi
jb 0x40a879
mov ecx, dword [ebp - 0x106c]
push ecx
call fcn.0041d491
add esp, 4
xor edx, edx
mov dword [ebp - 0x105c], 0
mov word [ebp - 0x106c], dx
jmp 0x40af7c
push 0
push 0x4000
push 0x40a6c0
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpSetStatusCallback]
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
push eax
mov eax, dword [ebx + 0x18]
push ecx
mov ecx, dword [0x44b2d8]
push edx
push eax
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x41e]
push eax
mov word [ebp - 0x420], dx
call fcn.00422080
add esp, 0xc
xor ecx, ecx
push 0xa26
push ecx
lea edx, [ebp - 0x104e]
push edx
mov word [ebp - 0x1050], cx
call fcn.00422080
add esp, 0xc
push 0x3c
lea eax, [ebp - 0x1104]
push 0
push eax
call fcn.00422080
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x420]
mov dword [ebp - 0x10f4], ecx
lea ecx, [ebx + 0x28]
add esp, 0xc
lea edx, [ebp - 0x1050]
mov dword [ebp - 0x1104], 0x3c
mov dword [ebp - 0x10f0], 0x104
mov dword [ebp - 0x10d8], edx
mov dword [ebp - 0x10d4], 0x514
mov dword [ebp - 0x10fc], 1
mov dword [ebp - 0x10c8], ecx
cmp dword [ecx + 0x14], edi
jb 0x40a963
mov ecx, dword [ecx]
lea edx, [ebp - 0x1104]
push edx
push 0
push eax
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
jne 0x40a9b7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0xc], eax
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1058], edi
jb 0x40a99f
mov eax, dword [ebp - 0x106c]
push eax
call fcn.0041d491
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x105c], 0
mov word [ebp - 0x106c], cx
jmp 0x40af7c
mov edx, dword [ebp - 0x10ec]
mov ecx, dword [0x44b2d8]
push 0
push edx
lea eax, [ebp - 0x420]
push eax
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov dword [ebx + 4], eax
test eax, eax
jne 0x40a9fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0xc], eax
mov dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0x106c]
call fcn.004016d0
jmp 0x40af86
lea ecx, [ebp - 0x1094]
mov dword [ebp - 0x1094], eax
mov dword [ebp - 0x1090], ebx
call fcn.0040e410
push eax
lea edi, [ebp - 0x1094]
call fcn.0040e080
mov ecx, dword [ebp - 0x106c]
xor eax, eax
mov esi, 2
cmp dword [ebp - 0x10f8], esi
setne al
dec eax
and eax, 0x800000
cmp dword [ebp - 0x1058], 8
jae 0x40aa49
lea ecx, [ebp - 0x106c]
mov edx, dword [ebp - 0x10d8]
push eax
mov eax, dword [ebx + 4]
push 0
push 0
push 0
push edx
push ecx
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov dword [ebx + 8], eax
test eax, eax
jne 0x40aa93
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebx + 4]
push ecx
mov dword [ebx + 0xc], eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0x106c]
call fcn.004016d0
jmp 0x40af86
lea ecx, [ebp - 0x1094]
mov dword [ebp - 0x1094], eax
mov dword [ebp - 0x1090], ebx
call fcn.0040e410
push eax
lea edi, [ebp - 0x1094]
call fcn.0040e080
cmp byte [ebx + 1], 0
jne 0x40aae3
cmp dword [ebp - 0x10f8], esi
jne 0x40aae3
mov eax, dword [ebx + 8]
push 4
lea edx, [ebp - 0x1090]
push edx
push 0x1f
push eax
mov dword [ebp - 0x1090], 0x3100
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov edi, dword [ebp - 0x10c4]
lea ebx, [ebp - 0x1088]
mov ecx, edi
call fcn.0040b7e0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1078]
mov esi, 8
test eax, eax
je 0x40ab37
mov ecx, dword [ebp - 0x1088]
cmp dword [ebp - 0x1074], esi
jae 0x40ab19
mov ecx, ebx
push 0x1000000
push eax
push ecx
mov ecx, dword [edi + 8]
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x40ab37
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0xa8]
test eax, eax
je 0x40ac42
xor eax, eax
xor edx, edx
mov dword [ebp - 0x1098], eax
push 0x206
mov dword [ebp - 0x1094], eax
mov dword [ebp - 0x1090], eax
push edx
lea eax, [ebp - 0x216]
push eax
mov dword [ebp - 0x1098], 3
mov word [ebp - 0x218], dx
call fcn.00422080
lea eax, [edi + 0x98]
add esp, 0xc
cmp dword [eax + 0x14], esi
jb 0x40ab8e
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x218]
push 0x104
push ecx
call fcn.0041dbac
mov ecx, dword [edi + 8]
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
add esp, 0xc
push 0xc
lea eax, [ebp - 0x1098]
push eax
push 0x26
lea edx, [ebp - 0x218]
push ecx
mov dword [ebp - 0x1094], edx
call ebx
test eax, eax
jne 0x40abd3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0xc], eax
mov ecx, dword [edi + 0xc4]
test ecx, ecx
je 0x40ac48
cmp dword [edi + 0xc8], esi
lea eax, [edi + 0xb4]
jb 0x40abed
mov eax, dword [eax]
lea edx, [ecx + ecx]
push edx
push eax
mov eax, dword [edi + 8]
push 0x1002
push eax
call ebx
test eax, eax
jne 0x40ac0a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0xc], eax
mov ecx, dword [edi + 0xe0]
test ecx, ecx
je 0x40ac48
cmp dword [edi + 0xe4], esi
lea eax, [edi + 0xd0]
jb 0x40ac24
mov eax, dword [eax]
mov edx, dword [edi + 8]
add ecx, ecx
push ecx
push eax
push 0x1003
push edx
call ebx
test eax, eax
jne 0x40ac48
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0xc], eax
jmp 0x40ac48
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov eax, dword [edi + 8]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
push 0
push 0
push 0
push 0
push 0
push 0
push eax
mov byte [ebp - 0x1089], 0
call esi
test eax, eax
je 0x40ac9e
mov ecx, dword [edi + 8]
push 0
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x40ac92
mov ecx, edi
call fcn.0040afb0
test al, al
je 0x40ac92
mov byte [ebp - 0x1089], 1
jmp 0x40af14
mov byte [ebp - 0x1089], 0
jmp 0x40af02
xor eax, eax
lea edx, [ebp - 0x10a8]
push edx
mov dword [ebp - 0x10a8], eax
mov dword [ebp - 0x10a4], eax
mov dword [ebp - 0x10a0], eax
mov dword [ebp - 0x109c], eax
call dword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
test eax, eax
je 0x40af3d
mov ecx, dword [ebp - 0x10a4]
xor eax, eax
cmp ecx, eax
je 0x40adf0
mov dword [ebp - 0x10b4], eax
mov dword [ebp - 0x10b0], eax
mov dword [ebp - 0x10c0], eax
mov dword [ebp - 0x10bc], eax
mov dword [ebp - 0x10b8], eax
mov dword [ebp - 0x10ac], eax
mov dword [ebp - 0x10b0], eax
mov dword [ebp - 0x10b4], eax
mov dword [ebp - 0x1098], eax
mov dword [ebp - 0x1094], eax
mov dword [ebp - 0x1090], eax
mov eax, dword [ebp - 0x10c8]
cmp dword [eax + 0x14], 8
mov edx, 1
mov dword [ebp - 0x10c0], 3
mov dword [ebp - 0x10bc], edx
mov dword [ebp - 0x10b8], ecx
mov dword [ebp - 0x10ac], edx
jb 0x40ad4e
mov eax, dword [eax]
lea ecx, [ebp - 0x1098]
push ecx
lea edx, [ebp - 0x10c0]
push edx
push eax
mov eax, dword [0x44b2d8]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
je 0x40aebd
mov edx, dword [edi + 8]
push 0xc
lea ecx, [ebp - 0x1098]
push ecx
push 0x26
push edx
call ebx
test eax, eax
je 0x40adc5
mov eax, dword [edi + 8]
push 0
push 0
push 0
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x40adc5
mov ecx, dword [edi + 8]
push 0
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x40adbe
mov ecx, edi
call fcn.0040afb0
mov byte [ebp - 0x1089], 1
test al, al
jne 0x40adc5
mov byte [ebp - 0x1089], 0
mov eax, dword [ebp - 0x1094]
test eax, eax
je 0x40add6
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0x1090]
test eax, eax
je 0x40aec6
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x40aec6
mov esi, dword [ebp - 0x10a0]
cmp esi, eax
je 0x40aee8
xor eax, eax
xor edx, edx
mov dword [ebp - 0x1098], eax
push 0x206
mov dword [ebp - 0x1094], eax
mov dword [ebp - 0x1090], eax
push edx
lea eax, [ebp - 0x216]
push eax
mov dword [ebp - 0x1098], 3
mov word [ebp - 0x218], dx
call fcn.00422080
add esp, 0xc
push esi
lea ecx, [ebp - 0x218]
push 0x104
push ecx
call fcn.0041dbac
mov esi, dword [ebp - 0x109c]
add esp, 0xc
lea edx, [ebp - 0x218]
mov dword [ebp - 0x1094], edx
test esi, esi
je 0x40aea4
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x626]
push ecx
mov word [ebp - 0x628], ax
call fcn.00422080
add esp, 0xc
push esi
lea edx, [ebp - 0x628]
push 0x104
push edx
call fcn.0041dbac
lea eax, [ebp - 0x628]
add esp, 0xc
mov dword [ebp - 0x1090], eax
mov edx, dword [edi + 8]
push 0xc
lea ecx, [ebp - 0x1098]
push ecx
push 0x26
push edx
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x40aec6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x10a4]
test eax, eax
je 0x40aed7
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0x10a0]
test eax, eax
je 0x40aee8
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0x109c]
test eax, eax
je 0x40aef9
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp byte [ebp - 0x1089], 0
jne 0x40af14
mov eax, dword [edi + 8]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push eax
call esi
mov ecx, dword [edi + 4]
push ecx
call esi
mov byte [ebp - 4], 0
lea esi, [ebp - 0x1088]
call fcn.004016d0
mov dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0x106c]
call fcn.004016d0
mov al, byte [ebp - 0x1089]
jmp 0x40af88
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0xc], eax
jmp 0x40af02
mov dword [ebx + 0xc], 0x57
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1058], edi
jb 0x40af6d
mov edx, dword [ebp - 0x106c]
push edx
call fcn.0041d491
add esp, 4
xor eax, eax
mov dword [ebp - 0x105c], esi
mov word [ebp - 0x106c], ax
mov dword [ebp - 0x1058], 7
xor al, al
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.0041cfa8
mov esp, ebp
pop ebp
ret