Function at 0x4291db
Capabilities:
Connect to http server
Create http request
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42d86e
mov eax, dword fs:[0]
push eax
mov eax, 0x2f24
call fcn.00414640
mov eax, dword [0x43eec0]
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, ecx
push str.CMainApp::MakeRequest
mov dword [ebp - 0x2efc], ebx
mov esi, edx
call fcn.00428d61
pop ecx
push dword [esi]
push 0x435c68
call fcn.00428c4d
push dword [esi + 4]
push 0x435c78
call fcn.00428cd7
add esp, 0x10
xor edi, edi
cmp dword [ebx + 0x100], edi
jne 0x429294
push 0x3e8
push dword [ebx + 0x120]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x429240
push edi
call fcn.004124fd
mov dword [ebp - 0x2f0c], eax
mov eax, dword [0x442eec]
cmp edx, eax
pop ecx
mov dword [ebp - 0x2f08], edx
jg 0x4292d9
mov ecx, dword [0x442ee8]
jl 0x42928c
cmp dword [ebp - 0x2f0c], ecx
jae 0x4292d9
mov dword [ebp - 0x2ef8], edi
jmp 0x4292a6
xor eax, eax
jmp 0x42987b
mov eax, dword [0x442eec]
mov ecx, dword [0x442ee8]
cmp dword [ebx + 0x100], edi
jne 0x429294
sub ecx, dword [ebp - 0x2f0c]
sbb eax, dword [ebp - 0x2f08]
imul ecx, ecx, 0x64
push ecx
mov dword [ebp - 0x2f28], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [ebp - 0x2ef8]
cmp dword [ebp - 0x2ef8], 0xa
jl 0x42929b
push edi
call fcn.004124fd
add eax, 0xa
adc edx, edi
mov dword [0x442ee8], eax
mov dword [0x442eec], edx
mov dword [esp], str.CMainApp::MakeRequest_1...
call fcn.00428d61
pop ecx
push dword [ebx + 0x120]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call fcn.00403cbe
push eax
lea ecx, [ebp - 0x2ef8]
call fcn.00402274
mov dword [ebp - 4], edi
xor ebx, ebx
call fcn.00403cbe
push eax
lea ecx, [ebp - 0x2f00]
call fcn.00402274
mov byte [ebp - 4], 1
call fcn.00403cbe
push eax
lea ecx, [ebp - 0x2f04]
call fcn.00402274
mov byte [ebp - 4], 2
call fcn.00403cbe
push eax
lea ecx, [ebp - 0x2f10]
call fcn.00402274
mov byte [ebp - 4], 3
cmp dword [0x442da8], edi
jne 0x4293de
mov ebx, dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea eax, [ebp - 0x2ef4]
push eax
push 0x49
push edi
mov dword [ebp - 0x2ef4], 0xa
call ebx
test ax, ax
jne 0x42939b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetSetOption_INTERNET_OPTION_MAX_CONNS_PER_SERVER_fails_with
call fcn.00428c4d
pop ecx
pop ecx
push 4
lea eax, [ebp - 0x2ef4]
push eax
push 0x4a
push edi
call ebx
movzx ebx, ax
cmp bx, di
jne 0x4293c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetSetOption_INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER_fails_with
call fcn.00428c4d
pop ecx
pop ecx
push edi
push edi
push edi
push edi
push str.downloader
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [0x442da8], eax
mov dword [0x442dac], edi
push str.CMainApp::MakeRequest_2...
call fcn.00428d61
mov eax, dword [0x442da8]
pop ecx
cmp eax, edi
jne 0x429402
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.InternetOpen
jmp 0x429631
mov ebx, dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea ecx, [ebp - 0x2f18]
push ecx
push 0xc
push eax
mov dword [ebp - 0x2f18], 0x400
call ebx
test ax, ax
jne 0x429438
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetSetOption_connection_INTERNET_OPTION_READ_BUFFER_SIZE_fails_with
call fcn.00428c4d
pop ecx
pop ecx
push str.CMainApp::MakeRequest_3...
call fcn.00428d61
pop ecx
push 4
lea eax, [ebp - 0x2f14]
push eax
push 2
push dword [0x442da8]
mov dword [ebp - 0x2f14], 0x7530
call ebx
movzx ebx, ax
cmp bx, di
jne 0x42947b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetSetOption_connection_INTERNET_OPTION_CONNECT_TIMEOUT_fails_with
call fcn.00428c4d
pop ecx
pop ecx
cmp dword [0x442dac], edi
jne 0x4294de
lea eax, [ebp - 0x2ef4]
push eax
call fcn.004290dc
mov eax, dword [eax]
push 1
push 0x4000100
push 3
push 0x435f8c
push 0x435f90
push 0x50
push eax
push dword [0x442da8]
call dword [sym.imp.WININET.dll_InternetConnectW]
mov ecx, dword [ebp - 0x2ef4]
add ecx, 0xfffffff0
mov dword [0x442dac], eax
call fcn.00402479
cmp dword [0x442dac], edi
jne 0x4294de
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.InternetConnect
jmp 0x429631
push str.CMainApp::MakeRequest_4...
call fcn.00428d61
mov dword [esp], 0x428dd8
push dword [0x442dac]
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
mov dword [ebp - 0x2f08], eax
cmp eax, 0xffffffff
jne 0x429511
push str.InternetSetStatusCallback_failed_with_INTERNET_INVALID_STATUS_CALLBACK
call fcn.00428d61
pop ecx
mov ebx, dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea eax, [ebp - 0x2f18]
push eax
push 0xc
push dword [0x442dac]
call ebx
test ax, ax
jne 0x429542
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetSetOption_session_INTERNET_OPTION_READ_BUFFER_SIZE_fails_with
call fcn.00428c4d
pop ecx
pop ecx
push 4
lea eax, [ebp - 0x2f14]
push eax
push 2
push dword [0x442dac]
call ebx
movzx ebx, ax
cmp bx, di
jne 0x429570
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetSetOption_session_INTERNET_OPTION_CONNECT_TIMEOUT_fails_with
call fcn.00428c4d
pop ecx
pop ecx
push str.CMainApp::MakeRequest_5...
call fcn.00428d61
pop ecx
lea eax, [ebp - 0x2ef4]
push eax
mov dword [ebp - 0x2f24], 0x4361d4
mov dword [ebp - 0x2f20], edi
call fcn.00428fdf
push eax
lea ecx, [ebp - 0x2f04]
mov byte [ebp - 4], 4
call fcn.0040213e
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2ef4]
add ecx, 0xfffffff0
call fcn.00402479
push dword [ebp - 0x2f04]
push str.CMainApp::MakeRequest_5_5..
call fcn.00428cd7
pop ecx
pop ecx
lea eax, [ebp - 0x2f28]
push eax
call fcn.00428fdf
push dword [ebp - 0x2efc]
mov eax, dword [eax]
push 0x84080300
lea ecx, [ebp - 0x2f24]
push ecx
push edi
push edi
push eax
push str.POST
push dword [0x442dac]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov ecx, dword [ebp - 0x2f28]
add ecx, 0xfffffff0
mov dword [ebp - 0x2ef4], eax
call fcn.00402479
push str.CMainApp::MakeRequest_6...
call fcn.00428d61
pop ecx
cmp dword [ebp - 0x2ef4], edi
jne 0x429656
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.HttpOpenRequest_failed
mov esi, eax
call fcn.00428d61
pop ecx
push esi
push str.Error_code:
call fcn.00428c4d
push str.Request_error
call fcn.00428d61
add esp, 0xc
jmp 0x42981a
push 0x436288
lea ecx, [ebp - 0x2ef8]
call fcn.00402697
push dword [esi]
lea ebx, [ebp - 0x2ef8]
push 0x43628c
call fcn.0040204e
pop ecx
pop ecx
lea ebx, [esi + 4]
push ebx
lea ecx, [ebp - 0x2ef8]
call fcn.00401718
push str.CMainApp::MakeRequest_7...
call fcn.00428d61
pop ecx
push dword [esi]
push str.Action:
call fcn.00428c4d
push dword [ebx]
push str.Param:
call fcn.00428cd7
mov ebx, 0x2710
push ebx
lea eax, [ebp - 0x2ef0]
push edi
push eax
call fcn.00413fa0
mov ecx, dword [ebp - 0x2ef8]
mov eax, dword [ecx - 0xc]
add esp, 0x1c
push edi
push edi
push ebx
lea edx, [ebp - 0x2ef0]
push edx
push eax
push ecx
push edi
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0x4362ec
lea ecx, [ebp - 0x2f10]
mov ebx, eax
mov dword [ebp - 0x2f1c], 0x3e8
call fcn.00402697
push ebx
push str.Entering_HttpSendRequest__mimeheaderlen
call fcn.00428c4d
lea eax, [ebp - 0x2f00]
push str.PRAGMA:_no_cache
push eax
call fcn.0040203b
mov ecx, dword [ebp - 0x2f00]
mov eax, dword [ecx - 0xc]
add esp, 0x10
push ebx
lea edx, [ebp - 0x2ef0]
push edx
push eax
push ecx
push dword [ebp - 0x2ef4]
call dword [sym.imp.WININET.dll_HttpSendRequestW]
movzx ebx, ax
cmp bx, di
jne 0x4297b0
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push str.HttpSendRequest_failed
mov dword [ebp - 0x2efc], eax
call fcn.00428d61
pop ecx
push dword [ebp - 0x2efc]
push 0x43646c
call fcn.00428c4d
pop ecx
pop ecx
push edi
lea eax, [ebp - 0x2f1c]
push eax
lea eax, [ebp - 0x7e0]
push eax
push 0x16
push dword [ebp - 0x2ef4]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x4297a1
call esi
push eax
push str.HttpQueryInfo_failed_with
call fcn.00428c4d
pop ecx
jmp 0x4297ad
lea eax, [ebp - 0x7e0]
push eax
call fcn.00428d61
pop ecx
jmp 0x42981a
push str.HttpSendRequest_finished__starting_reading_respond
call fcn.00428d61
pop ecx
cmp dword [esi + 0x10], edi
jne 0x4297c9
lea eax, [ebp - 0x2f30]
mov dword [esi + 0x10], eax
push dword [esi + 0x10]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x2ef4]
push dword [ebp - 0x2efc]
call fcn.00428df6
movzx ebx, ax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
push str.Response_received:
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edi
call fcn.00428d61
pop ecx
push dword [esi + 0xc]
push str.....result_length
call fcn.00428c4d
movsx eax, bx
push eax
push str.....result_code
call fcn.00428c4d
add esp, 0x10
mov eax, dword [0x442dac]
cmp eax, edi
je 0x429834
cmp dword [ebp - 0x2f08], 0xffffffff
je 0x429834
push edi
push eax
call dword [sym.imp.WININET.dll_InternetSetStatusCallbackW]
push dword [ebp - 0x2ef4]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 0x2f10]
add ecx, 0xfffffff0
call fcn.00402479
mov ecx, dword [ebp - 0x2f04]
add ecx, 0xfffffff0
call fcn.00402479
mov ecx, dword [ebp - 0x2f00]
add ecx, 0xfffffff0
call fcn.00402479
mov ecx, dword [ebp - 0x2ef8]
add ecx, 0xfffffff0
call fcn.00402479
movsx eax, bx
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.00411d1d
leave
ret