Function at 0x40351b
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x13c
call sub.KERNEL32.dll_GetTickCount
add eax, 0x3e8
mov dword [0x424cf8], eax
push eax
push 0x400
push 0x42ec00
push 0
call sub.KERNEL32.dll_GetModuleFileNameA
push 3
push 0x80000000
push 0x42ec00
call fcn.004069a0
mov edx, 0x40a149
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [0x409010], eax
pop eax
je 0x40385b
push edi
push edi
push 0x42ec00
push 0x42dc00
call fcn.004064fd
push esi
push 0x42dc00
call fcn.0040648b
sub esp, 0xc
push eax
push 0x42f000
call fcn.004064fd
push 0
push ebx
call sub.KERNEL32.dll_GetFileSize
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov edi, eax
add esp, 0x18
mov dword [0x414cb0], eax
jmp 0x4036eb
mov edx, dword [0x424d28]
mov esi, edi
cmp edx, 1
sbb eax, eax
and eax, 0xffff8200
add eax, 0x8000
cmp edi, eax
jl 0x4035f0
cmp edx, 1
sbb esi, esi
and esi, 0xffff8200
add esi, 0x8000
push ebx
push ebx
push esi
push 0x40cc60
call fcn.00403110
pop edx
pop ecx
test eax, eax
jne 0x40361a
sub esp, 0xc
push 1
call fcn.00403149
mov edx, str.Installer_integrity_check_has_failed._Common_causes_include_nincomplete_download_and_damaged_media._Contact_the_ninstallers_author_to_obtain_a_new_copy._n_nMore_information_at:_nhttp:__nsis.sf.net_NSIS_Error
add esp, 0x10
jmp 0x40385b
cmp dword [0x424d28], 0
jne 0x4036a9
push eax
push 0x1c
lea eax, [ebp - 0x2c]
push 0x40cc60
push eax
call fcn.00406187
mov edx, dword [ebp - 0x2c]
pop eax
test edx, 0xfffffff0
jne 0x4036c0
cmp dword [ebp - 0x28], 0xdeadbeef
jne 0x4036c0
cmp dword [ebp - 0x1c], 0x74736e49
jne 0x4036c0
cmp dword [ebp - 0x20], 0x74666f73
jne 0x4036c0
cmp dword [ebp - 0x24], 0x6c6c754e
jne 0x4036c0
mov eax, dword [0x414cc0]
or dword [ebp + 8], edx
mov dword [0x424d28], eax
mov eax, dword [ebp + 8]
and eax, 2
or dword [0x424c68], eax
mov eax, dword [ebp - 0x14]
cmp eax, edi
jg 0x403856
test byte [ebp + 8], 8
jne 0x403698
test byte [ebp + 8], 4
jne 0x4036f3
lea edi, [eax - 4]
inc dword [ebp - 0x140]
cmp esi, edi
mov ebx, edi
ja 0x4036c2
jmp 0x4036c0
test byte [ebp + 8], 2
jne 0x4036c0
sub esp, 0xc
mov ebx, esi
push 0
call fcn.00403149
add esp, 0x10
jmp 0x4036c2
mov ebx, esi
cmp edi, dword [0x414cb0]
jge 0x4036e3
push eax
push ebx
push 0x40cc60
push dword [ebp - 0x144]
call fcn.00406fc4
mov dword [ebp - 0x144], eax
pop eax
add dword [0x414cc0], ebx
sub edi, ebx
test edi, edi
jg 0x4035c4
sub esp, 0xc
push 1
call fcn.00403149
add esp, 0x10
mov edx, str.Installer_integrity_check_has_failed._Common_causes_include_nincomplete_download_and_damaged_media._Contact_the_ninstallers_author_to_obtain_a_new_copy._n_nMore_information_at:_nhttp:__nsis.sf.net_NSIS_Error
cmp dword [0x424d28], 0
je 0x40385b
cmp dword [ebp - 0x140], 0
je 0x403756
push 0
push 0
push dword [0x414cc0]
push dword [0x409010]
call sub.KERNEL32.dll_SetFilePointer
lea eax, [ebp - 0x10]
push edi
push edi
push 4
push eax
call fcn.00403110
pop ebx
pop esi
test eax, eax
je 0x403856
mov eax, dword [ebp - 0x144]
cmp eax, dword [ebp - 0x10]
jne 0x403856
push ecx
push ecx
push dword [ebp - 0x18]
lea ebx, [ebp - 0x130]
push 0x40
call sub.KERNEL32.dll_GlobalAlloc
mov ecx, 0x414cd0
mov esi, eax
pop eax
pop edx
call fcn.00407030
push eax
push eax
push 0x42e400
push ebx
call fcn.00406882
sub esp, 0xc
push 0
push 0x4000100
push 2
push 0
push 0
push 0xc0000000
push ebx
call sub.KERNEL32.dll_CreateFileA
mov edx, 0x40a22f
mov dword [0x409014], eax
add esp, 0x14
inc eax
je 0x40385b
mov eax, dword [0x424d28]
push 0
push 0
add eax, 0x1c
push eax
push dword [0x409010]
call sub.KERNEL32.dll_SetFilePointer
mov edx, dword [ebp - 0x2c]
push dword [ebp - 0x18]
and edx, 4
cmp edx, 1
mov edx, dword [ebp - 0x14]
sbb ecx, ecx
push esi
and ecx, 4
push 0
lea edx, [edx + eax - 0x1c]
sub edx, ecx
push 0xffffffffffffffff
mov dword [0x414ca0], edx
mov dword [0x414c90], eax
call fcn.004033d2
mov edx, str.Installer_integrity_check_has_failed._Common_causes_include_nincomplete_download_and_damaged_media._Contact_the_ninstallers_author_to_obtain_a_new_copy._n_nMore_information_at:_nhttp:__nsis.sf.net_NSIS_Error
cmp eax, dword [ebp - 0x18]
jne 0x40385b
mov dword [0x424ca8], esi
mov eax, dword [esi]
mov edx, dword [0x424d18]
mov dword [0x424d08], eax
mov eax, dword [ebp - 0x2c]
and eax, 1
cmp eax, 1
mov eax, 8
sbb edx, 0xffffffff
mov dword [0x424d18], edx
jmp 0x403834
dec eax
add dword [esi + eax*8 + 4], esi
test eax, eax
jne 0x40382f
mov eax, dword [0x414c80]
mov dword [esi + 0x3c], eax
lea eax, [esi + 4]
push edi
push 0x40
push eax
push 0x424cb8
call fcn.00406187
xor edx, edx
pop esi
jmp 0x40385b
mov edx, str.Installer_integrity_check_has_failed._Common_causes_include_nincomplete_download_and_damaged_media._Contact_the_ninstallers_author_to_obtain_a_new_copy._n_nMore_information_at:_nhttp:__nsis.sf.net_NSIS_Error
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret 4