Function at 0x4082c5
Capabilities:
Connect to http server
Create http request
Create thread
Read data from internet
Receive data
Send data
Send http request
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x459854
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x23f4
call fcn.0043ddc0
mov eax, dword [0x47d9a0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov edi, ecx
lea ecx, [ebp - 0x2404]
mov dword [ebp - 0x23a8], eax
call fcn.0041d5ca
xor ebx, ebx
push 0xfce
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x23a2]
push ebx
mov byte [ebp - 4], 1
push eax
mov byte [ebp - 0x23a9], bl
mov word [ebp - 0x23a4], bx
call fcn.00439d90
add esp, 0xc
mov esi, 0x3e6
push esi
lea eax, [ebp - 0x7ea]
push ebx
push eax
mov word [ebp - 0x7ec], bx
call fcn.00439d90
add esp, 0xc
push esi
lea eax, [ebp - 0x402]
push ebx
push eax
mov word [ebp - 0x404], bx
call fcn.00439d90
mov eax, 0x1f4
add esp, 0xc
cmp dword [0x48227c], 1
mov dword [ebp - 0x23f4], eax
mov dword [ebp - 0x23e4], eax
mov dword [ebp - 0x23f0], 0xfd0
jne 0x4083b3
push str.User_once_clicked_on_Cancel_IE_proxy_dialog
call fcn.004074db
or dword [ebp - 4], 0xffffffff
pop ecx
call fcn.0041d5e0
mov eax, 0x197
jmp 0x408bed
cmp dword [edi + 0xa0], ebx
jne 0x4083f9
push ebx
push ebx
push ebx
push ebx
push dword [0x48239c]
call dword [sym.imp.WININET.dll_InternetOpenW]
cmp eax, ebx
mov dword [edi + 0xa0], eax
jne 0x4083f9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Internet_open_failed_:__d
call fcn.004074db
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.0041d5e0
push 6
pop eax
jmp 0x408bed
push 0x462fac
lea ecx, [ebp - 0x23b0]
call fcn.00402eee
lea esi, [ebp - 0x23b0]
mov byte [ebp - 4], 2
call fcn.0040994d
test al, 2
je 0x408453
push 8
lea eax, [ebp - 0x23d0]
push ebx
push eax
call fcn.00439d90
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
add esp, 0xc
push 8
lea eax, [ebp - 0x23d0]
push eax
push 0x32
push dword [edi + 0xa0]
mov dword [ebp - 0x23d0], 1
call esi
jmp 0x408459
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
movzx ecx, word [edi + 0x7c]
mov eax, dword [edi]
push ebx
push ebx
push 3
push dword [0x4823b4]
push dword [0x4823b0]
push ecx
push eax
push dword [edi + 0xa0]
call dword [sym.imp.WININET.dll_InternetConnectW]
cmp eax, ebx
mov dword [edi + 0xa4], eax
jne 0x4084a5
push str.Error_in_establishing_connection_with_server
call fcn.004074db
pop ecx
mov ecx, dword [ebp - 0x23b0]
add ecx, 0xfffffff0
call fcn.004010ea
jmp 0x4083e8
push 4
lea eax, [edi + 0xac]
push eax
push 6
push dword [edi + 0xa0]
call esi
push 4
lea eax, [edi + 0xac]
push eax
push 2
push dword [edi + 0xa0]
call esi
cmp dword [edi + 0x7c], 0x1bb
mov eax, dword [edi + 0x74]
push ebx
jne 0x4084df
push 0x84c01000
jmp 0x4084e4
push 0x4000000
push ebx
push ebx
push 0x466e84
push eax
push 0x466e98
push dword [edi + 0xa4]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
cmp eax, ebx
mov dword [edi + 0xa8], eax
jne 0x408511
push str.Error_in_accessing_desired_url
jmp 0x40848c
push 4
pop ebx
push ebx
lea eax, [ebp - 0x23e0]
push eax
push 0x1f
push dword [edi + 0xa8]
mov dword [ebp - 0x23e0], 0x80
call esi
push ebx
lea eax, [ebp - 0x23e8]
push eax
push 0x1f
push dword [edi + 0xa8]
mov dword [ebp - 0x23e8], 0x2000
call esi
push ebx
lea eax, [ebp - 0x23ec]
push eax
push 0x1f
push dword [edi + 0xa8]
mov dword [ebp - 0x23ec], 0x1000
call esi
push ebx
lea eax, [ebp - 0x23dc]
push eax
push 0x1f
push dword [edi + 0xa8]
mov dword [ebp - 0x23dc], 0x100
call esi
call fcn.0041bb36
push eax
lea ecx, [ebp - 0x23b4]
call fcn.00405f08
push 0x466ee8
lea ecx, [ebp - 0x23b4]
mov byte [ebp - 4], 3
call fcn.00403458
mov ecx, dword [ebp - 0x23b4]
mov eax, dword [ecx - 0xc]
push 1
push eax
push ecx
push dword [edi + 0xa8]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
mov eax, dword [edi + 0x70]
sub eax, 0x10
push eax
call fcn.00406082
lea ebx, [eax + 0x10]
pop ecx
mov dword [ebp - 0x23d8], ebx
xor esi, esi
push esi
push esi
push edi
push 0x40a70d
push esi
mov byte [ebp - 4], 4
push esi
mov dword [ebp - 0x23c8], esi
mov dword [ebp - 0x23f8], 4
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp dword [ebx - 4], 1
mov dword [ebp - 0x23bc], eax
mov eax, dword [ebx - 0xc]
mov dword [ebp - 0x23c4], eax
jle 0x408625
push eax
lea ecx, [ebp - 0x23d8]
call fcn.004061d5
mov ebx, dword [ebp - 0x23d8]
push dword [ebp - 0x23c4]
push ebx
push esi
push esi
push dword [edi + 0xa8]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
lea eax, [ebp - 0x23d4]
push eax
push dword [ebp - 0x23bc]
je 0x408b3c
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
push dword [ebp - 0x23d4]
push dword [ebp - 0x23bc]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push esi
lea eax, [ebp - 0x23f0]
push eax
lea eax, [ebp - 0x23a4]
push eax
push 0x16
push dword [edi + 0xa8]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
push esi
lea eax, [ebp - 0x23f8]
push eax
lea eax, [ebp - 0x23b8]
push eax
push 0x20000013
push dword [edi + 0xa8]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x4086d5
push dword [ebp - 0x23b8]
push str.Error_in_accessing_result_page_Status_code___d
call fcn.004074db
pop ecx
pop ecx
lea ecx, [ebx - 0x10]
call fcn.004010ea
mov ecx, dword [ebp - 0x23b4]
add ecx, 0xfffffff0
call fcn.004010ea
jmp 0x408492
mov ecx, dword [ebp - 0x23a8]
push 0x462fac
call fcn.00403458
mov esi, dword [ebp - 0x23a8]
mov eax, dword [ebp - 0x23b8]
call fcn.00409545
mov eax, dword [ebp - 0x23b8]
add eax, 0xffffff38
cmp eax, 0x63
ja 0x4087fa
xor esi, esi
cmp dword [0x4823e0], esi
jne 0x4087fa
push 0x7fe
lea eax, [ebp - 0xfea]
push esi
push eax
mov dword [ebp - 0x23c4], 0x400
mov word [ebp - 0xfec], si
call fcn.00439d90
add esp, 0xc
lea eax, [ebp - 0x23c4]
push eax
lea eax, [ebp - 0xfec]
push eax
push 0x26
push dword [edi + 0xa0]
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
cmp eax, esi
jne 0x408775
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Query_for_InternetProxyOption_Failed_:__d
call fcn.004074db
pop ecx
jmp 0x4087f9
push 3
pop esi
cmp dword [ebp - 0xfec], esi
jne 0x4087de
push str.InternetQuery_on_Preconfig_gives_Proxy_Access_Type
call fcn.004074db
pop ecx
push dword [ebp - 0xfe8]
lea ecx, [ebp - 0x23c0]
mov dword [0x4823e0], esi
call fcn.00402eee
push 1
push 0x4823d8
push 0x4823d0
push ecx
mov byte [ebp - 4], 5
lea eax, [ebp - 0x23c0]
mov dword [ebp - 0x23cc], esp
mov ecx, esp
push eax
call fcn.00403172
call fcn.0040a483
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x23c0]
add ecx, 0xfffffff0
call fcn.004010ea
xor esi, esi
inc esi
cmp dword [ebp - 0xfec], esi
jne 0x4087fa
push str.InternetQuery_on_Preconfig_gives_Direct_Access_Type
call fcn.004074db
mov dword [0x4823e0], esi
pop ecx
mov esi, 0x197
cmp dword [ebp - 0x23b8], esi
jne 0x40888e
cmp dword [0x482280], 1
jne 0x408853
push str.Proxy_problem.
call fcn.004074db
pop ecx
lea ecx, [ebx - 0x10]
call fcn.004010ea
mov ecx, dword [ebp - 0x23b4]
add ecx, 0xfffffff0
call fcn.004010ea
mov ecx, dword [ebp - 0x23b0]
add ecx, 0xfffffff0
call fcn.004010ea
or dword [ebp - 4], 0xffffffff
call fcn.0041d5e0
mov eax, esi
jmp 0x408bed
cmp dword [0x4823ec], 1
jne 0x40888e
push str.Silent_query
call fcn.00407571
pop ecx
push ecx
mov dword [ebp - 0x23cc], esp
mov ecx, esp
push dword [ebp - 0x23a8]
call fcn.00403172
push dword [ebp - 0x23b8]
call fcn.0040afe7
mov esi, dword [ebp - 0x23b8]
jmp 0x40881f
cmp byte [ebp - 0x23a9], 0
je 0x408946
cmp dword [ebp - 0x23b8], esi
je 0x408957
lea eax, [ebp - 0x23f4]
push eax
lea eax, [ebp - 0x7ec]
push eax
push 0x2b
push dword [edi + 0xa8]
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x23bc], eax
lea eax, [ebp - 0x23e4]
push eax
lea eax, [ebp - 0x404]
push eax
push 0x2c
push dword [edi + 0xa8]
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
mov dword [ebp - 0x23cc], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x23c4], eax
lea eax, [ebp - 0x7ec]
push eax
mov ecx, 0x4823b0
call fcn.00403458
lea eax, [ebp - 0x404]
push eax
mov ecx, 0x4823b4
call fcn.00403458
call fcn.004099d6
push dword [ebp - 0x23c4]
push dword [ebp - 0x23bc]
push dword [ebp - 0x23cc]
push esi
push str.URes__d_PRes__d__ER1_:__d_ER2_:__d
call fcn.004074db
add esp, 0x14
mov eax, dword [ebp - 0x23b8]
cmp eax, 0x197
jne 0x4089fa
push 0
push 7
push 0x2eee
push dword [edi + 0xa8]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
cmp eax, 0x2f00
jne 0x4089b1
push str.IE:User_press_Ok
mov byte [ebp - 0x23a9], 1
call fcn.004074db
pop ecx
lea ecx, [ebx - 0x10]
call fcn.004010ea
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x23b4]
add ecx, 0xfffffff0
call fcn.004010ea
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
jmp 0x408511
push str.IE:User_press_cancel
mov dword [0x48227c], 1
call fcn.004074db
pop ecx
lea ecx, [ebx - 0x10]
call fcn.004010ea
mov ecx, dword [ebp - 0x23b4]
add ecx, 0xfffffff0
call fcn.004010ea
mov ecx, dword [ebp - 0x23b0]
add ecx, 0xfffffff0
call fcn.004010ea
or dword [ebp - 4], 0xffffffff
call fcn.0041d5e0
push 8
jmp 0x4083f3
add eax, 0xffffff38
cmp eax, 0x64
ja 0x4086ba
lea eax, [ebp - 0x23a8]
push eax
call fcn.00405d5e
mov byte [ebp - 4], 6
lea eax, [ebp - 0x23c8]
push eax
push 0x3e8
lea eax, [ebp - 0x13d4]
push eax
push dword [edi + 0xa8]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x408a51
mov eax, dword [ebp - 0x23c8]
test eax, eax
jne 0x408ab1
lea ecx, [edi + 0xb0]
push eax
call fcn.0040bd85
push dword [edi + 0xa0]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [edi + 0xa4]
call esi
push dword [edi + 0xa8]
call esi
mov ecx, dword [ebp - 0x23a8]
add ecx, 0xfffffff0
call fcn.004010ea
lea ecx, [ebx - 0x10]
call fcn.004010ea
mov ecx, dword [ebp - 0x23b4]
add ecx, 0xfffffff0
call fcn.004010ea
mov ecx, dword [ebp - 0x23b0]
add ecx, 0xfffffff0
call fcn.004010ea
or dword [ebp - 4], 0xffffffff
call fcn.0041d5e0
push 7
jmp 0x4083f3
inc eax
push eax
lea ecx, [ebp - 0x23a8]
call fcn.00406032
push dword [ebp - 0x23c8]
lea ecx, [ebp - 0x13d4]
push ecx
push eax
call fcn.00439c60
mov eax, dword [ebp - 0x23c8]
add esp, 0xc
cmp eax, 0xffffffff
jne 0x408af8
cmp dword [ebp - 0x23a8], 0
jne 0x408aec
xor eax, eax
jmp 0x408af8
push dword [ebp - 0x23a8]
call fcn.00438100
pop ecx
push eax
lea ecx, [ebp - 0x23a8]
call fcn.0040605c
push dword [ebp - 0x23a8]
lea ecx, [ebp - 0x23cc]
call fcn.00402f32
lea ecx, [edi + 0xb0]
push eax
mov byte [ebp - 4], 7
call fcn.004031dd
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x23cc]
add ecx, 0xfffffff0
call fcn.004010ea
jmp 0x408a18
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
push dword [ebp - 0x23d4]
push dword [ebp - 0x23bc]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [edi + 0xa0]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x23c0], eax
call esi
push dword [edi + 0xa4]
call esi
push dword [edi + 0xa8]
call esi
mov ecx, dword [ebp - 0x23a8]
push 0x462fac
call fcn.00403458
push dword [ebp - 0x23c0]
mov ecx, dword [ebp - 0x23a8]
call fcn.0040979d
mov ecx, dword [ebp - 0x23a8]
push 0
call fcn.004032a1
push eax
push dword [edi]
push dword [ebp - 0x23c0]
push str.Send_Req___Error_accessing_result_:__d_Server:_s__Error:_s
call fcn.004074db
add esp, 0x10
jmp 0x4086ba
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.00436e5a
leave
ret 4