Function at 0x41997e
Capabilities:
Check http status code
Check if file exists
Copy file

Disassembly:
push 0x774
mov eax, 0x4a3bd5
call fcn.00481da3
mov ebx, ecx
mov dword [ebp - 0x74c], ebx
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x750]
call fcn.0040161b
xor edi, edi
mov dword [ebp - 4], edi
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x748]
call fcn.0040161b
push 0x1ff
lea eax, [ebp - 0x52b]
push edi
mov byte [ebp - 4], 1
push eax
mov byte [ebp - 0x52c], 0
call fcn.0047e7d0
add esp, 0xc
mov esi, 0x103
push esi
lea eax, [ebp - 0x32b]
push edi
push eax
mov byte [ebp - 0x32c], 0
call fcn.0047e7d0
add esp, 0xc
push esi
lea eax, [ebp - 0x11b]
push edi
push eax
mov dword [ebp - 0x754], edi
mov byte [ebp - 0x11c], 0
call fcn.0047e7d0
add esp, 0xc
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x760]
call fcn.0040161b
mov byte [ebp - 4], 2
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x77c]
call fcn.0040161b
mov byte [ebp - 4], 3
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x758]
call fcn.0040161b
mov byte [ebp - 4], 4
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x764]
call fcn.0040161b
mov byte [ebp - 4], 5
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x76c]
call fcn.0040161b
mov byte [ebp - 4], 6
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x770]
call fcn.0040161b
mov byte [ebp - 4], 7
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x768]
call fcn.0040161b
mov byte [ebp - 4], 8
cmp ebx, edi
jne 0x419b41
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x768]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x770]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x76c]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x764]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x758]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x77c]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x760]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x748]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x750]
add ecx, 0xfffffff0
call fcn.00401325
mov eax, esi
lea esp, [ebp - 0x790]
call fcn.00481e26
ret
lea eax, [ebp - 0x758]
push edi
push eax
call fcn.00412a5a
lea eax, [ebp - 0x764]
push 2
push eax
call fcn.00412a5a
xor esi, esi
inc esi
lea eax, [ebp - 0x76c]
push esi
push eax
call fcn.00412a5a
lea eax, [ebp - 0x770]
push 3
push eax
call fcn.00412a5a
lea eax, [ebp - 0x768]
push 4
push eax
call fcn.00412a5a
mov eax, dword [ebx + 0x1ec]
mov eax, dword [eax + 0x31c]
add esp, 0x28
dec eax
je 0x419c14
dec eax
je 0x419bfc
dec eax
dec eax
je 0x419bdb
sub eax, 4
je 0x419bc3
sub eax, 8
lea eax, [ebp - 0x748]
push eax
push ecx
mov dword [ebp - 0x738], esp
mov ecx, esp
jne 0x419c24
lea eax, [ebp - 0x768]
jmp 0x419c2a
lea eax, [ebp - 0x748]
push eax
push ecx
mov dword [ebp - 0x738], esp
mov ecx, esp
lea eax, [ebp - 0x770]
jmp 0x419c2a
cmp dword [0x4efe4c], 4
lea eax, [ebp - 0x748]
push eax
push ecx
mov dword [ebp - 0x738], esp
mov ecx, esp
jne 0x419c24
lea eax, [ebp - 0x764]
jmp 0x419c2a
lea eax, [ebp - 0x748]
push eax
push ecx
mov dword [ebp - 0x738], esp
mov ecx, esp
lea eax, [ebp - 0x76c]
jmp 0x419c2a
lea eax, [ebp - 0x748]
push eax
push ecx
mov dword [ebp - 0x738], esp
mov ecx, esp
lea eax, [ebp - 0x758]
push eax
call fcn.0040144c
mov ecx, dword [ebx + 0x1ec]
call fcn.004197fb
mov eax, dword [ebx + 0x1ec]
add eax, 0x788
push eax
lea ecx, [ebp - 0x750]
call fcn.004015ba
mov eax, dword [ebx + 0x1ec]
mov ecx, dword [0x4ef868]
test dword [eax + 0x31c], ecx
jne 0x419c86
push dword [ebp - 0x748]
push 0x195
push 0x4ef184
call fcn.0042a517
add esp, 0xc
push 2
pop esi
jmp 0x419ab5
mov dword [eax + 0x310], esi
mov esi, ebx
call fcn.00419382
mov eax, dword [ebx + 0x1ec]
xor ecx, ecx
cmp dword [eax + 0x2d8], 0x500000
setg cl
dec ecx
and ecx, 0xfffff8f8
add ecx, 0xe10
mov eax, ecx
push eax
push dword [0x4efd34]
call fcn.0042abff
mov edi, dword [ebp - 0x748]
lea eax, [ebp - 0x52c]
push 0x200
push eax
mov dword [0x4d2328], 0x78
call fcn.00403479
mov edi, dword [ebp - 0x750]
lea eax, [ebp - 0x32c]
push 0x104
push eax
call fcn.00403479
xor edi, edi
add esp, 0x18
cmp dword [0x4efc58], edi
je 0x41a116
mov eax, dword [ebx + 0x1ec]
cmp dword [eax + 0x774], edi
je 0x41a116
call dword [0x4d1acc]
push 0x103
mov dword [ebp - 0x738], eax
lea eax, [ebp - 0x223]
push edi
push eax
mov byte [ebp - 0x224], 0
call fcn.0047e7d0
add esp, 0xc
push 0x206
lea eax, [ebp - 0x732]
push edi
push eax
mov word [ebp - 0x734], di
call fcn.0047e7d0
add esp, 0xc
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x73c]
call fcn.0040161b
mov byte [ebp - 4], 9
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x744]
call fcn.0040161b
mov byte [ebp - 4], 0xa
mov eax, dword [ebx + 0x1ec]
add eax, 0x528
push eax
lea ecx, [ebp - 0x73c]
mov dword [ebp - 0x75c], edi
mov dword [ebp - 0x740], edi
call fcn.004014c5
mov eax, dword [ebx + 0x1ec]
add eax, 0xcc
push eax
lea ecx, [ebp - 0x73c]
call fcn.00401250
mov esi, dword [ebx + 0x1ec]
cmp dword [esi + 0x77c], edi
mov dword [ebp - 0x774], esi
jne 0x419e07
cmp dword [esi + 0x778], edi
jne 0x419e07
mov ecx, dword [ebp - 0x744]
add ecx, 0xfffffff0
call fcn.00401325
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x73c]
add ecx, 0xfffffff0
call fcn.00401325
jmp 0x41a116
mov edi, dword [ebp - 0x73c]
push edi
lea eax, [ebp - 0x734]
push 0x104
push eax
call fcn.0047e75f
add esp, 0xc
lea eax, [ebp - 0x75c]
push eax
push edi
lea ebx, [ebp - 0x740]
call fcn.00401bd8
test eax, eax
pop ecx
pop ecx
jne 0x419f48
lea eax, [ebp - 0x73c]
push eax
lea ecx, [ebp - 0x740]
call fcn.0040144c
mov byte [ebp - 4], 0xb
and dword [ebp - 0x778], 0
and dword [ebp - 0x75c], 0
lea edi, [ebp - 0x740]
call fcn.00406399
push 0x2e
mov esi, edi
call fcn.0040a447
test eax, eax
jge 0x419ea9
mov ecx, dword [ebp - 0x740]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x744]
add ecx, 0xfffffff0
call fcn.00401325
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x73c]
add ecx, 0xfffffff0
jmp 0x41a10b
mov esi, dword [ebp - 0x740]
mov ecx, dword [esi - 0xc]
dec ecx
cmp eax, ecx
jne 0x419ebc
lea ecx, [esi - 0x10]
jmp 0x419e84
mov ecx, dword [esi - 0xc]
sub ecx, eax
dec ecx
push ecx
inc eax
push eax
lea eax, [ebp - 0x780]
push eax
lea ecx, [ebp - 0x740]
call fcn.004045b9
push 0x4b695c
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.004082ab
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x780]
add ecx, 0xfffffff0
mov edi, eax
call fcn.00401325
test edi, edi
jne 0x419eb7
lea eax, [ebp - 0x75c]
push eax
lea eax, [ebp - 0x778]
push eax
mov ecx, esi
call fcn.0041a990
test eax, eax
lea ecx, [esi - 0x10]
je 0x419e84
mov eax, dword [ebp - 0x75c]
mov ebx, dword [ebp - 0x778]
mov dword [ebp - 0x740], eax
mov byte [ebp - 4], 0xa
call fcn.00401325
mov edi, dword [ebp - 0x73c]
mov esi, dword [ebp - 0x774]
jmp 0x419f4e
mov ebx, dword [ebp - 0x75c]
mov eax, dword [esi + 0x778]
cmp ebx, eax
ja 0x419f76
jne 0x419f68
mov eax, dword [ebp - 0x740]
cmp eax, dword [esi + 0x77c]
jae 0x419f76
mov ecx, dword [ebp - 0x744]
add ecx, 0xfffffff0
jmp 0x41a0ff
lea edx, [ebp - 0x224]
mov ecx, edi
call fcn.004121c7
test eax, eax
mov ebx, 0x994
je 0x419fdc
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
inc esi
cmp esi, 0x3fffffff
jle 0x419fa8
xor eax, eax
jmp 0x419fc6
lea eax, [esi + esi]
call fcn.004840d0
mov eax, esp
push dword [ebp - 0x738]
lea ecx, [ebp - 0x224]
push esi
push ecx
push eax
call fcn.00408bae
mov esi, dword [ebp - 0x74c]
mov ecx, dword [esi + 0x1ec]
add ecx, ebx
push eax
call fcn.004014c5
jmp 0x419fe2
mov esi, dword [ebp - 0x74c]
mov eax, dword [esi + 0x1ec]
mov eax, dword [eax + 0x994]
cmp dword [eax - 0xc], 0
je 0x419f68
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x744]
call fcn.00404714
push 0x4b6964
lea eax, [ebp - 0x744]
push eax
lea eax, [ebp - 0x774]
push eax
call fcn.00402dca
add esp, 0xc
mov byte [ebp - 4], 0xd
mov ecx, dword [esi + 0x1ec]
add ecx, ebx
push ecx
push eax
lea eax, [ebp - 0x738]
push eax
call fcn.0040a465
add esp, 0xc
push eax
lea ecx, [ebp - 0x744]
mov byte [ebp - 4], 0xe
call fcn.004015ba
mov ecx, dword [ebp - 0x738]
add ecx, 0xfffffff0
call fcn.00401325
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x774]
add ecx, 0xfffffff0
call fcn.00401325
call fcn.00428e38
mov ebx, dword [ebp - 0x744]
push esi
push dword [ebp - 0x750]
mov ecx, edi
push ebx
call fcn.0041a5ad
mov dword [ebp - 0x738], eax
call fcn.00428e69
cmp dword [ebp - 0x738], 0
je 0x41a0fc
mov eax, dword [esi + 0x1ec]
push dword [ebp - 0x750]
add eax, 0x738
push eax
call fcn.0047eb2f
pop ecx
push edx
push eax
call fcn.004020a7
add esp, 0xc
test eax, eax
je 0x41a0fc
and dword [ebp - 0x73c], 0
and dword [ebp - 0x744], 0
add ebx, 0xfffffff0
mov ecx, ebx
call fcn.00401325
add edi, 0xfffffff0
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.00401325
mov ebx, dword [ebp - 0x74c]
mov edi, 0x4ef184
jmp 0x41a25e
lea ecx, [ebx - 0x10]
call fcn.00401325
lea ecx, [edi - 0x10]
mov byte [ebp - 4], 8
call fcn.00401325
mov ebx, dword [ebp - 0x74c]
mov eax, dword [ebx + 0x1ec]
and dword [eax + 0x774], 0
call fcn.00428e38
mov eax, dword [0x4ef864]
mov dword [ebp - 0x754], eax
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x738]
call fcn.004134db
mov byte [ebp - 4], 0xf
push dword [eax]
mov edi, 0x4ef184
push 0x58
push edi
call fcn.0042a517
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x738]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.00401325
push 0x5c
lea esi, [ebp - 0x750]
call fcn.0040a447
push eax
lea eax, [ebp - 0x738]
push eax
mov ecx, esi
call fcn.0040453c
mov byte [ebp - 4], 0x10
push dword [eax]
call fcn.004282c6
pop ecx
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x738]
add ecx, 0xfffffff0
call fcn.00401325
lea eax, [ebp - 0x754]
push eax
push ebx
mov esi, 0x4197b1
push esi
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x52c]
push eax
push dword [0x4efd34]
call fcn.0042ac32
add esp, 0x18
cmp eax, 0x194
mov dword [ebp - 0x73c], eax
mov dword [ebp - 0x744], eax
je 0x41a259
test eax, eax
je 0x41a259
mov eax, dword [0x4ef864]
mov dword [ebp - 0x754], eax
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x738]
call fcn.004134db
mov byte [ebp - 4], 0x11
push dword [eax]
push 0x58
push edi
call fcn.0042a517
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x738]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.00401325
lea eax, [ebp - 0x754]
push eax
mov eax, dword [ebx + 0x1ec]
push dword [eax + 0x2d8]
lea eax, [ebp - 0x750]
push ebx
push esi
push eax
lea eax, [ebp - 0x748]
push eax
call fcn.0042b4cc
add esp, 0x18
mov dword [ebp - 0x73c], eax
call fcn.00428e69
call fcn.0043536e
test eax, eax
je 0x41a32f
push 9
call fcn.004353a1
mov esi, eax
test esi, esi
pop ecx
je 0x41a32f
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x740]
call fcn.0040161b
mov byte [ebp - 4], 0x12
cmp dword [0x4f0098], 0
jne 0x41a2cd
push 0
push 0x4b6968
lea eax, [ebp - 0x740]
push str._s_d
push eax
call fcn.004063eb
mov eax, dword [esi]
add esp, 0x10
push dword [ebp - 0x740]
mov ecx, esi
call dword [eax + 0x10]
mov dword [0x4f0098], 1
cmp dword [ebp - 0x744], 0
je 0x41a315
cmp dword [0x4f0094], 0
jne 0x41a315
push dword [ebp - 0x744]
lea eax, [ebp - 0x740]
push 0x4b6968
push str._s_d
push eax
call fcn.004063eb
mov eax, dword [esi]
add esp, 0x10
push dword [ebp - 0x740]
mov ecx, esi
call dword [eax + 0x10]
mov dword [0x4f0094], 1
push 1
call fcn.004353de
pop ecx
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x740]
add ecx, 0xfffffff0
call fcn.00401325
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.0047e7d0
lea eax, [ebp - 0x11c]
add esp, 0xc
push eax
call fcn.0042b045
xor esi, esi
cmp dword [ebp - 0x73c], esi
pop ecx
lea eax, [ebp - 0x11c]
push eax
je 0x41a425
lea ecx, [ebp - 0x738]
call fcn.004134db
mov byte [ebp - 4], 0x13
push dword [ebp - 0x73c]
push dword [ebp - 0x748]
push dword [eax]
push 0x14d
push edi
call fcn.0042a517
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x738]
add esp, 0x14
add ecx, 0xfffffff0
call fcn.00401325
cmp dword [ebp - 0x73c], 0x17
jne 0x41a407
mov eax, dword [0x4ee7f4]
mov ecx, dword [eax]
mov esi, 0xc5
push esi
lea edx, [ebp - 0x760]
push edx
push eax
call dword [ecx + 0xc]
push esi
push edi
call fcn.0042a4c4
xor eax, eax
inc eax
push esi
mov dword [0x4ef878], eax
mov dword [0x4efd30], eax
mov eax, dword [0x4ee7f4]
mov ecx, dword [eax]
lea edx, [ebp - 0x760]
push edx
push eax
call dword [ecx + 0xc]
push 0x10
push str.Kingsoft_Antivirus_Update
push dword [ebp - 0x760]
mov ecx, ebx
call fcn.0046423e
push 3
jmp 0x419c80
mov eax, dword [ebx + 0x1ec]
xor esi, esi
inc esi
mov dword [eax + 0x310], 2
mov dword [0x4ef878], esi
jmp 0x419ab5
lea ecx, [ebp - 0x77c]
call fcn.00404714
mov eax, dword [ebx + 0x1ec]
cmp dword [eax + 0x774], esi
jne 0x41a47c
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x738]
call fcn.004134db
mov byte [ebp - 4], 0x14
push dword [ebp - 0x748]
push dword [eax]
push 0x196
push edi
call fcn.0042a517
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x738]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.00401325
cmp dword [ebp - 0x754], esi
je 0x41a491
push 0x51b
push edi
call fcn.0042a517
pop ecx
pop ecx
mov eax, dword [ebx + 0x1ec]
cmp dword [eax + 0x784], esi
je 0x41a50c
cmp dword [eax + 0x774], esi
jne 0x41a50c
call fcn.00428e38
mov ecx, dword [ebx + 0x1ec]
add ecx, 0x760
call fcn.00402a47
test eax, eax
je 0x419ab2
mov eax, dword [ebx + 0x1ec]
cmp eax, esi
je 0x41a4dc
call fcn.00419852
cmp eax, esi
jne 0x41a560
mov eax, dword [ebx + 0x1ec]
push dword [eax + 0x788]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x419ab2
mov ecx, dword [ebx + 0x1ec]
add ecx, 0x788
call fcn.00402a47
jmp 0x419ab2
call fcn.00428e38
mov ecx, dword [ebx + 0x1ec]
add ecx, 0x760
call fcn.00402a47
test eax, eax
jne 0x41a530
call fcn.00428e69
jmp 0x419ab2
mov eax, dword [ebx + 0x1ec]
mov ecx, dword [eax + 0x760]
mov eax, dword [eax + 0x788]
push esi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x41a526
mov ecx, dword [ebx + 0x1ec]
add ecx, 0x788
call fcn.00402a47
call fcn.00428e69
mov ebx, dword [ebx + 0x1ec]
push dword [ebx + 0x760]
add ebx, 0x738
push ebx
call fcn.0047eb2f
pop ecx
push edx
push eax
call fcn.004020a7
add esp, 0xc
test eax, eax
jne 0x41a59d
mov dword [0x4ef878], 1
push 0x197
jmp 0x41a5a2
push 0x198
push edi
call fcn.0042a4c4
jmp 0x419ab5