Function at 0x46ee50
Capabilities:
Check http status code
Receive http response
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c96a1
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
mov eax, dword [0x5142b0]
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 eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x28]
mov esi, ecx
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp + 0x3c]
mov dword [ebp - 0x58], edx
mov edx, dword [0x513fec]
mov dword [ebp - 0x88], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x7c], ecx
mov ecx, 0x513fec
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0xb0], edi
call eax
add eax, 0x10
mov dword [ebp - 0x8c], eax
xor eax, eax
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xb4], eax
call fcn.0046d5a0
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 1
cmp ecx, dword [ebp - 0x7c]
je 0x46ef31
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax]
push eax
push ecx
lea edx, [ebp - 0x68]
push edx
lea ecx, [ebp - 0xec]
call fcn.0046d060
mov eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0xec]
call fcn.0046d2e0
push str._________Inside_ResumeGetRequestEx_Method___________n
call fcn.00423960
or eax, 0xffffffff
add esp, 4
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
xor eax, eax
push edi
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x84], eax
call fcn.00401e50
mov eax, dword [ebp - 0x70]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x68], esp
mov dword [ebp - 0x54], esp
push eax
mov byte [ebp - 4], 2
call fcn.00404fb0
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x5c]
add esp, 4
add eax, 0x10
push edx
mov dword [ecx], eax
call fcn.00466100
add esp, 8
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.00404900
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46efd4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x70]
cmp dword [eax - 4], 1
jle 0x46efec
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x70]
call fcn.00402490
mov eax, dword [ebp - 0x70]
push eax
push str.ResumeGetRequestEx_:_URL_to_Get_____S__n
call fcn.00423960
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp - 0x58]
add esp, 8
push edx
mov edx, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x64]
push ecx
mov ecx, dword [ebp - 0x6c]
push edi
push edx
mov edx, dword [ebp - 0x90]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp - 0x94]
push edx
mov edx, dword [ebp + 8]
push eax
push ebx
push ecx
push edx
mov ecx, esi
call fcn.00466c50
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, esi
call fcn.0046dde0
mov dword [ebp - 0x50], eax
test eax, eax
je 0x46f0df
cmp eax, 0x216
je 0x46f0df
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x88]
push ecx
push edx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0xac]
push ecx
mov ecx, esi
call fcn.0046c7d0
push str._________End_Of_ResumeGetRequestEx_Method___________n
call fcn.00423ad0
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
or ecx, 0xffffffff
lea edx, [eax + 0xc]
mov byte [ebp - 4], 1
add esp, 4
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x46f09f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0
call fcn.0046d4c0
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46f0d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x50]
jmp 0x46ff30
cmp dword [0x515e10], 0
je 0x46f156
mov ecx, dword [0x515e08]
push ecx
lea ecx, [ebp - 0x5c]
call fcn.00407450
mov dword [ebp - 0x54], eax
mov eax, dword [eax]
cmp dword [eax - 4], 1
mov byte [ebp - 4], 4
jle 0x46f112
mov edx, dword [eax - 0xc]
mov ecx, dword [ebp - 0x54]
push edx
call fcn.00402490
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
push ebx
push eax
call fcn.0049200f
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x5c]
sete bl
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46f149
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
jne 0x46f156
mov byte [esi + 0x9f], 1
jmp 0x46f15d
mov byte [esi + 0x9f], 0
movzx ecx, byte [esi + 0x9f]
push ecx
push str.isdownloadServerRequest__d_n
call fcn.00423db0
add esp, 8
cmp byte [esi + 0x9f], 0
je 0x46f3c1
push 9
mov ebx, 0xf
push str.File_Name
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.00410630
mov edx, dword [ebp - 0xe8]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 5
mov dword [ebp - 0x54], edx
call fcn.00466090
mov edx, dword [ebp - 0x54]
cmp dword [eax], edx
mov byte [ebp - 4], 2
setne byte [ebp - 0x75]
cmp dword [ebp - 0x18], 0x10
jb 0x46f1e0
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0048ed56
add esp, 4
cmp byte [ebp - 0x75], 0
je 0x46f38c
push 9
xor edi, edi
push str.File_Name
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
call fcn.00410630
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 6
call fcn.0046d6d0
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], edi
mov byte [ebp - 0x48], 0
call fcn.004119f0
cmp dword [ebp - 0x34], 0x10
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 7
jae 0x46f23e
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x4c]
call fcn.004012c0
cmp dword [ebp - 0x34], 0x10
jb 0x46f259
mov edx, dword [ebp - 0x48]
push edx
call fcn.0048ed56
add esp, 4
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], edi
mov byte [ebp - 0x48], 0
cmp dword [ebp - 0x18], 0x10
mov byte [ebp - 4], 0xa
jb 0x46f279
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0048ed56
add esp, 4
mov eax, dword [ebp - 0x4c]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x68], esp
mov edi, esp
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.00410850
lea ecx, [ebp - 0x54]
add esp, 4
add eax, 0x10
push ecx
mov dword [edi], eax
call fcn.004663b0
add esp, 8
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xb
call fcn.0040fa30
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x46f2dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4c]
mov edi, 1
cmp dword [eax - 4], edi
jle 0x46f2f9
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.004014b0
mov eax, dword [ebp - 0x4c]
push eax
push str.file_path_is__s_n
call fcn.00423db0
mov eax, dword [ebp - 0x4c]
add esp, 8
cmp dword [eax - 4], edi
jle 0x46f31e
mov edx, dword [eax - 0xc]
push edx
lea ecx, [ebp - 0x4c]
call fcn.004014b0
mov eax, dword [ebp - 0x4c]
push ecx
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.004012c0
mov eax, dword [esi + 0x26]
push ecx
sub eax, 0x10
mov dword [ebp - 0x54], esp
mov edi, esp
push eax
mov byte [ebp - 4], 0xc
call fcn.00410850
add eax, 0x10
mov dword [edi], eax
mov eax, dword [ebp - 0x58]
mov ecx, esp
mov dword [ebp - 0x5c], esp
push eax
mov byte [ebp - 4], 0xd
call fcn.00401e50
lea ecx, [esi + 0x2a]
mov byte [ebp - 4], 0xa
call fcn.0046c970
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46f406
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x46f406
push ecx
mov ecx, esp
mov dword [ebp - 0x68], esp
push edi
call fcn.00466910
mov eax, dword [esi + 0x26]
push ecx
sub eax, 0x10
mov dword [ebp - 0x54], esp
mov edi, esp
push eax
mov byte [ebp - 4], 0xe
call fcn.00410850
add eax, 0x10
mov dword [edi], eax
mov edx, dword [ebp - 0x58]
mov ecx, esp
mov dword [ebp - 0x5c], esp
mov byte [ebp - 4], bl
push edx
jmp 0x46f3f5
push ecx
mov ecx, esp
mov dword [ebp - 0x68], esp
push edi
call fcn.00466910
mov eax, dword [esi + 0x26]
push ecx
sub eax, 0x10
mov dword [ebp - 0x54], esp
mov edi, esp
push eax
mov byte [ebp - 4], 0x10
call fcn.00410850
add eax, 0x10
mov dword [edi], eax
mov eax, dword [ebp - 0x58]
mov ecx, esp
mov dword [ebp - 0x5c], esp
mov byte [ebp - 4], 0x11
push eax
call fcn.00401e50
lea ecx, [esi + 0x2a]
mov byte [ebp - 4], 2
call fcn.0046c970
mov ecx, dword [esi + 0x5e]
mov edx, dword [esi + 0x62]
push 0x190
push 1
mov dword [esi + 0x97], ecx
mov dword [esi + 0x9b], edx
call fcn.00491e51
add esp, 8
cmp dword [esi + 0x7f], 1
mov edi, eax
jne 0x46f465
mov eax, dword [esi + 0x9b]
mov ecx, dword [esi + 0x97]
push eax
push ecx
push str.Start_Range:__llu__n
call fcn.00423db0
mov edx, dword [esi + 0x9b]
mov eax, dword [esi + 0x97]
push edx
push eax
push str.Range:_bytes_llu_
push edi
call fcn.00463e60
add esp, 0x1c
jmp 0x46f483
mov ecx, dword [esi + 0x93]
mov edx, dword [esi + 0x6a]
mov eax, dword [esi + 0x66]
dec ecx
push ecx
push edx
push eax
push str.Range:_bytes_llu__lu
push edi
call fcn.00463e60
add esp, 0x14
cmp dword [esi + 0x7f], 0
jne 0x46f4d0
mov eax, dword [esi + 0x93]
xor ecx, ecx
cmp dword [esi + 0x5e], eax
jne 0x46f4c2
cmp dword [esi + 0x62], ecx
jne 0x46f4c2
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x88]
push ecx
push edx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0xac]
push ecx
mov ecx, esi
call fcn.0046c7d0
push str._________End_Of_ResumeGetRequestEx_Method__________Full_File_already_exist_n
jmp 0x46f074
push edi
push str.ResumeGetRequestEx:_Content_Range_Header_message:__S_n
call fcn.00423ad0
add esp, 8
push edi
push str.Header_message:__ws__n
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0x9c], edi
call fcn.00423db0
add esp, 8
lea ecx, [ebp - 0xac]
call fcn.00464100
mov eax, dword [ebp + 0x34]
push 0
lea ecx, [ebp - 0xec]
push ecx
mov ecx, dword [ebp - 0x88]
lea edx, [ebp - 0xac]
push edx
mov edx, dword [ebp - 0x58]
push 1
push eax
mov eax, dword [ebp - 0xb0]
push ecx
mov ecx, dword [ebp - 0x60]
push edx
mov edx, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0x90]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x94]
push edx
mov edx, dword [ebp + 8]
push eax
push ecx
push edx
call fcn.00469e40
mov ebx, eax
push ebx
push str.ResumeGetRequestEx:_GetInternetRequestHandle_function_return_code:__u_n
mov dword [ebp - 0x50], ebx
call fcn.00423960
add esp, 0x48
test edi, edi
je 0x46f56c
push edi
call fcn.0048efd8
add esp, 4
mov edi, dword [ebp - 0x98]
cmp ebx, 0x2ee2
je 0x46fe0f
cmp edi, 0xc8
je 0x46f5a0
cmp edi, 0xce
je 0x46f5a0
cmp dword [esi + 0x7f], 1
jne 0x46f610
cmp edi, 0x1a0
jne 0x46fe0f
cmp dword [esi + 0x7f], 1
jne 0x46f610
push str.ResumeGetRequestEx:_Filesize_contains_more_than_4_GB__n
call fcn.00423db0
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp + 0x38]
add esp, 4
push eax
mov eax, dword [ebp + 0x34]
lea ecx, [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0x88]
push edx
mov edx, dword [ebp - 0x58]
push eax
mov eax, dword [ebp - 0xb0]
push ecx
mov ecx, dword [ebp - 0x60]
push edx
mov edx, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0x90]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x94]
push edx
mov edx, dword [ebp + 8]
push eax
push ecx
push edx
mov ecx, esi
call fcn.0046e1d0
mov ebx, eax
jmp 0x46f92d
mov ecx, dword [ebp - 0xa4]
lea eax, [ebp - 0x80]
push eax
push ecx
mov dword [ebp - 0x80], 0
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
jne 0x46f795
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
push ebx
push str.ResumeGetRequestEx_:_Error_occured_in_WinHttpQueryDataAvailable______d__n
call fcn.00423ad0
push ebx
call fcn.00464180
add esp, 0xc
cmp ebx, 0x2ee2
je 0x46f668
cmp ebx, 0x2efe
je 0x46f668
cmp ebx, 0x2efd
jne 0x46f795
mov edx, dword [esi + 0x9b]
mov eax, dword [esi + 0x97]
push edx
push eax
push str.ResumeGetRequestEx_:_Total_Bytes_read_so_far:_u_n
call fcn.00423db0
push ebx
push str.ResumeGetRequestEx_:_second_attempt_to_recover_from_previous_error_n
call fcn.00423db0
add esp, 0x14
lea ecx, [ebp - 0xac]
call fcn.00464100
push 0x190
push 1
mov dword [ebp - 0x98], 0
call fcn.00491e51
mov ecx, dword [esi + 0x9b]
mov edi, eax
mov eax, dword [esi + 0x97]
mov edx, eax
add esp, 8
or edx, ecx
jne 0x46f6de
mov eax, dword [esi + 0x93]
dec eax
push eax
push str.Range:_bytes0__lu
push edi
call fcn.00463e60
add esp, 0xc
jmp 0x46f6f6
mov edx, dword [esi + 0x93]
dec edx
push edx
push ecx
push eax
push str.Range:_bytes_llu__lu
push edi
call fcn.00463e60
add esp, 0x14
push edi
push str.ResumeGetRequestEx:_Content_Range_Header_message:__S_n
call fcn.00423db0
mov edx, dword [ebp + 0x38]
push 0
lea eax, [ebp - 0xec]
push eax
mov eax, dword [ebp + 0x34]
lea ecx, [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0x88]
push edx
mov edx, dword [ebp - 0x58]
push eax
mov eax, dword [ebp - 0xb0]
push ecx
mov ecx, dword [ebp - 0x60]
push edx
mov edx, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0x90]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x94]
push edx
mov edx, dword [ebp + 8]
push eax
push ecx
push edx
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0x9c], edi
call fcn.00469e40
add esp, 0x48
mov ebx, eax
test edi, edi
je 0x46f778
push edi
call fcn.0048efd8
add esp, 4
test ebx, ebx
jne 0x46f795
mov ecx, dword [ebp - 0xa4]
lea eax, [ebp - 0x80]
push eax
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x46f8aa
mov edi, dword [ebp - 0x80]
test edi, edi
je 0x46f92d
cmp edi, dword [esi + 0x56]
jbe 0x46f7d9
mov eax, dword [esi + 0x87]
mov dword [esi + 0x56], edi
test eax, eax
je 0x46f7c8
push eax
call fcn.0048efd8
mov edi, dword [ebp - 0x80]
add esp, 4
mov dword [esi + 0x87], 0
push edi
push 1
call fcn.00491e51
add esp, 8
mov dword [esi + 0x87], eax
mov edx, dword [ebp - 0x84]
add edx, edi
cmp edx, dword [esi + 0x56]
jbe 0x46f82a
mov eax, dword [ebp - 0x84]
mov ecx, dword [esi + 0x87]
push 1
push eax
push ecx
lea ecx, [esi + 0x2a]
call fcn.00467b00
mov edx, dword [esi + 0x56]
push edx
mov ebx, eax
mov eax, dword [esi + 0x87]
push 0
push eax
mov dword [ebp - 0x84], 0
call fcn.00492ac0
add esp, 0xc
test ebx, ebx
jne 0x46f8d2
mov edi, dword [ebp - 0x80]
mov edx, dword [esi + 0x87]
add edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0xb4]
push ecx
push edi
push edx
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x46f8e5
mov eax, dword [ebp - 0xb4]
add dword [esi + 0x97], eax
mov ecx, dword [esi + 0x97]
mov edx, 0
adc dword [esi + 0x9b], edx
add dword [ebp - 0x84], eax
mov eax, dword [esi + 0x93]
mov edi, dword [esi + 0x9b]
cmp eax, ecx
jne 0x46f88b
cmp edx, edi
je 0x46f906
cmp edi, edx
ja 0x46f918
jb 0x46f899
cmp ecx, eax
ja 0x46f918
cmp dword [ebp - 0xb4], edx
jne 0x46f610
jmp 0x46f92d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
push ebx
push str.ResumeGetRequestEx_:_Error_occured_in_WinHttpQueryDataAvailable______lu__n
mov dword [ebp - 0x50], ebx
call fcn.00423ad0
push ebx
call fcn.00464180
add esp, 0xc
mov dword [ebp - 0x80], 0
jmp 0x46f930
push ebx
push str.ResumeGetRequestEx_:__Error_in_WriteFile______lu__n
mov dword [ebp - 0x50], ebx
call fcn.00423ad0
add esp, 8
jmp 0x46f930
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
push ebx
push str.ResumeGetRequestEx_:__Error_in_WinHttpReadData______lu__n
mov dword [ebp - 0x50], ebx
call fcn.00423ad0
push ebx
call fcn.00464180
add esp, 0xc
jmp 0x46f930
push str.ResumeGetRequestEx_:_Bytes_read_reached_the_contenlength_n
mov dword [ebp - 0x50], ebx
call fcn.00423db0
add esp, 4
jmp 0x46f930
push str.InternetGetRequestEx_:_File_downloading_more_than_the_content_length._File_download_deleted_and_download_failed.__n
mov dword [ebp - 0x50], ebx
call fcn.00423ad0
add esp, 4
mov ebx, 0xd
mov dword [ebp - 0x50], ebx
mov ecx, dword [esi + 0x9b]
mov edx, dword [esi + 0x97]
push ecx
push edx
push str.ResumeGetRequestEx:_Total_bytes_read___llu_n
call fcn.00423db0
mov ecx, dword [esi + 0x93]
xor eax, eax
add esp, 0xc
xor edi, edi
cmp eax, dword [esi + 0x9b]
ja 0x46f979
jb 0x46f967
cmp ecx, dword [esi + 0x97]
ja 0x46f979
cmp dword [esi + 0x7f], 1
jne 0x46fd95
cmp ebx, edi
je 0x46fd95
push str.ResumeGetRequestEx:_Only_partial_content_downloaded__n
call fcn.00423ad0
add esp, 4
cmp ebx, edi
jne 0x46f992
mov ebx, 0x2ee2
mov dword [ebp - 0x50], ebx
mov eax, dword [0x513fec]
mov edx, dword [eax + 0xc]
mov ecx, 0x513fec
call edx
add eax, 0x10
mov dword [ebp - 0x58], eax
mov edx, dword [str.SoftwareAdventNetDesktopCentralDCAgent]
mov byte [ebp - 4], 0x13
cmp edx, edi
jne 0x46f9b9
xor eax, eax
jmp 0x46f9cb
mov eax, edx
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f9c0
sub eax, edi
xor edi, edi
push eax
push edx
lea ecx, [ebp - 0x58]
call fcn.00401700
push 0xe
push str.FileMetaData_
lea ecx, [ebp - 0x58]
call fcn.00411c00
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb8], edi
mov eax, dword [ebp - 0x58]
cmp dword [eax - 4], 1
mov byte [ebp - 4], 0x14
jle 0x46fa15
mov eax, dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x58]
call fcn.004014b0
mov eax, dword [ebp - 0x58]
push 0x2001f
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0xc0]
call fcn.0045ba60
mov edi, dword [ebp - 0xc0]
test eax, eax
jne 0x46faae
lea ecx, [ebp - 0x5c]
push ecx
push str.DownloadFailureCount
lea ecx, [ebp - 0xc0]
call fcn.0045bb10
test eax, eax
je 0x46fa7d
push str.The_DownloadFailureCount_value_could_not_be_read.Resetting_to_1_n
call fcn.00423ad0
add esp, 4
push 4
lea edx, [ebp - 0x74]
push edx
push 4
push 0
mov eax, 1
add dword [ebp - 0x5c], eax
push str.DownloadFailureCount
push edi
mov dword [ebp - 0x74], eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jmp 0x46faae
mov eax, dword [ebp - 0x5c]
inc eax
push 4
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
push 4
push 0
push str.DownloadFailureCount
push edi
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x5c]
push ecx
push str.DownloadFailureCount_set_to__d_n
call fcn.00423db0
add esp, 8
test edi, edi
je 0x46fac3
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0xc0], 0
push str.ResumeGetRequestEx_:_Bytes_read_reached_the_contenlength_n
mov dword [ebp - 0xbc], 0
call fcn.00423db0
push 0x5d
push 1
call fcn.00491e51
mov edx, dword [ebp - 0x5c]
push edx
push ebx
mov edi, eax
push str._tResume_Download_failed_with_error_code_:__d_and_total_failed_count_value___d_n
push edi
call fcn.00492848
push edi
call fcn.0045ddc0
add esp, 0x20
test edi, edi
je 0x46fb08
push edi
call fcn.0048efd8
add esp, 4
mov eax, dword [0x513fec]
mov edx, dword [eax + 0xc]
mov ecx, 0x513fec
call edx
add eax, 0x10
mov dword [ebp - 0x4c], eax
mov edx, dword [str.SoftwareAdventNetDesktopCentralDCAgent]
mov byte [ebp - 4], 0x15
test edx, edx
jne 0x46fb2f
xor eax, eax
jmp 0x46fb3d
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46fb34
sub eax, edi
push eax
push edx
lea ecx, [ebp - 0x4c]
call fcn.00401700
push 0xc
push str.METracking_
lea ecx, [ebp - 0x4c]
call fcn.00411c00
push 0x16
push str.ResumeDownloadDetails_
lea ecx, [ebp - 0x4c]
call fcn.00411c00
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x54], 0
cmp dword [edi - 4], 1
jle 0x46fb84
mov eax, dword [edi - 0xc]
push eax
lea ecx, [ebp - 0x4c]
call fcn.004014b0
mov edi, dword [ebp - 0x4c]
lea ecx, [ebp - 0x54]
push ecx
push str.RESUME_DOWNLOAD_FAILURE_COUNT
push edi
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00478d80
mov edx, dword [0x513fec]
mov eax, dword [edx + 0xc]
inc dword [ebp - 0x54]
add esp, 0x10
mov ecx, 0x513fec
call eax
add eax, 0x10
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x54]
push ecx
lea edx, [ebp - 0x60]
push 0x4d14b4
push edx
mov byte [ebp - 4], 0x16
call fcn.0040af10
mov eax, dword [ebp - 0x60]
add esp, 0xc
cmp dword [eax - 4], 1
jle 0x46fbe2
mov eax, dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x60]
call fcn.004014b0
cmp dword [edi - 4], 1
jle 0x46fbf4
mov ecx, dword [edi - 0xc]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.004014b0
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x4c]
push 4
push edx
push str.RESUME_DOWNLOAD_FAILURE_COUNT
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00478900
add esp, 0x14
call fcn.004774c0
mov edx, dword [0x513fec]
mov edi, eax
mov eax, dword [edx + 0xc]
mov ecx, 0x513fec
call eax
add eax, 0x10
mov dword [ebp - 0x64], eax
push edi
lea ecx, [ebp - 0x64]
push 0x4d14b4
push ecx
mov byte [ebp - 4], 0x17
call fcn.0040af10
mov edx, dword [0x513fec]
mov eax, dword [edx + 0xc]
add esp, 0xc
mov ecx, 0x513fec
call eax
add eax, 0x10
mov dword [ebp - 0x6c], eax
mov edi, dword [str.SoftwareAdventNetDesktopCentralDCAgent]
mov byte [ebp - 4], 0x18
test edi, edi
jne 0x46fc6b
xor eax, eax
jmp 0x46fc79
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46fc70
sub eax, edx
push eax
push edi
lea ecx, [ebp - 0x6c]
call fcn.00401700
push 0xc
push str.METracking_
lea ecx, [ebp - 0x6c]
call fcn.00411c00
mov eax, dword [ebp - 0x64]
cmp dword [eax - 4], 1
jle 0x46fca7
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0x64]
call fcn.004014b0
mov edi, dword [ebp - 0x6c]
cmp dword [edi - 4], 1
jle 0x46fcbf
mov edx, dword [edi - 0xc]
push edx
lea ecx, [ebp - 0x6c]
call fcn.004014b0
mov edi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x64]
push 4
push eax
push str.LastMEDataModifiedTime
push edi
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00478900
lea eax, [edi - 0x10]
add esp, 0x14
mov byte [ebp - 4], 0x17
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46fcf8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x16
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46fd1b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46fd3e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46fd61
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x46fd72
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46fd95
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp ebx, 0x2efe
je 0x46fdb1
cmp ebx, 0x2efd
je 0x46fdb1
cmp ebx, 0x2ee2
je 0x46fdb1
test ebx, ebx
jne 0x46fdc9
mov ecx, dword [ebp - 0x84]
mov edx, dword [esi + 0x87]
push 0
push ecx
push edx
lea ecx, [esi + 0x2a]
call fcn.00467b00
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x88]
push eax
push ecx
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0xac]
push eax
mov ecx, esi
call fcn.0046c7d0
push str._________End_Of_ResumeGetRequestEx_Method___________n
call fcn.00423960
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x46f093
cmp edi, 0x12e
je 0x46fe23
cmp edi, 0x12d
jne 0x46febb
mov edx, dword [ebp - 0xa4]
lea ecx, [ebp - 0x74]
push ecx
push edx
mov dword [ebp - 0x74], 0
call fcn.00464f10
mov esi, dword [ebp - 0x74]
lea eax, [ebp - 0x68]
push esi
push eax
call fcn.00463bf0
add esp, 0x10
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x12
call fcn.0040fa30
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46fe7d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xc8]
cmp dword [eax - 4], 1
jle 0x46fe9e
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [ebp - 0xc8]
call fcn.004014b0
mov eax, dword [ebp - 0xc8]
push eax
push str.Redirection_url_is__s_n
call fcn.00423db0
add esp, 8
test esi, esi
je 0x46feb9
push esi
call fcn.0048efd8
add esp, 4
mov ebx, edi
lea ecx, [ebp - 0xac]
call fcn.00464100
push str._________End_Of_ResumeGetRequestEx_Method___________n
call fcn.00423960
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
add esp, 4
mov byte [ebp - 4], 1
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x46fef6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0
call fcn.0046d4c0
mov eax, dword [ebp - 0x8c]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46ff2e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, ebx
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.0048ed61
mov esp, ebp
pop ebp
ret 0x38