Function at 0x1003f480
Capabilities:
Read .ini file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1eec
call fcn.10126240
mov eax, dword [0x1017455c]
xor eax, esp
mov dword [esp + 0x1ee8], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
push 0x207
lea edx, [esp + 0x3bd]
push ebx
push edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x3c4], bl
call fcn.10116880
add esp, 0xc
push 0x207
lea eax, [esp + 0x7d5]
push ebx
push eax
mov byte [esp + 0x7dc], bl
call fcn.10116880
add esp, 0xc
push 0x207
lea ecx, [esp + 0x10ed]
push ebx
push ecx
mov byte [esp + 0x10f4], bl
call fcn.10116880
add esp, 0xc
push 0x207
lea edx, [esp + 0xddd]
push ebx
push edx
mov byte [esp + 0xde4], bl
call fcn.10116880
add esp, 0xc
xor esi, esi
mov dword [esp + 0x24], ebx
cmp edi, ebx
je 0x1003fe1a
cmp byte [edi], bl
je 0x1003fe1a
push ebx
push edi
call fcn.10044cc0
add esp, 8
test eax, eax
je 0x1003fe1a
mov eax, dword [esp + 0x2c]
push ebx
push eax
call fcn.10044cc0
add esp, 8
test eax, eax
je 0x1003fe1a
lea edi, [esp + 0x10e8]
call fcn.10039e30
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
test eax, eax
je 0x1003f5cc
lea ecx, [esp + 0x10e8]
push ecx
lea edx, [esp + 0xddc]
push edx
call edi
lea ecx, [esp + 0xdd8]
call fcn.10049c40
push str.eupdate.ini
lea eax, [esp + 0xddc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 1
push ebx
xor edx, edx
lea ecx, [esp + 0xde0]
call fcn.10044660
add esp, 8
test eax, eax
jne 0x1003f5cc
lea esi, [ebx + 1]
mov eax, dword [0x1018cc98]
cmp eax, 0xffffffff
jne 0x1003f5e0
call fcn.1006c2f0
mov dword [0x1018cc98], eax
cmp eax, ebx
je 0x1003f64d
cmp esi, ebx
je 0x1003f64d
push 0x103
lea ecx, [esp + 0x2b5]
push ebx
push ecx
mov byte [esp + 0x2bc], bl
call fcn.10116880
add esp, 0xc
lea edx, [esp + 0xdd8]
push edx
push 0x104
lea eax, [esp + 0x2b8]
push eax
push 0x1013f817
push str.IsOtherOSBuild
push str.Config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esp + 0x2b0], 0x31
jne 0x1003f64d
lea ecx, [esp + 0x2b0]
push ecx
call fcn.1010dc05
add esp, 4
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x3bc]
push ecx
mov byte [esp + 0x7d8], bl
mov byte [esp + 0x3c0], bl
mov byte [edx], bl
call edi
lea ecx, [esp + 0x3b8]
call fcn.10049c40
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.versions.dat
lea edx, [esp + 0x3bc]
push edx
call esi
lea eax, [esp + 0x30]
push 1
push eax
lea edx, [esp + 0x20]
lea ecx, [esp + 0x3c0]
call fcn.10044660
add esp, 8
cmp eax, ebx
jne 0x1003f736
cmp dword [esp + 0x18], ebx
jbe 0x1003f710
test byte [esp + 0x30], 7
je 0x1003f6d3
push 0x80
lea ecx, [esp + 0x3bc]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [esp + 0x3b8]
push eax
call fcn.100581b0
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
cmp esi, ebx
jne 0x1003f7ec
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x3b8]
push ecx
push str.Unable_to_OpenFile__s_
push edx
call fcn.1010d6a8
add esp, 0xc
jmp 0x1003fe2c
test byte [esp + 0x30], 7
je 0x1003f72a
push 0x80
lea edx, [esp + 0x3bc]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [esp + 0x3b8]
call fcn.10033960
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x3bc]
push ecx
call edi
lea ecx, [esp + 0x3b8]
call fcn.10049c40
push str.plugins_versions.dat
lea edx, [esp + 0x3bc]
push edx
call esi
lea eax, [esp + 0x30]
push 1
push eax
lea edx, [esp + 0x20]
lea ecx, [esp + 0x3c0]
call fcn.10044660
add esp, 8
test eax, eax
je 0x1003f79d
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x3b8]
push ecx
push str.Unable_to_find__s_
push edx
call fcn.1010d6a8
add esp, 0xc
jmp 0x1003fe2c
test byte [esp + 0x30], 7
je 0x1003f7b7
push 0x80
lea eax, [esp + 0x3bc]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp dword [esp + 0x18], ebx
ja 0x1003f6d3
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x3b8]
push ecx
push str._s_is_of_zero_bytes_
push edx
call fcn.1010d6a8
add esp, 0xc
lea eax, [esp + 0x3b8]
call fcn.10033960
jmp 0x1003fe2c
push 0x207
mov eax, esi
lea ecx, [esp + 0x7d4]
call fcn.10046580
add esp, 4
test eax, eax
je 0x1003fdcd
lea ebx, [ebx]
push 0x31
lea eax, [esp + 0x179]
push ebx
push eax
mov dword [esp + 0x20], ebx
mov byte [esp + 0x180], bl
call fcn.10116880
add esp, 0xc
push 0x3ff
lea ecx, [esp + 0x12f5]
push ebx
push ecx
mov byte [esp + 0x12fc], bl
call fcn.10116880
add esp, 0xc
push 0x3ff
lea edx, [esp + 0x16f5]
push ebx
push edx
mov byte [esp + 0x16fc], bl
call fcn.10116880
add esp, 0xc
push 0x3ff
lea eax, [esp + 0x9dd]
push ebx
push eax
mov byte [esp + 0x9e4], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea ecx, [esp + 0xfe5]
push ebx
push ecx
mov byte [esp + 0xfec], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea edx, [esp + 0x5c5]
push ebx
push edx
mov byte [esp + 0x5cc], bl
call fcn.10116880
add esp, 0xc
push 0x3ff
lea eax, [esp + 0x1af5]
push ebx
push eax
mov byte [esp + 0x1afc], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea ecx, [esp + 0x1ad]
push ebx
push ecx
mov byte [esp + 0x1b4], bl
call fcn.10116880
add esp, 0xc
push 0x103
lea edx, [esp + 0x6cd]
push ebx
push edx
mov byte [esp + 0x6d4], bl
call fcn.10116880
lea eax, [esp + 0x7dc]
add esp, 0xc
push eax
mov dword [esp + 0x2c], ebx
call fcn.100454f0
add esp, 4
cmp byte [esp + 0x7d0], bl
je 0x1003fdab
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x12f4]
lea ecx, [esp + 0x7d4]
call fcn.10046ea0
or esi, 0xffffffff
add esp, 4
cmp dword [esp + 0x14], esi
je 0x1003f9b8
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x16f4]
lea ecx, [esp + 0x7d4]
call fcn.10046ea0
add esp, 4
cmp dword [esp + 0x14], esi
je 0x1003f9b8
lea eax, [esp + 0x14]
push eax
lea edx, [esp + 0x9dc]
lea ecx, [esp + 0x7d4]
call fcn.10046ea0
add esp, 4
cmp dword [esp + 0x14], esi
je 0x1003f9b8
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1af4]
lea ecx, [esp + 0x7d4]
call fcn.10046ea0
add esp, 4
cmp byte [esp + 0x12f0], bl
je 0x1003fe08
cmp byte [esp + 0x16f0], bl
je 0x1003fe08
cmp byte [esp + 0x9d8], bl
je 0x1003fe08
cmp byte [esp + 0x1af0], bl
je 0x1003fe08
lea eax, [esp + 0x12f0]
inc eax
cmp byte [eax], bl
jne 0x1003f9f3
lea edx, [esp + 0x12f0]
sub eax, edx
cmp eax, 1
jne 0x1003fe08
lea eax, [esp + 0x16f0]
inc eax
cmp byte [eax], bl
jne 0x1003fa11
lea ecx, [esp + 0x16f0]
sub eax, ecx
cmp eax, 0x20
jne 0x1003fe08
lea edx, [esp + 0x9d8]
push edx
lea eax, [esp + 0xfe4]
push eax
call edi
push ebx
push 0x10149ea8
lea ecx, [esp + 0x9e0]
push 0x101483c4
push ecx
call fcn.10047ed0
mov edx, dword [esp + 0x2c]
add esp, 0x10
push edx
lea eax, [esp + 0x5c4]
push eax
call edi
lea ecx, [esp + 0x5c0]
call fcn.10049c40
lea ecx, [esp + 0x9d8]
push ecx
lea edx, [esp + 0x5c4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x9d8]
push 0x5c
push eax
call fcn.1010e930
mov ecx, dword [esp + 0x34]
add esp, 8
push ecx
lea edx, [esp + 0x1ac]
push edx
call edi
lea ecx, [esp + 0x1a8]
call fcn.10049c40
lea eax, [esp + 0x9d8]
push eax
lea ecx, [esp + 0x1ac]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov al, byte [esp + 0x12f0]
cmp al, 0x2d
je 0x1003fbd3
cmp al, 0x30
jne 0x1003fb1a
lea ecx, [esp + 0x9d8]
cmp dword [esp + 0x24], ebx
jne 0x1003fb76
push str.linux
call fcn.10047020
add esp, 4
cmp eax, esi
jne 0x1003fb1a
push str.macosx
lea ecx, [esp + 0x9dc]
call fcn.10047020
add esp, 4
cmp eax, esi
je 0x1003fbd3
lea edx, [esp + 0x30]
push 1
push edx
lea edx, [esp + 0x20]
lea ecx, [esp + 0x5c8]
call fcn.10044660
add esp, 8
test eax, eax
je 0x1003fc00
cmp byte [esp + 0x12f0], 0x30
je 0x1003fdab
lea edx, [esp + 0x5c0]
push edx
push str._s_not_present_
mov eax, dword [esp + 0x18]
push eax
call fcn.1010d6a8
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push ecx
call fcn.1010f263
add esp, 4
jmp 0x1003fe2c
push str.version
call fcn.10047020
add esp, 4
cmp eax, esi
je 0x1003fb1a
push 0x1014a628
lea ecx, [esp + 0x9dc]
call fcn.10047020
add esp, 4
cmp eax, esi
jne 0x1003fbd3
push str..dat
lea ecx, [esp + 0x9dc]
call fcn.10047020
add esp, 4
cmp eax, esi
jne 0x1003fbd3
push str..sig
lea ecx, [esp + 0x9dc]
call fcn.10047020
add esp, 4
cmp eax, esi
je 0x1003fb1a
push 1
push ebx
xor edx, edx
lea ecx, [esp + 0x1b0]
call fcn.10044660
add esp, 8
test eax, eax
je 0x1003fdab
lea esi, [esp + 0x1a8]
call fcn.100581e0
jmp 0x1003fdab
test byte [esp + 0x30], 7
je 0x1003fc1a
push 0x80
lea eax, [esp + 0x5c4]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [esp + 0x30]
push 1
push ecx
lea edx, [esp + 0x20]
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x20], ebx
call fcn.10044660
add esp, 8
test eax, eax
jne 0x1003fd1f
cmp dword [esp + 0x18], ebx
jbe 0x1003fc9c
test byte [esp + 0x30], 7
je 0x1003fc60
push 0x80
lea edx, [esp + 0x1ac]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [esp + 0x174]
lea edx, [esp + 0x1a8]
call fcn.10071550
cmp eax, 1
jne 0x1003fd1f
lea eax, [esp + 0x174]
lea ecx, [esp + 0x16f0]
call fcn.10031890
test eax, eax
jne 0x1003fd1f
jmp 0x1003fdab
push 0x103
lea eax, [esp + 0x2b5]
push ebx
push eax
mov byte [esp + 0x2bc], bl
call fcn.10116880
add esp, 0xc
lea esi, [esp + 0x2b0]
call fcn.10045ef0
lea ecx, [esp + 0x2b1]
push ecx
mov edx, esi
push edx
call edi
mov eax, esi
push eax
lea ecx, [esp + 0x1ac]
push ecx
lea edx, [esp + 0x6d0]
push str._s._s.___
push edx
call fcn.1010d6a8
push ebx
lea eax, [esp + 0x6dc]
lea ebx, [esp + 0x1bc]
call fcn.1004b670
add esp, 0x14
cmp eax, 1
jne 0x1003fd11
mov dword [esp + 0x28], eax
jmp 0x1003fd1d
lea eax, [esp + 0x1a8]
call fcn.10045010
xor ebx, ebx
push ebx
lea edi, [esp + 0x1ac]
lea ebx, [esp + 0x5c4]
call fcn.10063ba0
add esp, 4
cmp dword [0x101936b4], 0
mov edi, eax
je 0x1003fd6b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea eax, [esp + 0x1a8]
push eax
mov ecx, ebx
push ecx
push edi
push str._UPD__InstallToPubAvx:_u__Src_s__Dst_s_
push 0
call fcn.10053700
add esp, 0x14
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp edi, 1
jne 0x1003fda3
cmp dword [esp + 0x28], 0
je 0x1003fda3
cmp byte [esp + 0x6c8], 0
je 0x1003fda3
push 0
lea eax, [esp + 0x6cc]
call fcn.1004b7d0
add esp, 4
test eax, eax
jne 0x1003fda3
push eax
lea ecx, [esp + 0x6cc]
call fcn.100423c0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor ebx, ebx
mov esi, dword [esp + 0x20]
push 0x207
mov eax, esi
lea ecx, [esp + 0x7d4]
call fcn.10046580
add esp, 4
test eax, eax
jne 0x1003f810
push esi
call fcn.1010f263
add esp, 4
cmp dword [0x101936b4], ebx
je 0x1003fdec
push str._UPD__InstallToPubAvx_Returning_TRUE
push ebx
call fcn.10053700
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1ee8]
xor ecx, esp
call fcn.1010d699
mov esp, ebp
pop ebp
ret 0xc
lea edx, [esp + 0x3b8]
push edx
push str.Error_reading__s_
jmp 0x1003fb57
mov edx, dword [esp + 0x10]
push str.Invalid_Parameters_
push edx
call fcn.1010d6a8
add esp, 8
mov ecx, dword [esp + 0x1ef4]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1010d699
mov esp, ebp
pop ebp
ret 0xc