Function at 0x405721
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x170
push esi
push edi
and dword [ebp - 0x28], 0
and dword [ebp - 0x48], 0
and dword [ebp - 0x40], 0
and dword [ebp - 0x10], 0
and dword [ebp - 0x24], 0
and dword [ebp - 8], 0
push str.MaxAttempts
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x10]
cmp eax, dword [ebp - 0x134]
jne 0x405798
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebp - 0x130]
jne 0x405798
mov dword [ebp - 0xb8], 1
jmp 0x40579f
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x38], eax
push 0x431800
call sub.libav.dll_Ordinal_44203
pop ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4057c4
push 0x39
pop eax
jmp 0x406536
push 0x200
push dword [ebp - 0x14]
push 0x431a00
call fcn.004106a0
add esp, 0xc
xor eax, eax
inc eax
imul eax, eax, 0x1ff
mov byte [eax + 0x431a00], 0
push dword [ebp - 0x14]
call fcn.0040fcd8
pop ecx
push 0x431a00
call fcn.004231a1
pop ecx
test eax, eax
je 0x405809
push 0x39
pop eax
jmp 0x406536
lea eax, [ebp - 0x170]
push eax
call fcn.0041144a
pop ecx
push str.LocalIPAddress
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
je 0x40583a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
push str.HTTPProxyServer
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
cmp dword [eax + 0x18], 0
jne 0x405864
push str.PrivateMirror
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
cmp dword [eax + 0x18], 0
je 0x40587c
push 0
lea eax, [ebp - 0xf8]
push eax
push str.mirrors.dat
call fcn.00409a35
add esp, 0xc
jmp 0x405892
push 1
lea eax, [ebp - 0xf8]
push eax
push str.mirrors.dat
call fcn.00409a35
add esp, 0xc
push 0x2e
push 0
lea eax, [ebp - 0x168]
push eax
call fcn.004104e0
add esp, 0xc
push str.DatabaseCustomURL
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
je 0x405902
cmp dword [ebp - 4], 0
je 0x405902
push dword [ebp - 0x38]
push dword [ebp - 0x24]
push dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
push dword [eax + 8]
call fcn.00407c33
add esp, 0x14
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jne 0x4058f7
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov dword [ebp - 4], eax
jmp 0x4058c0
push str.update_db
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
je 0x405d21
cmp dword [ebp - 4], 0
je 0x405d1c
mov dword [ebp - 0x8c], str.custom
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
mov al, byte [eax]
mov byte [ebp - 0x4c], al
mov ecx, dword [ebp - 0x8c]
cmp al, byte [ecx]
jne 0x405990
cmp byte [ebp - 0x4c], 0
je 0x405987
mov eax, dword [ebp - 0x94]
mov al, byte [eax + 1]
mov byte [ebp - 0x39], al
mov ecx, dword [ebp - 0x8c]
cmp al, byte [ecx + 1]
jne 0x405990
add dword [ebp - 0x94], 2
add dword [ebp - 0x8c], 2
cmp byte [ebp - 0x39], 0
jne 0x405941
and dword [ebp - 0xd4], 0
jmp 0x40599b
sbb eax, eax
or eax, 1
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
jne 0x405a1d
push str.DatabaseCustomURL
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
cmp dword [eax + 0x18], 0
jne 0x4059cf
mov dword [ebp - 0xa4], 0x38
push dword [ebp - 0x10]
call fcn.0040fcd8
pop ecx
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
lea eax, [ebp - 0xf8]
push eax
push 0x431800
push str.mirrors.dat
call fcn.00409f49
add esp, 0xc
lea eax, [ebp - 0xf8]
push eax
call fcn.00409832
pop ecx
push 0x431a00
call sub.libav.dll_Ordinal_44210
pop ecx
mov eax, dword [ebp - 0xa4]
jmp 0x406536
xor eax, eax
inc eax
shl eax, 0
mov byte [ebp + eax - 0x20], 0x61
xor eax, eax
inc eax
imul eax, eax, 3
mov byte [ebp + eax - 0x20], 0x6e
xor eax, eax
inc eax
shl eax, 1
mov byte [ebp + eax - 0x20], 0x69
xor eax, eax
inc eax
imul eax, eax, 0
mov byte [ebp + eax - 0x20], 0x6d
xor eax, eax
inc eax
shl eax, 2
mov byte [ebp + eax - 0x20], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
mov al, byte [eax]
mov byte [ebp - 0x4a], al
mov ecx, dword [ebp - 0x74]
cmp al, byte [ecx]
jne 0x405aab
cmp byte [ebp - 0x4a], 0
je 0x405aa2
mov eax, dword [ebp - 0x9c]
mov al, byte [eax + 1]
mov byte [ebp - 0x41], al
mov ecx, dword [ebp - 0x74]
cmp al, byte [ecx + 1]
jne 0x405aab
add dword [ebp - 0x9c], 2
add dword [ebp - 0x74], 2
cmp byte [ebp - 0x41], 0
jne 0x405a65
and dword [ebp - 0xb4], 0
jmp 0x405ab6
sbb eax, eax
or eax, 1
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x405c3e
mov dword [ebp - 0x7c], str.daily
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
mov al, byte [eax]
mov byte [ebp - 0x4b], al
mov ecx, dword [ebp - 0x7c]
cmp al, byte [ecx]
jne 0x405b28
cmp byte [ebp - 0x4b], 0
je 0x405b1f
mov eax, dword [ebp - 0xa0]
mov al, byte [eax + 1]
mov byte [ebp - 0x49], al
mov ecx, dword [ebp - 0x7c]
cmp al, byte [ecx + 1]
jne 0x405b28
add dword [ebp - 0xa0], 2
add dword [ebp - 0x7c], 2
cmp byte [ebp - 0x49], 0
jne 0x405ae2
and dword [ebp - 0xc8], 0
jmp 0x405b33
sbb eax, eax
or eax, 1
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x405c3e
mov dword [ebp - 0x84], str.safebrowsing
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov al, byte [eax]
mov byte [ebp - 0x2e], al
mov ecx, dword [ebp - 0x84]
cmp al, byte [ecx]
jne 0x405ba5
cmp byte [ebp - 0x2e], 0
je 0x405b9c
mov eax, dword [ebp - 0x68]
mov al, byte [eax + 1]
mov byte [ebp - 0x30], al
mov ecx, dword [ebp - 0x84]
cmp al, byte [ecx + 1]
jne 0x405ba5
add dword [ebp - 0x68], 2
add dword [ebp - 0x84], 2
cmp byte [ebp - 0x30], 0
jne 0x405b5f
and dword [ebp - 0xc0], 0
jmp 0x405bb0
sbb eax, eax
or eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x405c3e
mov dword [ebp - 0x6c], str.bytecode
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov al, byte [eax]
mov byte [ebp - 0x32], al
mov ecx, dword [ebp - 0x6c]
cmp al, byte [ecx]
jne 0x405c1e
cmp byte [ebp - 0x32], 0
je 0x405c15
mov eax, dword [ebp - 0x98]
mov al, byte [eax + 1]
mov byte [ebp - 0x4e], al
mov ecx, dword [ebp - 0x6c]
cmp al, byte [ecx + 1]
jne 0x405c1e
add dword [ebp - 0x98], 2
add dword [ebp - 0x6c], 2
cmp byte [ebp - 0x4e], 0
jne 0x405bd8
and dword [ebp - 0xd0], 0
jmp 0x405c29
sbb eax, eax
or eax, 1
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jne 0x405c50
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xbc], eax
and dword [ebp - 0xac], 0
jmp 0x405c61
and dword [ebp - 0xbc], 0
mov dword [ebp - 0xac], 1
push dword [ebp + 0x10]
push dword [ebp - 0xac]
push dword [ebp - 0x38]
lea eax, [ebp - 0xf8]
push eax
push dword [ebp - 0x48]
push dword [ebp - 0x24]
push dword [ebp - 0xbc]
push dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x168]
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp - 4]
push dword [eax + 8]
call fcn.00408333
add esp, 0x30
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x32
jle 0x405d01
cmp dword [ebp - 0x10], 0
je 0x405cb7
push dword [ebp - 0x10]
call fcn.0040fcd8
pop ecx
cmp dword [ebp - 8], 0
je 0x405cc6
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
lea eax, [ebp - 0xf8]
push eax
push 0x431800
push str.mirrors.dat
call fcn.00409f49
add esp, 0xc
lea eax, [ebp - 0xf8]
push eax
call fcn.00409832
pop ecx
push 0x431a00
call sub.libav.dll_Ordinal_44210
pop ecx
mov eax, dword [ebp - 0xc]
jmp 0x406536
cmp dword [ebp - 0xc], 0
jne 0x405d0e
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov dword [ebp - 4], eax
jmp 0x405921
jmp 0x406188
xor eax, eax
inc eax
imul eax, eax, 3
mov byte [ebp + eax - 0x20], 0x6e
xor eax, eax
inc eax
shl eax, 0
mov byte [ebp + eax - 0x20], 0x61
xor eax, eax
inc eax
shl eax, 2
mov byte [ebp + eax - 0x20], 0
xor eax, eax
inc eax
shl eax, 1
mov byte [ebp + eax - 0x20], 0x69
xor eax, eax
inc eax
imul eax, eax, 0
mov byte [ebp + eax - 0x20], 0x6d
push dword [ebp + 0x10]
push 0
push dword [ebp - 0x38]
lea eax, [ebp - 0xf8]
push eax
push dword [ebp - 0x48]
push dword [ebp - 0x24]
push dword [ebp - 0x10]
push dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x168]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x20]
push eax
call fcn.00408333
add esp, 0x30
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x32
jle 0x405dee
cmp dword [ebp - 0x10], 0
je 0x405da4
push dword [ebp - 0x10]
call fcn.0040fcd8
pop ecx
cmp dword [ebp - 8], 0
je 0x405db3
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
lea eax, [ebp - 0xf8]
push eax
push 0x431800
push str.mirrors.dat
call fcn.00409f49
add esp, 0xc
lea eax, [ebp - 0xf8]
push eax
call fcn.00409832
pop ecx
push 0x431a00
call sub.libav.dll_Ordinal_44210
pop ecx
mov eax, dword [ebp - 0xc]
jmp 0x406536
cmp dword [ebp - 0xc], 0
jne 0x405dfb
mov dword [ebp - 0x28], 1
push dword [ebp + 0x10]
push 0
push dword [ebp - 0x38]
lea eax, [ebp - 0xf8]
push eax
push dword [ebp - 0x48]
push dword [ebp - 0x24]
push dword [ebp - 0x10]
push dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x168]
push eax
push dword [ebp + 0xc]
push str.daily
call fcn.00408333
add esp, 0x30
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x32
jle 0x405e93
cmp dword [ebp - 0x10], 0
je 0x405e49
push dword [ebp - 0x10]
call fcn.0040fcd8
pop ecx
cmp dword [ebp - 8], 0
je 0x405e58
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
lea eax, [ebp - 0xf8]
push eax
push 0x431800
push str.mirrors.dat
call fcn.00409f49
add esp, 0xc
lea eax, [ebp - 0xf8]
push eax
call fcn.00409832
pop ecx
push 0x431a00
call sub.libav.dll_Ordinal_44210
pop ecx
mov eax, dword [ebp - 0xc]
jmp 0x406536
cmp dword [ebp - 0xc], 0
jne 0x405ea0
mov dword [ebp - 0x28], 1
push str.SafeBrowsing
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
cmp dword [eax + 0x18], 0
jne 0x405f01
and dword [ebp - 0x70], 0
push 4
push str.safebrowsing.cvd
call sub.libav.dll_Ordinal_44340
pop ecx
pop ecx
test eax, eax
jne 0x405ed4
mov dword [ebp - 0x70], str.safebrowsing.cvd
jmp 0x405eed
push 4
push str.safebrowsing.cld
call sub.libav.dll_Ordinal_44340
pop ecx
pop ecx
test eax, eax
jne 0x405eed
mov dword [ebp - 0x70], str.safebrowsing.cld
cmp dword [ebp - 0x70], 0
je 0x405efc
push dword [ebp - 0x70]
call fcn.00422e36
pop ecx
jmp 0x405fa6
push dword [ebp + 0x10]
push 0
push dword [ebp - 0x38]
lea eax, [ebp - 0xf8]
push eax
push dword [ebp - 0x48]
push dword [ebp - 0x24]
push dword [ebp - 0x10]
push dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x168]
push eax
push dword [ebp + 0xc]
push str.safebrowsing
call fcn.00408333
add esp, 0x30
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x32
jle 0x405f99
cmp dword [ebp - 0x10], 0
je 0x405f4f
push dword [ebp - 0x10]
call fcn.0040fcd8
pop ecx
cmp dword [ebp - 8], 0
je 0x405f5e
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
lea eax, [ebp - 0xf8]
push eax
push 0x431800
push str.mirrors.dat
call fcn.00409f49
add esp, 0xc
lea eax, [ebp - 0xf8]
push eax
call fcn.00409832
pop ecx
push 0x431a00
call sub.libav.dll_Ordinal_44210
pop ecx
mov eax, dword [ebp - 0xc]
jmp 0x406536
cmp dword [ebp - 0xc], 0
jne 0x405fa6
mov dword [ebp - 0x28], 1
push str.Bytecode
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
cmp dword [eax + 0x18], 0
jne 0x406007
and dword [ebp - 0x78], 0
push 4
push str.bytecode.cvd
call sub.libav.dll_Ordinal_44340
pop ecx
pop ecx
test eax, eax
jne 0x405fda
mov dword [ebp - 0x78], str.bytecode.cvd
jmp 0x405ff3
push 4
push str.bytecode.cld
call sub.libav.dll_Ordinal_44340
pop ecx
pop ecx
test eax, eax
jne 0x405ff3
mov dword [ebp - 0x78], str.bytecode.cld
cmp dword [ebp - 0x78], 0
je 0x406002
push dword [ebp - 0x78]
call fcn.00422e36
pop ecx
jmp 0x4060ac
push dword [ebp + 0x10]
push 0
push dword [ebp - 0x38]
lea eax, [ebp - 0xf8]
push eax
push dword [ebp - 0x48]
push dword [ebp - 0x24]
push dword [ebp - 0x10]
push dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x168]
push eax
push dword [ebp + 0xc]
push str.bytecode
call fcn.00408333
add esp, 0x30
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x32
jle 0x40609f
cmp dword [ebp - 0x10], 0
je 0x406055
push dword [ebp - 0x10]
call fcn.0040fcd8
pop ecx
cmp dword [ebp - 8], 0
je 0x406064
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
lea eax, [ebp - 0xf8]
push eax
push 0x431800
push str.mirrors.dat
call fcn.00409f49
add esp, 0xc
lea eax, [ebp - 0xf8]
push eax
call fcn.00409832
pop ecx
push 0x431a00
call sub.libav.dll_Ordinal_44210
pop ecx
mov eax, dword [ebp - 0xc]
jmp 0x406536
cmp dword [ebp - 0xc], 0
jne 0x4060ac
mov dword [ebp - 0x28], 1
push str.ExtraDatabase
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
je 0x406188
cmp dword [ebp - 4], 0
je 0x406188
push dword [ebp + 0x10]
push 1
push dword [ebp - 0x38]
lea eax, [ebp - 0xf8]
push eax
push dword [ebp - 0x48]
push dword [ebp - 0x24]
push 0
push dword [ebp + 8]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x168]
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp - 4]
push dword [eax + 8]
call fcn.00408333
add esp, 0x30
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x32
jle 0x40616d
cmp dword [ebp - 0x10], 0
je 0x406123
push dword [ebp - 0x10]
call fcn.0040fcd8
pop ecx
cmp dword [ebp - 8], 0
je 0x406132
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
lea eax, [ebp - 0xf8]
push eax
push 0x431800
push str.mirrors.dat
call fcn.00409f49
add esp, 0xc
lea eax, [ebp - 0xf8]
push eax
call fcn.00409832
pop ecx
push 0x431a00
call sub.libav.dll_Ordinal_44210
pop ecx
mov eax, dword [ebp - 0xc]
jmp 0x406536
cmp dword [ebp - 0xc], 0
jne 0x40617a
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov dword [ebp - 4], eax
jmp 0x4060cb
cmp dword [ebp - 0x10], 0
je 0x406197
push dword [ebp - 0x10]
call fcn.0040fcd8
pop ecx
lea eax, [ebp - 0xf8]
push eax
push 0x431800
push str.mirrors.dat
call fcn.00409f49
add esp, 0xc
lea eax, [ebp - 0xf8]
push eax
call fcn.00409832
pop ecx
push 0x431a00
call sub.libav.dll_Ordinal_44210
pop ecx
call fcn.0040534c
test eax, eax
jge 0x4061e8
cmp dword [ebp - 8], 0
je 0x4061e0
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
push 0x40
pop eax
jmp 0x406536
cmp dword [ebp - 0x28], 0
je 0x406255
push str.HTTPProxyServer
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
push str.NotifyClamd
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1c], 0
je 0x406224
mov eax, dword [ebp - 4]
push dword [eax + 8]
call fcn.0040a675
pop ecx
push str.OnUpdateExecute
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
je 0x406255
push dword [ebp + 8]
mov eax, dword [ebp - 4]
push dword [eax + 8]
push str.OnUpdateExecute
call fcn.00401055
add esp, 0xc
cmp dword [ebp - 0x48], 0
je 0x406525
push str.OnOutdatedExecute
push dword [ebp + 8]
call sub.libav.dll_Ordinal_44283
pop ecx
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
je 0x406525
mov eax, dword [ebp - 4]
push dword [eax + 8]
call fcn.00422ce8
pop ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x4062d2
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax]
test eax, eax
je 0x4062d2
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax]
push eax
push str.0123456789.
call fcn.00410570
pop ecx
pop ecx
test eax, eax
jne 0x4062c9
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
and dword [ebp - 8], 0
jmp 0x4062d2
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x406299
cmp dword [ebp - 8], 0
je 0x406503
push 0x4279d0
push dword [ebp - 0x2c]
call fcn.004107d0
pop ecx
pop ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x406503
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x64]
mov al, byte [eax]
mov byte [ebp - 0x2f], al
inc dword [ebp - 0x64]
cmp byte [ebp - 0x2f], 0
jne 0x406308
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x114]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x60]
mov al, byte [eax]
mov byte [ebp - 0x4d], al
inc dword [ebp - 0x60]
cmp byte [ebp - 0x4d], 0
jne 0x406338
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x110]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x120]
lea eax, [ecx + eax + 0xa]
push eax
call fcn.0041102c
pop ecx
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jne 0x406398
push dword [ebp - 0x2c]
call fcn.0040fcd8
pop ecx
cmp dword [ebp - 8], 0
je 0x406390
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
push 0x4b
pop eax
jmp 0x406536
mov eax, dword [ebp - 0x14]
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
inc eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0xa8]
mov al, byte [eax]
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0x80]
mov cl, byte [ebp - 0x15]
mov byte [eax], cl
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp byte [ebp - 0x15], 0
jne 0x4063be
mov eax, dword [ebp - 8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x58]
mov al, byte [eax]
mov byte [ebp - 0x31], al
inc dword [ebp - 0x58]
cmp byte [ebp - 0x31], 0
jne 0x4063fa
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov al, byte [eax + 1]
mov byte [ebp - 0x4f], al
inc dword [ebp - 0x88]
cmp byte [ebp - 0x4f], 0
jne 0x406430
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x100]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x5c]
mov al, byte [eax]
mov byte [ebp - 0x33], al
inc dword [ebp - 0x5c]
cmp byte [ebp - 0x33], 0
jne 0x406477
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
mov al, byte [eax + 1]
mov byte [ebp - 0x2d], al
inc dword [ebp - 0x90]
cmp byte [ebp - 0x2d], 0
jne 0x4064ad
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x104]
mov eax, dword [ebp - 0x10c]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebp - 0x2c]
call fcn.0040fcd8
pop ecx
push dword [ebp - 0x54]
call fcn.00422ce8
pop ecx
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x54]
call fcn.0040fcd8
pop ecx
cmp dword [ebp - 8], 0
je 0x40651c
push dword [ebp + 8]
push dword [ebp - 0x2c]
push str.OnOutdatedExecute
call fcn.00401055
add esp, 0xc
push dword [ebp - 0x2c]
call fcn.0040fcd8
pop ecx
cmp dword [ebp - 8], 0
je 0x406534
push dword [ebp - 8]
call fcn.0040fcd8
pop ecx
xor eax, eax
pop edi
pop esi
leave
ret