Function at 0x408280
Capabilities:
Check if file exists
Connect to http server
Copy file
Create http request
Delete file
Download and write a file
Get common file path
Read .ini file
Read and send data from client to server
Read data from internet
Receive and write data from server to client
Receive data
Send data
Send http request
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x543bcf
mov eax, dword fs:[0]
push eax
mov eax, 0x405c
call fcn.00525f50
mov eax, dword [0x5acd88]
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 dword [ebp - method.CURLEncode.virtual_0], vtable.CURLEncode.0
mov dword [ebp - 4], 0
mov dword [ebp - 0x4008], 0xf
mov dword [ebp - 0x400c], 0
mov byte [ebp - 0x401c], 0
xor eax, eax
mov dword [ebp - 0x3fa8], 7
mov dword [ebp - 0x3fac], 0
mov word [ebp - 0x3fbc], ax
mov dword [ebp - 0x3ff0], 7
mov dword [ebp - 0x3ff4], eax
mov word [ebp - 0x4004], ax
mov dword [ebp - 0x3fd8], 7
mov dword [ebp - 0x3fdc], eax
mov word [ebp - 0x3fec], ax
mov dword [ebp - 0x3fc0], 7
mov dword [ebp - 0x3fc4], eax
mov word [ebp - 0x3fd4], ax
mov dword [ebp - 0x3f90], 7
mov dword [ebp - 0x3f94], eax
mov word [ebp - 0x3fa4], ax
mov dword [ebp - 0x3f78], 7
mov dword [ebp - 0x3f7c], eax
mov word [ebp - 0x3f8c], ax
push 0x206
push eax
mov dword [ebp - 0x405c], eax
mov word [ebp - 0x830], ax
lea eax, [ebp - 0x82e]
push eax
mov byte [ebp - 4], 7
call fcn.005265d0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x135c], ax
lea eax, [ebp - 0x135a]
push eax
call fcn.005265d0
xor eax, eax
push 0x7fe
push eax
mov word [ebp - 0x1f5c], ax
lea eax, [ebp - 0x1f5a]
push eax
call fcn.005265d0
lea eax, [ebp - 0x1f5c]
push 0x5ae690
push eax
call fcn.0040e970
add esp, 0x2c
lea ecx, [ebp - 0x3fbc]
push 8
push str._CLP_:_
call fcn.0040a160
cmp word [ebp - 0x1f5c], 0
jne 0x4083fb
xor ecx, ecx
jmp 0x408413
lea ecx, [ebp - 0x1f5c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x408404
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x1f5c]
push eax
lea ecx, [ebp - 0x3fbc]
call fcn.0040a160
push 2
push 0x556864
lea ecx, [ebp - 0x3fbc]
call fcn.0040a160
cmp dword [ebp - 0x3fa8], 8
lea eax, [ebp - 0x3fbc]
cmovae eax, dword [ebp - 0x3fbc]
push eax
push 0x55686c
push str.__S__wszCLProductInfo___s
call fcn.0040bef0
add esp, 0xc
lea eax, [ebp - 0x4004]
push eax
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp - 0x3fbc]
push eax
call fcn.0040a4c0
lea ecx, [ebp - 0x4050]
call fcn.00412b10
lea eax, [ebp - 0x4034]
push eax
call fcn.0040c3c0
mov esi, eax
lea eax, [ebp - 0x3fa4]
add esp, 4
cmp eax, esi
je 0x4084f3
cmp dword [ebp - 0x3f90], 8
jb 0x4084ca
push dword [ebp - 0x3fa4]
call fcn.00414c8d
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0x3fa4]
mov dword [ebp - 0x3f90], 7
mov dword [ebp - 0x3f94], 0
mov word [ebp - 0x3fa4], ax
call fcn.00409a40
cmp dword [ebp - 0x4020], 8
jb 0x40850a
push dword [ebp - 0x4034]
call fcn.00414c8d
add esp, 4
lea eax, [ebp - 0x4034]
push eax
call fcn.0040fba0
mov esi, eax
lea eax, [ebp - 0x3f8c]
add esp, 4
cmp eax, esi
je 0x408565
cmp dword [ebp - 0x3f78], 8
jb 0x40853c
push dword [ebp - 0x3f8c]
call fcn.00414c8d
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0x3f8c]
mov dword [ebp - 0x3f78], 7
mov dword [ebp - 0x3f7c], 0
mov word [ebp - 0x3f8c], ax
call fcn.00409a40
cmp dword [ebp - 0x4020], 8
jb 0x40857c
push dword [ebp - 0x4034]
call fcn.00414c8d
add esp, 4
lea eax, [ebp - 0x3fec]
push eax
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp - 0x3fa4]
push eax
call fcn.0040a4c0
lea ecx, [ebp - 0x4050]
call fcn.00412b10
lea eax, [ebp - 0x3fd4]
push eax
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp - 0x3f8c]
push eax
call fcn.0040a4c0
lea ecx, [ebp - 0x4050]
call fcn.00412b10
push 0x1fff
lea eax, [ebp - 0x3f5b]
push 0
push eax
mov byte [ebp - 0x3f5c], 0
call fcn.005265d0
cmp dword [ebp - 0x3ff0], 8
lea edx, [ebp - 0x4004]
cmovae edx, dword [ebp - 0x4004]
cmp dword [ebp - 0x3fc0], 8
push edx
lea ecx, [ebp - 0x3fd4]
cmovae ecx, dword [ebp - 0x3fd4]
cmp dword [ebp - 0x3fd8], 8
push ecx
lea eax, [ebp - 0x3fec]
cmovae eax, dword [ebp - 0x3fec]
push eax
push str.LANGUAGE_SOSREGION_SOTHER_CLP_S
lea eax, [ebp - 0x3f5c]
push 0x2000
push eax
call fcn.00525adb
add esp, 0x24
cmp byte [ebp - 0x3f5c], 0
jne 0x40866d
xor ecx, ecx
jmp 0x40867f
lea ecx, [ebp - 0x3f5c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408676
sub ecx, edx
push ecx
lea eax, [ebp - 0x3f5c]
push eax
lea ecx, [ebp - 0x401c]
call fcn.00409f20
cmp dword [ebp - 0x4008], 0x10
lea eax, [ebp - 0x401c]
cmovae eax, dword [ebp - 0x401c]
push eax
push 0x55686c
push str.__S__fullHttpRequest:__S
call fcn.0040bef0
push str.liveupdate.cyberlink.com
lea eax, [ebp - 0xb3c]
push 0x104
xor esi, esi
push eax
mov dword [ebp - 0x403c], esi
call fcn.00524c94
add esp, 0x18
cmp dword [ebp - 0x400c], esi
jbe 0x409161
mov dword [ebp - 0x3f60], 0xf
mov dword [ebp - 0x3f64], esi
mov byte [ebp - 0x3f74], 0
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x401c]
push eax
lea ecx, [ebp - 0x3f74]
mov byte [ebp - 4], 8
call fcn.0040a290
push esi
push esi
push esi
push esi
push str.Microsoft_Internet_Explorer
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ebx, eax
mov dword [ebp - 0x4048], ebx
test ebx, ebx
je 0x408fab
push 1
push esi
push 3
push esi
push esi
push 0x1bb
lea eax, [ebp - 0xb3c]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov esi, eax
lea eax, [ebp - 0xb3c]
push eax
push 0x55686c
push str.__S__after_InternetConnect:__s
mov dword [ebp - 0x4060], esi
call fcn.0040bef0
add esp, 0xc
test esi, esi
je 0x408f7b
push 0
push 0x80c00800
lea eax, [ebp - 0x4068]
push eax
push 0
push str.HTTP_1.0
push str._bigbang_ap_toaster.jsp
push str.POST
push esi
mov dword [ebp - 0x4068], 0x556984
mov dword [ebp - 0x4064], 0
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov edi, dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov ebx, eax
mov dword [ebp - 0x405c], ebx
test ebx, ebx
je 0x408a59
push 4
lea eax, [ebp - 0x4038]
push eax
push 0x41
push ebx
mov dword [ebp - 0x4038], 1
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x408803
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x55686c
push str.__S__InternetSetOptionW_INTERNET_OPTION_HTTP_DECODING__is_FALSE__errCode:__d.
call fcn.0040bef0
add esp, 0xc
jmp 0x408a87
push 0x5ae690
push 0x104
lea eax, [ebp - 0x830]
push eax
push 0x55514c
push str.eTag
push str.Setting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x830]
push eax
push str.SendProductInfo
push str.__s__szeTagINI___s
call fcn.0040bef0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x628], ax
lea eax, [ebp - 0x626]
push eax
call fcn.005265d0
lea eax, [ebp - 0x830]
push 0x55514c
push eax
call fcn.00525079
add esp, 0x20
test eax, eax
jne 0x40888d
push str.Content_Type:_application_x_www_form_urlencoded_r_nAccept_Encoding:_gzip__deflate_nIf_None_Match:____n
lea eax, [ebp - 0x628]
push 0x104
push eax
call fcn.00525204
add esp, 0xc
jmp 0x4088ad
lea eax, [ebp - 0x830]
push eax
push str.Content_Type:_application_x_www_form_urlencoded_r_nAccept_Encoding:_gzip__deflate_nIf_None_Match:__s
lea eax, [ebp - 0x628]
push 0x104
push eax
call fcn.00525204
add esp, 0x10
lea eax, [ebp - 0x628]
push eax
push 0x55686c
push str.__S__hdrs:__s
call fcn.0040bef0
lea ecx, [ebp - 0x628]
add esp, 0xc
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4088d0
push dword [ebp - 0x3f64]
sub ecx, edx
sar ecx, 1
cmp dword [ebp - 0x3f60], 0x10
lea eax, [ebp - 0x3f74]
cmovae eax, dword [ebp - 0x3f74]
push eax
push ecx
lea eax, [ebp - 0x628]
push eax
push ebx
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x408a2c
cmp dword [ebp - 0x3f60], 0x10
lea eax, [ebp - 0x3f74]
cmovae eax, dword [ebp - 0x3f74]
push eax
push 0x55686c
push str.__s__HttpSendRequestW_successflly:__s
call fcn.0040be80
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xf4c], ax
lea eax, [ebp - 0xf4a]
push eax
mov dword [ebp - 0x403c], 1
call fcn.005265d0
add esp, 0x18
lea eax, [ebp - 0x4040]
push 0
push eax
lea eax, [ebp - 0xf4c]
push eax
push 0x13
push ebx
mov dword [ebp - 0x4040], 0x208
call edi
test eax, eax
je 0x408a20
lea eax, [ebp - 0xf4c]
push eax
call fcn.0052532f
mov esi, eax
push esi
push 0x55686c
push str.__s__HttpQueryInfo_status_code____d_
call fcn.0040be80
add esp, 0x10
cmp esi, 0x130
jne 0x408a87
push 0x55686c
push str.__s__no_need_to_update_XML
call fcn.0040be80
add esp, 8
lea ecx, [ebp - 0x3f74]
call fcn.00401e90
lea ecx, [ebp - 0x3f8c]
call fcn.00401ec0
lea ecx, [ebp - 0x3fa4]
call fcn.00401ec0
lea ecx, [ebp - 0x3fd4]
call fcn.00401ec0
lea ecx, [ebp - 0x3fec]
call fcn.00401ec0
lea ecx, [ebp - 0x4004]
call fcn.00401ec0
lea ecx, [ebp - 0x3fbc]
call fcn.00401ec0
lea ecx, [ebp - 0x401c]
call fcn.00401e90
jmp 0x4092bf
push 0x55686c
push str.__s__HttpQueryInfo__FALSE
jmp 0x4089bb
cmp dword [ebp - 0x3f60], 0x10
lea esi, [ebp - 0x3f74]
cmovae esi, dword [ebp - 0x3f74]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x55686c
push str.__s__HttpSendRequestW_failed:__s__errCode___d
call fcn.0040be80
jmp 0x408a84
cmp dword [ebp - 0x3f60], 0x10
lea esi, [ebp - 0x3f74]
cmovae esi, dword [ebp - 0x3f74]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x55686c
push str.__S__HttpOpenRequestW_failed:__s__errCode___d
call fcn.0040bef0
add esp, 0x10
push 0
lea eax, [ebp - 0x4058]
push eax
lea eax, [ebp - 0x934]
push eax
push 0x16
push ebx
mov dword [ebp - 0x4058], 0x104
call edi
lea eax, [ebp - 0x934]
push eax
push 0x55686c
push str.__s__szSizeBuffer___s
call fcn.0040be80
add esp, 0xc
call fcn.00415ba5
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x408adb
push 0x80004005
call fcn.004032e0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x4038], eax
mov byte [ebp - 4], 9
call fcn.00415ba5
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x408b0b
push 0x80004005
call fcn.004032e0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x4044], eax
push dword [ebp - 0x4058]
lea eax, [ebp - 0x934]
push eax
lea ecx, [ebp - 0x4038]
mov byte [ebp - 4], 0xa
call fcn.004030b0
mov ebx, dword [ebp - 0x4038]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push dword [ebx - 0xc]
push ebx
push 0
push 0xfde9
call edi
mov esi, dword [ebx - 0xc]
push eax
push eax
lea ecx, [ebp - 0x4044]
call fcn.00404cd0
push eax
push esi
push ebx
push 0
push 0xfde9
call edi
mov edi, dword [ebp - 0x4044]
push dword [edi - 8]
push edi
call fcn.00524cf0
add esp, 8
test eax, eax
js 0x408f71
cmp eax, dword [edi - 8]
jg 0x408f71
xor ecx, ecx
mov dword [edi - 0xc], eax
mov word [edi + eax*2], cx
cmp dword [edi - 0xc], ecx
jge 0x408ba6
or eax, 0xffffffff
jmp 0x408bc1
push str.ETag:
push edi
call fcn.00524d0f
add esp, 8
test eax, eax
jne 0x408bbd
or eax, 0xffffffff
jmp 0x408bc1
sub eax, edi
sar eax, 1
add eax, 6
push eax
mov dword [ebp - 0x404c], eax
lea eax, [ebp - 0x4040]
push eax
lea ecx, [ebp - 0x4044]
call fcn.00407790
mov esi, dword [ebp - 0x4040]
mov byte [ebp - 4], 0xb
cmp dword [esi - 0xc], 0
jge 0x408bf2
or eax, 0xffffffff
jmp 0x408c0d
push 0x556db4
push esi
call fcn.00524d0f
add esp, 8
test eax, eax
jne 0x408c09
or eax, 0xffffffff
jmp 0x408c0d
sub eax, esi
sar eax, 1
push eax
push dword [ebp - 0x404c]
lea eax, [ebp - 0x404c]
push eax
lea ecx, [ebp - 0x4044]
call fcn.004077c0
push eax
lea ecx, [ebp - 0x4040]
mov byte [ebp - 4], 0xc
call fcn.00401f30
mov edx, dword [ebp - 0x404c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [edx + 0xc]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x408c5a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x4040]
push esi
push str.SendProductInfo
push 0x556db8
call fcn.0040bef0
push esi
push 0x55539c
lea eax, [ebp - 0x135c]
push 0x104
push eax
call fcn.00525204
add esp, 0x1c
push dword [ebp - 0x4060]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x4048]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov byte [ebp - 4], 0xa
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x408cc2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edi + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x408cdf
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
add ebx, 0xfffffff0
mov byte [ebp - 4], 8
lea eax, [ebx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x408cfa
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x403c]
cmp dword [ebp - 0x3f60], 0x10
mov byte [ebp - 4], 7
jb 0x408d1b
push dword [ebp - 0x3f74]
call fcn.00414c8d
add esp, 4
mov dword [ebp - 0x3f60], 0xf
mov dword [ebp - 0x3f64], 0
mov byte [ebp - 0x3f74], 0
test esi, esi
je 0x409188
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x1154], ax
lea eax, [ebp - 0x1152]
push eax
call fcn.005265d0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xd44], ax
lea eax, [ebp - 0xd42]
push eax
call fcn.005265d0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.005265d0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.005265d0
add esp, 0x30
lea eax, [ebp - 0x1154]
push 1
push 0x23
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x1154]
push eax
push str._sCyberLinkCLToast
lea eax, [ebp - 0x420]
push 0x104
push eax
call fcn.00525204
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 0x10
lea eax, [ebp - 0x420]
push eax
call ebx
test eax, eax
jne 0x408e02
lea eax, [ebp - 0x420]
push eax
call fcn.0040fe50
add esp, 4
lea eax, [ebp - 0x420]
push eax
push str._sCLToast0.xml
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00525204
lea eax, [ebp - 0x420]
push eax
push str._sCLToast.xml
lea eax, [ebp - 0xd44]
push 0x104
push eax
call fcn.00525204
add esp, 0x20
lea eax, [ebp - 0x218]
push eax
call ebx
test eax, eax
je 0x408e59
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push 0x80
push 1
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x403c], eax
test eax, eax
je 0x40914e
cmp eax, 0xffffffff
je 0x40914e
lea eax, [ebp - 0x218]
push eax
push 0x55686c
push str.__S__Download__s_start_...
mov dword [ebp - 0x4054], 0
xor edi, edi
call fcn.0040bef0
add esp, 0xc
lea eax, [ebp - 0x4054]
push eax
push 0x3ff
lea eax, [ebp - 0x175c]
push eax
push dword [ebp - 0x405c]
call dword [sym.imp.WININET.dll_InternetReadFile]
mov ebx, eax
test ebx, ebx
je 0x40901c
mov ecx, dword [ebp - 0x4054]
cmp ecx, 0x400
jae 0x409017
lea esi, [ebp - 0x175c]
mov byte [ebp + ecx - 0x175c], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x408f00
push 0
lea eax, [ebp - 0x4038]
push eax
sub esi, ecx
push esi
lea eax, [ebp - 0x175c]
push eax
push dword [ebp - 0x403c]
mov dword [ebp - 0x4038], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x408ff6
cmp dword [ebp - 0x4038], esi
jne 0x408fd5
add edi, esi
push edi
push 0x55686c
push str.__S__Downloaded__d_Byte_s_
call fcn.0040bef0
add esp, 0xc
cmp dword [ebp - 0x4054], 0
jne 0x408eb4
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x40903e
push 0x80070057
call fcn.004032e0
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
lea eax, [ebp - 0xb3c]
push eax
push 0x55686c
push str.__S__InternetConnectW_failed:__s__errCode___d
call fcn.0040bef0
add esp, 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
jmp 0x408d00
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xb3c]
push eax
push 0x55686c
push str.Microsoft_Internet_Explorer
push str.__S__InternetOpenW_failed:__s__errCode___d
call fcn.0040bef0
add esp, 0x14
jmp 0x408d00
lea eax, [ebp - 0x218]
push eax
push 0x55686c
push str.__S__Download__s_terminated__fail_to_WriteFile__wrong_write_size_
call fcn.0040bef0
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0xc
jmp 0x40903e
lea eax, [ebp - 0x218]
push eax
push 0x55686c
push str.__S__Download__s_terminated__fail_to_WriteFile
call fcn.0040bef0
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0xc
jmp 0x40903e
call fcn.0052425f
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
lea eax, [ebp - 0x218]
push eax
push 0x55686c
push str.__S__Download__s_failed__errCode:__d
call fcn.0040bef0
add esp, 0x10
push dword [ebp - 0x403c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x218]
push eax
push 0x55686c
push str.__S__Download__s_done
call fcn.0040bef0
push 0
push 1
push 0x10000000
push 1
push str.EVERYONE
lea eax, [ebp - 0x218]
push 1
push eax
call fcn.0040bf60
add esp, 0x28
lea eax, [ebp - 0xd44]
push 0
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x4090c0
call esi
push eax
lea eax, [ebp - 0xd44]
push eax
lea eax, [ebp - 0x218]
push eax
push 0x55686c
push str.__S__CopyFileW_failed__source:__s__target:__s__errCode___d
call fcn.0040bef0
add esp, 0x14
jmp 0x4090dc
push 0x5ae690
lea eax, [ebp - 0x135c]
push eax
push str.eTag
push str.Setting
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4090fa
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x3f8c]
call fcn.00401ec0
lea ecx, [ebp - 0x3fa4]
call fcn.00401ec0
lea ecx, [ebp - 0x3fd4]
call fcn.00401ec0
lea ecx, [ebp - 0x3fec]
call fcn.00401ec0
lea ecx, [ebp - 0x4004]
call fcn.00401ec0
lea ecx, [ebp - 0x3fbc]
call fcn.00401ec0
lea ecx, [ebp - 0x401c]
call fcn.00401e90
mov eax, ebx
jmp 0x4092c1
lea eax, [ebp - 0x218]
push eax
push 0x55686c
push str.__S__CreateFileW_path:__s_failed
jmp 0x409180
cmp dword [ebp - 0x4008], 0x10
lea eax, [ebp - 0x401c]
cmovae eax, dword [ebp - 0x401c]
push eax
push 0x55686c
push str.__S__Unexpected_impression_format:__s
call fcn.0040bef0
add esp, 0xc
cmp dword [ebp - 0x3f78], 8
jb 0x40919f
push dword [ebp - 0x3f8c]
call fcn.00414c8d
add esp, 4
xor eax, eax
cmp dword [ebp - 0x3f90], 8
mov word [ebp - 0x3f8c], ax
mov dword [ebp - 0x3f7c], eax
mov dword [ebp - 0x3f78], 7
jb 0x4091cf
push dword [ebp - 0x3fa4]
call fcn.00414c8d
add esp, 4
xor eax, eax
cmp dword [ebp - 0x3fc0], 8
mov word [ebp - 0x3fa4], ax
mov dword [ebp - 0x3f94], eax
mov dword [ebp - 0x3f90], 7
jb 0x4091ff
push dword [ebp - 0x3fd4]
call fcn.00414c8d
add esp, 4
xor eax, eax
cmp dword [ebp - 0x3fd8], 8
mov word [ebp - 0x3fd4], ax
mov dword [ebp - 0x3fc4], eax
mov dword [ebp - 0x3fc0], 7
jb 0x40922f
push dword [ebp - 0x3fec]
call fcn.00414c8d
add esp, 4
xor eax, eax
cmp dword [ebp - 0x3ff0], 8
mov word [ebp - 0x3fec], ax
mov dword [ebp - 0x3fdc], eax
mov dword [ebp - 0x3fd8], 7
jb 0x40925f
push dword [ebp - 0x4004]
call fcn.00414c8d
add esp, 4
xor eax, eax
cmp dword [ebp - 0x3fa8], 8
mov word [ebp - 0x4004], ax
mov dword [ebp - 0x3ff4], eax
mov dword [ebp - 0x3ff0], 7
jb 0x40928f
push dword [ebp - 0x3fbc]
call fcn.00414c8d
add esp, 4
xor eax, eax
cmp dword [ebp - 0x4008], 0x10
mov word [ebp - 0x3fbc], ax
mov dword [ebp - 0x3fac], eax
mov dword [ebp - 0x3fa8], 7
jb 0x4092bf
push dword [ebp - 0x401c]
call fcn.00414c8d
add esp, 4
xor eax, eax
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.00525af7
mov esp, ebp
pop ebp
ret