Function at 0x1001daf0
Capabilities:
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0xc790]
mov eax, 0xc810
call fcn.10045420
mov eax, dword [0x10084adc]
xor eax, ebp
mov dword [ebp + 0xc78c], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc798]
push 0x10063b84
mov esi, 0x10154168
push esi
call fcn.10045450
test eax, eax
push str.install
push esi
setne bl
call fcn.10045450
test eax, eax
setne al
push str.update
push esi
or bl, al
call fcn.10045450
test eax, eax
setne al
push str.patch
push esi
or bl, al
call fcn.10045450
add esp, 0x20
test eax, eax
setne al
or bl, al
mov byte [ebp - 0x75], bl
je 0x1001db8c
xor ebx, ebx
cmp dword [0x1015668c], ebx
je 0x1001db84
push esi
push str.ChkRS_SETUP_EXP_found_SETUP_OK_g_sFileDescription__s_
push ebx
call fcn.100412e2
add esp, 0xc
mov al, byte [ebp - 0x75]
jmp 0x1001dd97
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push 3
push bind
push edi
mov dword [ebp - 0x7c], 1
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x80], eax
cmp eax, ebx
je 0x1001dd7e
cmp eax, 0xffffffff
je 0x1001dd7e
xor eax, eax
mov esi, 0x1014fdbc
mov edi, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jmp 0x1001dce1
push 0xc800
lea eax, [ebp - 0x74]
push ebx
push eax
mov dword [ebp - 0x7c], ebx
call fcn.10045030
add esp, 0xc
push ebx
lea eax, [ebp - 0x7c]
push eax
push 0xc7ff
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1001dcea
cmp dword [ebp - 0x7c], ebx
je 0x1001dcea
xor ecx, ecx
lea eax, [ebp + ecx - 0x74]
cmp byte [eax], bl
jne 0x1001dc1d
mov byte [eax], 0x20
inc ecx
cmp ecx, 0xc7fe
jl 0x1001dc12
lea eax, [ebp - 0x74]
push eax
mov byte [ebp + 0xc78b], bl
call fcn.10045308
test dword [0x1015186c], 0x10000000
pop ecx
je 0x1001dc5a
lea eax, [ebp - 0x74]
push str.nsis_error
push eax
call fcn.10045450
pop ecx
pop ecx
test eax, eax
jne 0x1001dd3c
xor edi, edi
cmp dword [str.getversion], ebx
je 0x1001dcb2
mov eax, 0x10083ec4
mov eax, dword [eax]
cmp byte [eax], bl
je 0x1001dc7f
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.10045450
pop ecx
pop ecx
test eax, eax
jne 0x1001dc8d
inc edi
lea eax, [edi*4 + 0x10083ec4]
cmp dword [eax], ebx
jne 0x1001dc69
jmp 0x1001dcb2
mov byte [edi + 0x1014fdbc], 1
cmp dword [0x1015668c], ebx
je 0x1001dcb2
push dword [edi*4 + 0x10083ec4]
push edi
push str.Found_ChkRS_SETUP_EXP___d___s_
push ebx
call fcn.100412e2
add esp, 0x10
xor edx, edx
cmp dword [str.getversion], ebx
je 0x1001dce1
mov ecx, esi
mov eax, 0x10083ec4
cmp byte [ecx], bl
je 0x1001dcc8
inc edx
add eax, 4
inc ecx
cmp dword [eax], ebx
jne 0x1001dcc3
cmp edx, 3
jl 0x1001dce1
test dword [0x1015186c], 0x10000000
je 0x1001dd5c
cmp dword [ebp - 0x7c], ebx
ja 0x1001dbd3
push dword [ebp - 0x80]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
xor edx, edx
cmp dword [str.getversion], ebx
je 0x1001dd21
mov ecx, esi
mov eax, 0x10083ec4
cmp byte [ecx], bl
je 0x1001dd0b
inc edx
add eax, 4
inc ecx
cmp dword [eax], ebx
jne 0x1001dd06
cmp edx, 3
jl 0x1001dd21
push dword [ebp - 0x80]
call edi
mov byte [ebp - 0x75], 1
cmp dword [0x1015668c], ebx
je 0x1001db84
movzx eax, byte [ebp - 0x75]
push eax
push str.ChkRS_SETUP_EXP_end_setup__d_
jmp 0x1001db7b
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x1015668c], ebx
je 0x1001dd95
push str.ChkRS_SETUP_EXP_nsis_error
push ebx
call fcn.100412e2
pop ecx
pop ecx
jmp 0x1001dd95
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x1015668c], ebx
je 0x1001dd7a
push str.ChkRS_SETUP_EXP_found_SETUP_OK
push ebx
call fcn.100412e2
pop ecx
pop ecx
mov al, 1
jmp 0x1001dd97
cmp dword [0x1015668c], ebx
je 0x1001dd95
push edi
push str.ChkRS_SETUP_EXP_Real_CreateFileW_error__s_
push ebx
call fcn.100412e2
add esp, 0xc
xor al, al
mov ecx, dword [ebp + 0xc78c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1004501f
add ebp, 0xc790
leave
ret