Function at 0x410647
Capabilities:
Prepare http request

Disassembly:
push 0x18
mov eax, 0x46719b
call fcn.0043d25b
mov esi, ecx
mov eax, dword [esi + 0x24]
xor ebx, ebx
mov edi, ebx
mov ecx, 0x479a58
cmp eax, 2
je 0x41068d
cmp eax, 4
je 0x41068d
cmp eax, 1
je 0x410686
cmp eax, 6
je 0x410686
cmp eax, 3
jne 0x410681
mov ecx, str.POST
jmp 0x410692
push 0xd
pop edi
jmp 0x410692
mov ecx, str.HEAD
jmp 0x410692
mov ecx, 0x485374
cmp dword [esi + 0x30], ebx
je 0x41069e
or dword [esi + 0x20], 0x800000
mov eax, dword [esi + 0x20]
push eax
push ebx
push ebx
push ebx
push dword [esi + 0x34]
push ecx
push dword [esi + 0x84]
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov dword [esi + 0x80], eax
test eax, eax
jne 0x41078d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push edi
push str.InitializeHTTPRequest_:__Error_in_WinHttpOpenRequest______d
call fcn.004064a1
pop ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x485410
call fcn.004042c5
push ecx
mov ecx, esp
mov dword [ebp - 4], ebx
push str.InitializeHTTPRequest
call fcn.004042c5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
mov edx, edi
call fcn.004098c9
add esp, 4
mov dword [ebp - 4], 1
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x47ea50
call fcn.004042c5
push ecx
mov byte [ebp - 4], 2
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x479a58
call fcn.004042c5
push ecx
mov byte [ebp - 4], 3
mov esi, esp
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x14], esp
push eax
call fcn.00404a80
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0x20], esp
push str.WIN_ELEC_INITIALIZE_HTTPREQUEST
call fcn.004042c5
push ecx
mov ecx, esp
mov byte [ebp - 4], 5
push str.TRACK_FEATURE
call fcn.004042c5
mov byte [ebp - 4], 1
call fcn.00406f9d
add esp, 0x14
push edi
call fcn.0040f9b2
mov ecx, dword [ebp - 0x10]
jmp 0x410a1a
mov ecx, esi
call fcn.00410d77
test eax, eax
je 0x410874
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.InitializeHTTPOptions
mov edi, eax
call fcn.004042c5
push ecx
mov ecx, esp
mov dword [ebp - 4], 6
push str.InitializeHTTPRequest
call fcn.004042c5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
mov edx, edi
call fcn.004098c9
add esp, 4
mov dword [ebp - 4], 7
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x47ea50
call fcn.004042c5
push ecx
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x479a58
call fcn.004042c5
push ecx
mov byte [ebp - 4], 9
mov esi, esp
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x1c], esp
push eax
call fcn.00404a80
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.WIN_ELEC_INITIALIZE_HTTPREQUEST
call fcn.004042c5
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xb
push str.TRACK_FEATURE
call fcn.004042c5
mov byte [ebp - 4], 7
call fcn.00406f9d
mov eax, dword [ebp - 0x10]
add esp, 0x14
cmp dword [eax - 4], 1
jle 0x410868
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00404809
mov eax, dword [ebp - 0x10]
push eax
call fcn.004064a1
pop ecx
jmp 0x410785
mov ecx, esi
call fcn.00410a31
test eax, eax
je 0x410935
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.InitializeHTTPHeaders
mov edi, eax
call fcn.004042c5
push ecx
mov ecx, esp
mov dword [ebp - 4], 0xc
push str.InitializeHTTPRequest
call fcn.004042c5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
mov edx, edi
call fcn.004098c9
add esp, 4
mov dword [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x47ea50
call fcn.004042c5
push ecx
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x479a58
call fcn.004042c5
push ecx
mov byte [ebp - 4], 0xf
mov esi, esp
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x1c], esp
push eax
call fcn.00404a80
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.WIN_ELEC_INITIALIZE_HTTPREQUEST
call fcn.004042c5
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x11
push str.TRACK_FEATURE
call fcn.004042c5
mov byte [ebp - 4], 0xd
jmp 0x410849
mov ecx, esi
call fcn.00410f9c
test eax, eax
je 0x410a22
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.InitializeHTTPProxyHeaders
mov edi, eax
call fcn.004042c5
push ecx
mov ecx, esp
mov dword [ebp - 4], 0x12
push str.InitializeHTTPRequest
call fcn.004042c5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
mov edx, edi
call fcn.004098c9
add esp, 4
mov dword [ebp - 4], 0x13
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x47ea50
call fcn.004042c5
push ecx
mov byte [ebp - 4], 0x14
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x479a58
call fcn.004042c5
push ecx
mov byte [ebp - 4], 0x15
mov esi, esp
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x1c], esp
push eax
call fcn.00404a80
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x16
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.WIN_ELEC_INITIALIZE_HTTPREQUEST
call fcn.004042c5
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x17
push str.TRACK_FEATURE
call fcn.004042c5
mov byte [ebp - 4], 0x13
call fcn.00406f9d
mov eax, dword [ebp - 0x14]
add esp, 0x14
cmp dword [eax - 4], 1
jle 0x410a10
push dword [eax - 0xc]
lea ecx, [ebp - 0x14]
call fcn.00404809
mov eax, dword [ebp - 0x14]
push eax
call fcn.004064a1
pop ecx
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.00401696
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, edi
call fcn.0043d229
ret