Function at 0x1001d96c
Capabilities:
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0xc790]
mov eax, 0xc810
call fcn.10044f70
mov eax, dword [0x10083adc]
xor eax, ebp
mov dword [ebp + 0xc78c], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc798]
push 0x10063b14
mov esi, 0x10153168
push esi
call fcn.10044fa0
test eax, eax
push str.install
push esi
setne bl
call fcn.10044fa0
test eax, eax
setne al
push str.update
push esi
or bl, al
call fcn.10044fa0
test eax, eax
setne al
push str.patch
push esi
or bl, al
call fcn.10044fa0
add esp, 0x20
test eax, eax
setne al
or bl, al
mov byte [ebp - 0x75], bl
je 0x1001da08
xor ebx, ebx
cmp dword [0x1015568c], ebx
je 0x1001da00
push esi
push str.ChkRS_SETUP_EXP_found_SETUP_OK_g_sFileDescription__s_
push ebx
call fcn.1004122a
add esp, 0xc
mov al, byte [ebp - 0x75]
jmp 0x1001dc13
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 0x1001dbfa
cmp eax, 0xffffffff
je 0x1001dbfa
xor eax, eax
mov esi, 0x1014edbc
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 0x1001db5d
push 0xc800
lea eax, [ebp - 0x74]
push ebx
push eax
mov dword [ebp - 0x7c], ebx
call fcn.10044b80
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 0x1001db66
cmp dword [ebp - 0x7c], ebx
je 0x1001db66
xor ecx, ecx
lea eax, [ebp + ecx - 0x74]
cmp byte [eax], bl
jne 0x1001da99
mov byte [eax], 0x20
inc ecx
cmp ecx, 0xc7fe
jl 0x1001da8e
lea eax, [ebp - 0x74]
push eax
mov byte [ebp + 0xc78b], bl
call fcn.10044e58
test dword [0x1015086c], 0x10000000
pop ecx
je 0x1001dad6
lea eax, [ebp - 0x74]
push str.nsis_error
push eax
call fcn.10044fa0
pop ecx
pop ecx
test eax, eax
jne 0x1001dbb8
xor edi, edi
cmp dword [str.getversion], ebx
je 0x1001db2e
mov eax, 0x10082ec4
mov eax, dword [eax]
cmp byte [eax], bl
je 0x1001dafb
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.10044fa0
pop ecx
pop ecx
test eax, eax
jne 0x1001db09
inc edi
lea eax, [edi*4 + 0x10082ec4]
cmp dword [eax], ebx
jne 0x1001dae5
jmp 0x1001db2e
mov byte [edi + 0x1014edbc], 1
cmp dword [0x1015568c], ebx
je 0x1001db2e
push dword [edi*4 + 0x10082ec4]
push edi
push str.Found_ChkRS_SETUP_EXP___d___s_
push ebx
call fcn.1004122a
add esp, 0x10
xor edx, edx
cmp dword [str.getversion], ebx
je 0x1001db5d
mov ecx, esi
mov eax, 0x10082ec4
cmp byte [ecx], bl
je 0x1001db44
inc edx
add eax, 4
inc ecx
cmp dword [eax], ebx
jne 0x1001db3f
cmp edx, 3
jl 0x1001db5d
test dword [0x1015086c], 0x10000000
je 0x1001dbd8
cmp dword [ebp - 0x7c], ebx
ja 0x1001da4f
push dword [ebp - 0x80]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
xor edx, edx
cmp dword [str.getversion], ebx
je 0x1001db9d
mov ecx, esi
mov eax, 0x10082ec4
cmp byte [ecx], bl
je 0x1001db87
inc edx
add eax, 4
inc ecx
cmp dword [eax], ebx
jne 0x1001db82
cmp edx, 3
jl 0x1001db9d
push dword [ebp - 0x80]
call edi
mov byte [ebp - 0x75], 1
cmp dword [0x1015568c], ebx
je 0x1001da00
movzx eax, byte [ebp - 0x75]
push eax
push str.ChkRS_SETUP_EXP_end_setup__d_
jmp 0x1001d9f7
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x1015568c], ebx
je 0x1001dc11
push str.ChkRS_SETUP_EXP_nsis_error
push ebx
call fcn.1004122a
pop ecx
pop ecx
jmp 0x1001dc11
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x1015568c], ebx
je 0x1001dbf6
push str.ChkRS_SETUP_EXP_found_SETUP_OK
push ebx
call fcn.1004122a
pop ecx
pop ecx
mov al, 1
jmp 0x1001dc13
cmp dword [0x1015568c], ebx
je 0x1001dc11
push edi
push str.ChkRS_SETUP_EXP_Real_CreateFileW_error__s_
push ebx
call fcn.1004122a
add esp, 0xc
xor al, al
mov ecx, dword [ebp + 0xc78c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10044b6f
add ebp, 0xc790
leave
ret