Function at 0x408f30
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42eadd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x57c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 4], 5
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
push str.Sending_download_message:__s_ID:_s_n
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 0xc
mov byte [ebp - 4], 6
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
lea ecx, [ebp - 0x40]
call sub.MFC42.DLL_CString::CString_2
mov dword [ebp - 0x52c], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::CString_2
mov dword [ebp - 0x530], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x38]
call fcn.0040c370
mov dword [ebp - 0x534], eax
mov byte [ebp - 4], 9
mov dword [ebp - 0x44], 0x4328d4
push 0
lea ecx, [ebp - 0x44]
call fcn.00404800
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x84]
call sub.MFC42.DLL_CString::CString_2
mov dword [ebp - 0x538], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString_2
mov dword [ebp - 0x53c], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x7c]
call fcn.0040c370
mov dword [ebp - 0x540], eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x88], 0x4328d4
push 0
lea ecx, [ebp - 0x88]
call fcn.00404800
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x50]
call sub.MFC42.DLL_CString::CString_2
mov dword [ebp - 0x544], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x8c]
call sub.MFC42.DLL_CString::CString_2
mov dword [ebp - 0x548], eax
mov byte [ebp - 4], 0x10
push 0
push 0
push 0
push str.REQUEST
lea ecx, [ebp - 0x44]
call fcn.00407200
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
push eax
push str.DEVICEID
mov ecx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x44]
call fcn.00406290
push str.DOWNLOAD
push str.QUERY
mov edx, dword [ebp - 0x20]
push edx
lea ecx, [ebp - 0x44]
call fcn.00406290
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
push ecx
push 0x43b58c
mov edx, dword [ebp - 0x20]
push edx
lea ecx, [ebp - 0x44]
call fcn.00406290
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
push ecx
push 0x43b820
mov edx, dword [ebp - 0x20]
push edx
lea ecx, [ebp - 0x44]
call fcn.00406290
mov eax, 1
test eax, eax
je 0x4090f5
mov dword [ebp - 0x54c], 0
jmp 0x409158
lea ecx, [ebp - 0x494]
push ecx
lea ecx, [ebp - 0x44]
call fcn.0040aaa0
mov dword [ebp - 0x550], eax
mov edx, dword [ebp - 0x4d0]
or edx, 1
mov dword [ebp - 0x4d0], edx
mov eax, dword [ebp - 0x550]
mov dword [ebp - 0x4e0], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x4e0]
mov edx, dword [ecx]
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e4]
push eax
call fcn.00409930
add esp, 4
mov dword [ebp - 0x554], eax
mov ecx, dword [ebp - 0x554]
mov dword [ebp - 0x54c], ecx
mov dword [ebp - 4], 0x10
mov edx, dword [ebp - 0x4d0]
and edx, 1
test edx, edx
je 0x40917e
and dword [ebp - 0x4d0], 0xfffffffe
lea ecx, [ebp - 0x494]
call sub.MFC42.DLL_CString::CString
push str.4061
push str.OCS_NG_Windows_Download
push str._s__s
lea eax, [ebp - 0x8c]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x558]
mov dword [ebp - 0x49c], ecx
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x49c], 0
je 0x4091f7
push 0
push 0
push 0
mov edx, dword [ebp + 0x1c]
push edx
push 1
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0x49c]
call sub.MFC42.DLL_CInternetSession::CInternetSession
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x55c]
mov dword [ebp - 0x560], ecx
jmp 0x409201
mov dword [ebp - 0x560], 0
mov edx, dword [ebp - 0x560]
mov dword [ebp - 0x498], edx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x498]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp + 0x20]
push edx
mov ax, word [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp - 0x4c]
call sub.MFC42.DLL_CInternetSession::GetHttpConnection
mov dword [ebp - 0x564], eax
mov edx, dword [ebp - 0x564]
mov dword [ebp - 0x48], edx
lea ecx, [ebp - 0x50]
call sub.MFC42.DLL_CString::Empty
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x48]
push edx
lea eax, [ebp - 0x4a0]
push eax
call fcn.00409940
add esp, 0x10
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x56c]
push edx
lea ecx, [ebp - 0x50]
call sub.MFC42.DLL_CString::operator
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x4a0]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x4e8], eax
push 0x4408d0
mov ecx, dword [ebp - 0x4e8]
push ecx
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
neg eax
sbb eax, eax
neg eax
and eax, 0xff
test eax, eax
jne 0x4092d3
cmp dword [ebp - 0x54], 0xc8
je 0x4095a3
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x48]
mov eax, dword [edx]
call dword [eax + 0x14]
cmp dword [ebp - 0x48], 0
je 0x409333
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x4a8]
mov dword [ebp - 0x4a4], edx
cmp dword [ebp - 0x4a4], 0
je 0x409329
push 1
mov ecx, dword [ebp - 0x4a4]
mov eax, dword [ebp - 0x4a4]
mov edx, dword [eax]
call dword [edx + 4]
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x570]
mov dword [ebp - 0x574], eax
jmp 0x409333
mov dword [ebp - 0x574], 0
cmp dword [ebp - 0x4c], 0
je 0x409388
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4b0], ecx
mov edx, dword [ebp - 0x4b0]
mov dword [ebp - 0x4ac], edx
cmp dword [ebp - 0x4ac], 0
je 0x40937e
push 1
mov ecx, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4ac]
mov edx, dword [eax]
call dword [edx + 4]
mov dword [ebp - 0x578], eax
mov eax, dword [ebp - 0x578]
mov dword [ebp - 0x57c], eax
jmp 0x409388
mov dword [ebp - 0x57c], 0
mov ecx, dword [ebp - 0x50]
push ecx
push str.ERROR:_download_message_was_not_successfully_sent____s__received_n
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 8
mov dword [ebp - 0x4b4], 1
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x8c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x50]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x88], 0x4328d4
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x7c]
mov dword [ebp - 0x4f8], edx
mov eax, dword [ebp - 0x4f8]
mov dword [eax], 0x4328d8
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x4f8]
cmp dword [ecx + 4], 0
je 0x40945e
mov edx, dword [ebp - 0x4f8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x4f8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x4f0], edx
jmp 0x409425
mov eax, dword [ebp - 0x4f0]
add eax, 0x20
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f4]
mov edx, dword [ebp - 0x4f4]
sub edx, 1
mov dword [ebp - 0x4f4], edx
test ecx, ecx
je 0x409440
jmp 0x409416
mov eax, dword [ebp - 0x4f8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
push edx
call fcn.0042da90
add esp, 4
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x4f8]
mov dword [eax], 0x4328ac
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x84]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 6
mov dword [ebp - 0x44], 0x4328d4
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x508], ecx
mov edx, dword [ebp - 0x508]
mov dword [edx], 0x4328d8
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x508]
cmp dword [eax + 4], 0
je 0x409525
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x500], ecx
jmp 0x4094ec
mov edx, dword [ebp - 0x500]
add edx, 0x20
mov dword [ebp - 0x500], edx
mov eax, dword [ebp - 0x504]
mov ecx, dword [ebp - 0x504]
sub ecx, 1
mov dword [ebp - 0x504], ecx
test eax, eax
je 0x409507
jmp 0x4094dd
mov edx, dword [ebp - 0x508]
mov eax, dword [edx + 4]
mov dword [ebp - 0x4fc], eax
mov ecx, dword [ebp - 0x4fc]
push ecx
call fcn.0042da90
add esp, 4
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x508]
mov dword [edx], 0x4328ac
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 4
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 3
lea ecx, [ebp + 0xc]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x10]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x14]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x4b4]
jmp 0x409913
mov eax, dword [ebp + 8]
push eax
push str.Message___s__successfully_sent_n
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 8
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x48]
mov eax, dword [edx]
call dword [eax + 0x14]
cmp dword [ebp - 0x48], 0
je 0x409615
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4bc]
mov dword [ebp - 0x4b8], edx
cmp dword [ebp - 0x4b8], 0
je 0x40960b
push 1
mov ecx, dword [ebp - 0x4b8]
mov eax, dword [ebp - 0x4b8]
mov edx, dword [eax]
call dword [edx + 4]
mov dword [ebp - 0x580], eax
mov eax, dword [ebp - 0x580]
mov dword [ebp - 0x584], eax
jmp 0x409615
mov dword [ebp - 0x584], 0
cmp dword [ebp - 0x4c], 0
je 0x40966a
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c4], ecx
mov edx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c0], edx
cmp dword [ebp - 0x4c0], 0
je 0x409660
push 1
mov ecx, dword [ebp - 0x4c0]
mov eax, dword [ebp - 0x4c0]
mov edx, dword [eax]
call dword [edx + 4]
mov dword [ebp - 0x588], eax
mov eax, dword [ebp - 0x588]
mov dword [ebp - 0x58c], eax
jmp 0x40966a
mov dword [ebp - 0x58c], 0
mov dword [ebp - 0x4c8], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x8c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x50]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x88], 0x4328d4
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
mov dword [edx], 0x4328d8
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x518]
cmp dword [eax + 4], 0
je 0x40972e
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x510], ecx
jmp 0x4096f5
mov edx, dword [ebp - 0x510]
add edx, 0x20
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [ebp - 0x514]
sub ecx, 1
mov dword [ebp - 0x514], ecx
test eax, eax
je 0x409710
jmp 0x4096e6
mov edx, dword [ebp - 0x518]
mov eax, dword [edx + 4]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
push ecx
call fcn.0042da90
add esp, 4
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x518]
mov dword [edx], 0x4328ac
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x84]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 6
mov dword [ebp - 0x44], 0x4328d4
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x38]
mov dword [ebp - 0x528], eax
mov ecx, dword [ebp - 0x528]
mov dword [ecx], 0x4328d8
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x528]
cmp dword [edx + 4], 0
je 0x4097f5
mov eax, dword [ebp - 0x528]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x524], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [edx + 4]
mov dword [ebp - 0x520], eax
jmp 0x4097bc
mov ecx, dword [ebp - 0x520]
add ecx, 0x20
mov dword [ebp - 0x520], ecx
mov edx, dword [ebp - 0x524]
mov eax, dword [ebp - 0x524]
sub eax, 1
mov dword [ebp - 0x524], eax
test edx, edx
je 0x4097d7
jmp 0x4097ad
mov ecx, dword [ebp - 0x528]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x51c], edx
mov eax, dword [ebp - 0x51c]
push eax
call fcn.0042da90
add esp, 4
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x528]
mov dword [ecx], 0x4328ac
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 4
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 3
lea ecx, [ebp + 0xc]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x10]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x14]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x4c8]
jmp 0x409913
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret