Function at 0x403439
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
call sub.KERNEL32.dll_GetTickCount
push ecx
add eax, 0x3e8
push 0x400
push 0x439c00
push 0
mov dword [0x42f998], eax
call sub.KERNEL32.dll_GetModuleFileNameA
push 3
push 0x80000000
push 0x439c00
call fcn.004067fa
pop edx
mov edx, 0x40a149
mov dword [ebp - 0x30], eax
mov dword [0x409010], eax
inc eax
je 0x4036ed
push edi
push edi
push 0x439c00
push 0x438c00
call fcn.00406357
push esi
push 0x438c00
call fcn.004062e5
sub esp, 0xc
push eax
push 0x43a000
call fcn.00406357
push 0
push dword [ebp - 0x30]
call sub.KERNEL32.dll_GetFileSize
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov edi, eax
add esp, 0x18
mov dword [0x420c70], eax
jmp 0x4035f4
mov edx, dword [0x42f9c8]
mov esi, edi
cmp edx, 1
sbb eax, eax
and eax, 0xffff8200
add eax, 0x8000
cmp edi, eax
jl 0x403506
cmp edx, 1
sbb esi, esi
and esi, 0xffff8200
add esi, 0x8000
push ebx
push ebx
push esi
push 0x418c60
call fcn.00403110
pop edx
pop ecx
test eax, eax
jne 0x403530
sub esp, 0xc
push 1
call fcn.004033b9
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 0x4036ed
cmp dword [0x42f9c8], 0
jne 0x4035b8
push eax
push 0x1c
lea eax, [ebp - 0x2c]
push 0x418c60
push eax
call fcn.00405fe7
mov edx, dword [ebp - 0x2c]
pop eax
test edx, 0xfffffff0
jne 0x4035cf
cmp dword [ebp - 0x28], 0xdeadbeef
jne 0x4035cf
cmp dword [ebp - 0x1c], 0x74736e49
jne 0x4035cf
cmp dword [ebp - 0x20], 0x74666f73
jne 0x4035cf
cmp dword [ebp - 0x24], 0x6c6c754e
jne 0x4035cf
mov eax, dword [0x420c80]
or dword [ebp + 8], edx
mov dword [0x42f9c8], eax
mov eax, dword [ebp + 8]
and eax, 2
or dword [0x42f908], eax
mov eax, dword [ebp - 0x14]
cmp eax, edi
jg 0x4036e8
test byte [ebp + 8], 8
jne 0x4035aa
test byte [ebp + 8], 4
jne 0x4035fc
lea edi, [eax - 4]
inc dword [ebp - 0x34]
cmp esi, edi
mov ebx, edi
ja 0x4035d1
jmp 0x4035cf
test byte [ebp + 8], 2
jne 0x4035cf
sub esp, 0xc
mov ebx, esi
push 0
call fcn.004033b9
add esp, 0x10
jmp 0x4035d1
mov ebx, esi
cmp edi, dword [0x420c70]
jge 0x4035ec
push eax
push ebx
push 0x418c60
push dword [ebp - 0x38]
call fcn.00406e1c
mov dword [ebp - 0x38], eax
pop eax
add dword [0x420c80], ebx
sub edi, ebx
test edi, edi
jg 0x4034da
sub esp, 0xc
push 1
call fcn.004033b9
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 [0x42f9c8], 0
je 0x4036ed
cmp dword [ebp - 0x34], 0
je 0x403659
push 0
push 0
push dword [0x420c80]
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 0x4036e8
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x10]
jne 0x4036e8
push ecx
push ecx
push dword [ebp - 0x18]
push 0x40
call sub.KERNEL32.dll_GlobalAlloc
mov ebx, eax
pop eax
mov eax, dword [0x42f9c8]
pop edx
push 0
add eax, 0x1c
push 0
push eax
push dword [0x409010]
call sub.KERNEL32.dll_SetFilePointer
push dword [ebp - 0x18]
push ebx
push 0
push 0xffffffffffffffff
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
cmp eax, dword [ebp - 0x18]
jne 0x4036ed
mov dword [0x42f948], ebx
mov eax, dword [ebx]
test byte [ebp - 0x2c], 1
mov dword [0x42f9a8], eax
je 0x4036b1
inc dword [0x42f9b8]
mov eax, 8
jmp 0x4036bd
dec eax
add dword [ebx + eax*8 + 4], ebx
test eax, eax
jne 0x4036b8
push 1
push 0
push 0
push dword [ebp - 0x30]
call sub.KERNEL32.dll_SetFilePointer
mov dword [ebx + 0x3c], eax
push eax
push 0x40
lea eax, [ebx + 4]
push eax
push 0x42f958
call fcn.00405fe7
xor edx, edx
pop edi
jmp 0x4036ed
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