Function at 0x40366b
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
push ebx
xor ebx, ebx
push edi
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x400
mov edi, 0x438800
push edi
add eax, 0x3e8
push ebx
mov dword [0x42a5c4], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 3
push 0x80000000
push edi
call fcn.00406161
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
mov dword [0x40b010], eax
jne 0x4036c4
mov eax, str.Error_launching_installer
jmp 0x4039c5
push esi
push edi
mov esi, 0x436800
push esi
call fcn.004064c7
push esi
call fcn.004067e7
push eax
push 0x439000
call fcn.004064c7
push ebx
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, ebx
mov dword [0x4219b0], esi
mov dword [0x4219b4], ebx
jbe 0x403837
mov eax, dword [0x42a5d4]
neg eax
sbb eax, eax
and eax, 0x7e00
add eax, 0x200
cmp esi, eax
mov dword [ebp - 4], esi
jb 0x40371f
mov dword [ebp - 4], eax
push dword [ebp - 4]
push 0x419958
call fcn.004031f1
test eax, eax
je 0x40397c
cmp dword [0x42a5d4], ebx
jne 0x4037ee
push 0x24
push 0x419958
lea eax, [ebp - 0x34]
push eax
call fcn.00406117
test dword [ebp - 0x34], 0xfffffe00
jne 0x4037fb
cmp dword [ebp - 0x30], 0xdeadbeef
jne 0x4037fb
cmp dword [ebp - 0x24], 0x74736e49
jne 0x4037fb
cmp dword [ebp - 0x28], 0x74666f73
jne 0x4037fb
cmp dword [ebp - 0x2c], 0x6c6c754e
jne 0x4037fb
mov ecx, dword [ebp - 0x34]
or dword [ebp + 8], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [0x4219a8]
and ecx, 2
or dword [0x42a640], ecx
mov ecx, dword [ebp - 0x1c]
cmp ecx, esi
mov dword [0x42a5d4], eax
ja 0x403975
test byte [ebp + 8], 8
jne 0x4037bc
test byte [ebp + 8], 4
jne 0x403837
inc dword [0x4219b8]
add ecx, 0xffffffd8
add eax, ecx
mov ecx, dword [0x4219ac]
adc ecx, ebx
push 0x24
mov dword [0x4219a8], eax
add eax, 0x20
pop esi
mov dword [0x4219ac], ecx
adc ecx, ebx
push ecx
push eax
mov dword [ebp - 4], esi
call fcn.00403264
jmp 0x4037fb
test byte [ebp + 8], 2
jne 0x4037fb
push ebx
call fcn.0040318d
pop ecx
cmp ebx, dword [0x4219b4]
ja 0x403820
jb 0x40380d
cmp esi, dword [0x4219b0]
jae 0x403820
push dword [ebp - 4]
push 0x419958
push dword [ebp - 0xc]
call fcn.00406ec2
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
add dword [0x4219a8], eax
adc dword [0x4219ac], ebx
sub esi, eax
jne 0x403702
test byte [ebp - 0x34], 1
je 0x403843
inc dword [0x42a5c8]
test byte [ebp - 0x34], 0x80
je 0x40384f
inc dword [0x42a5cc]
test word [ebp - 0x34], 0x100
je 0x40385d
inc dword [0x42a5c0]
cmp dword [0x42a5cc], ebx
je 0x4038d2
cmp dword [0x42a5c8], ebx
jne 0x4038d2
push edi
lea eax, [ebp - 0x23c]
push eax
call fcn.004064c7
lea eax, [ebp - 0x23c]
push eax
call fcn.00406813
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.004064c7
lea eax, [ebp - 0x23c]
push eax
push 0x4092cc
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 3
push 0x80000000
lea eax, [ebp - 0x23c]
push eax
call fcn.00406161
cmp eax, 0xffffffff
mov dword [0x40b014], eax
jne 0x4038d2
cmp dword [0x42a5c0], ebx
je 0x403975
push 1
call fcn.0040318d
cmp dword [0x42a5d4], ebx
pop ecx
je 0x403975
cmp dword [0x4219b8], ebx
je 0x403937
mov eax, dword [0x4219a8]
mov ecx, dword [0x4219ac]
push 4
pop esi
sub eax, esi
sbb ecx, ebx
push ecx
push eax
call fcn.00403264
push esi
lea eax, [ebp - 8]
push eax
call fcn.004031f1
test eax, eax
je 0x403975
push esi
lea eax, [ebp - 8]
push eax
push dword [ebp - 0xc]
call fcn.00406ec2
mov edi, eax
push esi
lea eax, [ebp + 8]
push eax
call fcn.004031f1
test eax, eax
je 0x403975
cmp edi, dword [ebp + 8]
jne 0x403975
push dword [ebp - 0x20]
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
mov eax, dword [0x42a5d4]
add eax, 0x24
push eax
call fcn.0040324d
push dword [ebp - 8]
push dword [ebp - 0x20]
push esi
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
call fcn.00403320
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov edi, edx
cdq
cmp ecx, eax
jne 0x403975
cmp edi, edx
je 0x403986
mov eax, 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
jmp 0x4039c4
push 1
call fcn.0040318d
pop ecx
jmp 0x403975
mov dword [0x42a56c], esi
mov eax, dword [esi]
push 8
mov dword [0x42a5d0], eax
pop ecx
lea eax, [esi + 0x44]
sub eax, 8
add dword [eax], esi
dec ecx
cmp ecx, ebx
jne 0x403999
push 1
push ebx
push ebx
push dword [ebp - 0x10]
call fcn.00403207
mov dword [esi + 0x3c], eax
push 0x40
add esi, 4
push esi
push 0x42a580
call fcn.00406117
xor eax, eax
pop esi
pop edi
pop ebx
leave
ret 4