Function at 0x404aad
Capabilities:
Move file

Disassembly:
sub esp, 0x190
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x194]
push ebx
xor ebx, ebx
push ebp
push esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x30], edx
push edi
mov esi, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404afa
sub ecx, edx
cmp ecx, 0xff
ja 0x405026
push 7
push str.http:__
push esi
call dword [sym.imp.MSVCR110.dll__strnicmp]
mov edi, dword [sym.imp.libav.dll_Ordinal_44283]
xor ebp, ebp
add esp, 0xc
inc ebp
test eax, eax
jne 0x404d60
push 0x100
lea eax, [esp + 0x9c]
push esi
push eax
call dword [sym.imp.MSVCR110.dll_strncpy]
add esp, 0xc
lea eax, [esp + 0x9f]
push 0x2f
push eax
mov byte [esp + 0x19f], bl
call dword [sym.imp.MSVCR110.dll_strchr]
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
je 0x405026
lea edx, [esp + 0x98]
mov eax, esi
sub eax, edx
inc eax
add eax, ecx
push 0x2f
push esi
mov byte [ecx], bl
mov dword [esp + 0x24], eax
call dword [sym.imp.MSVCR110.dll_strrchr]
mov esi, eax
pop ecx
pop ecx
inc esi
je 0x405026
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404b98
sub ecx, edx
cmp ecx, 4
jb 0x405026
push str.HTTPProxyServer
push dword [esp + 0x18]
call edi
pop ecx
pop ecx
cmp dword [eax + 0x18], ebx
je 0x404c40
mov eax, dword [eax + 8]
push 7
push str.http:__
push eax
mov dword [esp + 0x24], eax
call dword [sym.imp.MSVCR110.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x404be1
add dword [esp + 0x18], 7
push str.HTTPProxyUsername
push dword [esp + 0x18]
call edi
pop ecx
pop ecx
cmp dword [eax + 0x18], ebx
je 0x404c17
mov eax, dword [eax + 8]
push str.HTTPProxyPassword
push dword [esp + 0x18]
mov dword [esp + 0x34], eax
call edi
pop ecx
pop ecx
cmp dword [eax + 0x18], ebx
je 0x404d23
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
push str.HTTPProxyPort
push dword [esp + 0x18]
call edi
pop ecx
pop ecx
cmp dword [eax + 0x18], ebx
je 0x404c30
mov eax, dword [eax + 0x10]
mov dword [esp + 0x20], eax
push dword [esp + 0x18]
push str.Connecting_via__s_n
call fcn.004077c4
pop ecx
pop ecx
push str.HTTPUserAgent
push dword [esp + 0x18]
call edi
pop ecx
pop ecx
cmp dword [eax + 0x18], ebx
je 0x404c59
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
push str.ConnectTimeout
push dword [esp + 0x18]
call edi
mov eax, dword [eax + 0x10]
push str.ReceiveTimeout
push dword [esp + 0x20]
mov dword [esp + 0x4c], eax
call edi
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x50]
push eax
push esi
mov byte [esp + 0x8c], bl
call dword [sym.imp.libav.dll_Ordinal_44339]
add esp, 0x18
cmp eax, 0xffffffff
je 0x404cab
push dword [esp + 0x64]
lea ecx, [esp + 0x78]
push dword [esp + 0x64]
call fcn.004026f8
pop ecx
pop ecx
push 0x410580
call dword [sym.imp.libav.dll_Ordinal_44203]
pop ecx
push ebp
push ecx
xor ecx, ecx
cmp byte [esp + 0x7c], cl
mov edi, eax
lea eax, [esp + 0x7c]
cmove eax, ecx
push eax
push ebx
push dword [esp + 0x1bc]
mov ecx, dword [esp + 0x30]
push ebx
push dword [esp + 0x48]
lea eax, [esp + 0xbb]
push dword [esp + 0x58]
mov edx, edi
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x54]
push dword [esp + 0x4c]
push dword [esp + 0x48]
push dword [esp + 0x6c]
push ebx
push eax
call fcn.004033a5
add esp, 0x40
mov dword [esp + 0x1c], eax
cmp eax, ebp
jne 0x404d2a
push esi
push str._s_is_up_to_date__version:_custom_database__n
call fcn.004077c4
pop ecx
pop ecx
jmp 0x404f9a
push 0x38
jmp 0x405028
jle 0x404e06
cmp dword [esp + 0x1ac], ebx
lea eax, [esp + 0x9f]
push eax
push esi
push 0x5e
pop eax
push 0x21
pop ecx
cmovne eax, ecx
push eax
push str._cCant_download__s_from__s_n
call fcn.004077c4
mov ebp, dword [esp + 0x2c]
add esp, 0x10
jmp 0x404f9a
push 7
push str.file:__
push esi
call dword [sym.imp.MSVCR110.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x405026
lea eax, [esi + 7]
push 0x5c
push eax
mov dword [esp + 0x28], eax
call dword [sym.imp.MSVCR110.dll_strrchr]
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x405026
mov ecx, esi
inc esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404d9b
sub ecx, edx
cmp ecx, 5
jb 0x405026
push 0x410580
call dword [sym.imp.libav.dll_Ordinal_44203]
mov edi, eax
pop ecx
test edi, edi
je 0x405026
push esi
push str.Downloading__s____0____r
call fcn.004077c4
push edi
push dword [esp + 0x2c]
call dword [sym.imp.libav.dll_Ordinal_44268]
add esp, 0x10
cmp eax, 0xffffffff
jne 0x404df9
push dword [esp + 0x20]
push str.DatabaseCustomURL:_Cant_copy_file__s_into_database_directory_n
call fcn.004077c4
pop ecx
pop ecx
push 0x46
pop ebp
jmp 0x404fa2
push esi
push str.Downloading__s__100____n
call fcn.004077c4
pop ecx
pop ecx
push str.TestDatabases
push dword [esp + 0x18]
call dword [sym.imp.libav.dll_Ordinal_44283]
pop ecx
pop ecx
cmp dword [eax + 0x18], ebx
je 0x404f3d
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404e25
sub ecx, edx
cmp ecx, 4
jbe 0x404f3d
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404e3c
sub ecx, edx
mov edx, esi
lea ebp, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x404e4a
sub edx, ebp
lea eax, [ecx + 1]
add eax, edx
push eax
call dword [sym.imp.MSVCR110.dll_malloc]
mov ebp, eax
pop ecx
test ebp, ebp
jne 0x404e6d
push 0x37
jmp 0x404f99
push esi
push edi
push str._s_s
push ebp
call dword [sym.imp.MSVCR110.dll_sprintf]
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404e83
sub ecx, edx
mov edx, esi
lea eax, [edx + 1]
mov dword [esp + 0x1c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x404e95
sub edx, dword [esp + 0x1c]
push ebp
push edi
lea eax, [edx + ecx]
mov byte [eax + ebp], bl
call dword [sym.imp.MSVCR110.dll_rename]
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x404ee7
call dword [sym.imp.MSVCR110.dll__errno]
push dword [eax]
call dword [sym.imp.libav.dll_Ordinal_44341]
pop ecx
push eax
push ebp
push edi
push str._Cant_rename__s_to__s:__s_n
call fcn.004077c4
push edi
call dword [sym.imp.MSVCR110.dll__unlink]
add esp, 0x14
push edi
call dword [sym.imp.MSVCR110.dll_free]
pop ecx
push 0x39
jmp 0x404f24
push edi
call dword [sym.imp.MSVCR110.dll_free]
mov dword [esp], str.Bytecode
push dword [esp + 0x18]
mov edi, ebp
mov dword [0x410018], ebx
call dword [sym.imp.libav.dll_Ordinal_44283]
push dword [eax + 0x18]
mov edx, esi
mov ecx, ebp
call fcn.0040405f
add esp, 0xc
test eax, eax
je 0x404f34
push ebp
call dword [sym.imp.MSVCR110.dll__unlink]
pop ecx
push 0x37
pop esi
push ebp
call dword [sym.imp.MSVCR110.dll_free]
pop ecx
mov eax, esi
jmp 0x405029
xor ebp, ebp
inc ebp
mov dword [0x410018], ebp
push 4
push esi
call dword [sym.imp.libav.dll_Ordinal_44340]
pop ecx
pop ecx
test eax, eax
jne 0x404f69
push esi
call dword [sym.imp.MSVCR110.dll__unlink]
pop ecx
test eax, eax
je 0x404f69
push esi
push str._Cant_unlink__s._Please_fix_the_problem_manually_and_try_again._n
call fcn.004077c4
pop ecx
pop ecx
push 0x35
jmp 0x404f99
push esi
push edi
call dword [sym.imp.MSVCR110.dll_rename]
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x404fae
call dword [sym.imp.MSVCR110.dll__errno]
push dword [eax]
call dword [sym.imp.libav.dll_Ordinal_44341]
pop ecx
push eax
push esi
push edi
push str._Cant_rename__s_to__s:__s_n
call fcn.004077c4
add esp, 0x10
push 0x39
pop ebp
push edi
call dword [sym.imp.MSVCR110.dll__unlink]
pop ecx
push edi
call dword [sym.imp.MSVCR110.dll_free]
pop ecx
mov eax, ebp
jmp 0x405029
push edi
call dword [sym.imp.MSVCR110.dll_free]
mov edi, dword [sym.imp.libav.dll_Ordinal_44258]
mov dword [esp], str..cld
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x404ff6
push str..cvd
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x404ff6
push str..cbc
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x404feb
mov ebx, ebp
jmp 0x40500d
mov ecx, esi
call fcn.00407752
mov ebx, eax
jmp 0x40500d
push esi
call dword [sym.imp.libav.dll_Ordinal_3]
pop ecx
test eax, eax
je 0x40500d
mov ebx, dword [eax + 8]
push eax
call dword [sym.imp.libav.dll_Ordinal_2]
pop ecx
push ebx
push esi
push str._s_updated__version:_custom_database__sigs:__u__n
call fcn.004077c4
mov eax, dword [esp + 0x40]
add esp, 0xc
add dword [eax], ebx
xor eax, eax
jmp 0x405029
push 0x46
pop eax
mov ecx, dword [esp + 0x19c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00407bf7
add esp, 0x190
ret