Function at 0x1000306e
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
push ebx
push esi
push edi
xor ebx, ebx
push 0x3f
lea eax, [ebp - 0x9b]
push ebx
push eax
mov byte [ebp - 0x9c], bl
call fcn.10001000
push 0x3f
lea eax, [ebp - 0x5b]
push ebx
push eax
mov byte [ebp - 0x5c], bl
call fcn.10001000
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
mov dword [0x10008c34], eax
mov eax, dword [ebp + 0x10]
add esp, 0x18
mov dword [0x10008c30], eax
xor eax, eax
push edi
inc eax
push 0x40
mov dword [0x10008c38], edi
mov byte [0x10005add], bl
mov byte [0x10005adc], bl
mov byte [0x10005adb], bl
mov byte [0x10005ada], bl
mov byte [0x10005ad9], bl
mov byte [0x10005ad8], bl
mov byte [0x10005adf], bl
mov dword [0x100056c0], ebx
mov dword [0x10005ad4], ebx
mov dword [0x10005ab4], eax
mov byte [0x10005bb0], bl
mov byte [0x10005b30], bl
mov byte [0x100058a8], bl
mov byte [0x100057e8], bl
mov byte [0x10005828], bl
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, eax
mov dword [0x100057cc], edx
cmp dword [0x100057e4], ebx
je 0x10003162
push edx
call fcn.10003bce
push dword [0x100057cc]
push dword [0x100057e4]
call esi
push dword [0x100057e4]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [0x100057cc]
mov dword [0x10005aac], eax
mov eax, dword [ebp + 0x18]
movzx ecx, byte [0x10005ad8]
mov eax, dword [eax]
push 1
cmp dword [eax + 0x20], ebx
pop eax
cmovne ecx, eax
push edx
mov byte [0x10005ad8], cl
call fcn.10003bce
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x10003646
mov eax, dword [0x100057cc]
cmp byte [eax], 0x2f
jne 0x10003653
push str._silent
push eax
call ebx
test eax, eax
jne 0x100031b3
inc eax
mov byte [0x10005ad8], al
jmp 0x1000363b
push str._weaksecurity
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x100031cf
inc eax
mov byte [0x10005adf], al
jmp 0x1000363b
push str._caption
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x100031ea
push 0x10005828
jmp 0x100034f4
push str._username
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x10003206
lea eax, [ebp - 0x9c]
jmp 0x100034f3
push str._password
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x1000321f
lea eax, [ebp - 0x5c]
jmp 0x100034f3
push str._nocancel
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x1000323b
inc eax
mov byte [0x10005adb], al
jmp 0x1000363b
push str._nocookies
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x10003257
inc eax
mov byte [0x10005add], al
jmp 0x1000363b
push str._noproxy
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x10003273
inc eax
mov dword [0x10005ad4], eax
jmp 0x1000363b
push str._popup
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x1000329d
push edi
inc eax
push 0x40
mov byte [0x10005ad9], al
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [0x100057d0], eax
jmp 0x100034f3
push str._resume
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x100032d8
push dword [0x100057cc]
call fcn.10003bce
mov eax, dword [0x100057cc]
cmp byte [eax], 0
je 0x100032cb
push eax
push str.Your_internet_connection_seems_to_be_not_permitted_or_dropped_out__nPlease_reconnect_and_click_Retry_to_resume_installation.
call esi
xor eax, eax
inc eax
mov byte [0x10005ada], al
jmp 0x1000363b
push str._translate
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x10003394
cmp byte [0x10005ad9], al
je 0x10003344
push 0x10005af0
call fcn.10003bce
push str.Downloading
call fcn.10003bce
push 0x10005020
call fcn.10003bce
push 0x10005020
push str.Connecting
call esi
push str.Downloading__s
call fcn.10003bce
push str.Connecting_...
call fcn.10003bce
push str._dkB___d____of__dkB____d._01dkB_s
call fcn.10003bce
push str.second
jmp 0x10003385
push str.Downloading__s
call fcn.10003bce
push str.Connecting_...
call fcn.10003bce
push str.second
call fcn.10003bce
push str.minute
call fcn.10003bce
push str.hour
call fcn.10003bce
push 0x100055e0
call fcn.10003bce
push str._dkB___d____of__dkB____d._01dkB_s
call fcn.10003bce
push str.___d__s_s_remaining_
jmp 0x100034f4
push str._banner
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x100033be
push edi
inc eax
push 0x40
mov byte [0x10005ad9], al
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [0x100057dc], eax
jmp 0x100034f3
push str._canceltext
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x100033d9
push 0x100057e8
jmp 0x100034f4
push str._question
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x10003417
push edi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
mov dword [0x100057e0], eax
call fcn.10003bce
mov eax, dword [0x100057e0]
cmp byte [eax], 0
jne 0x1000363b
push str.Are_you_sure_that_you_want_to_stop_download_
push eax
jmp 0x10003551
push str._useragent
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x10003432
push 0x100058a8
jmp 0x100034f4
push str._proxy
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x10003466
push edi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
mov dword [0x100057d4], eax
call fcn.10003bce
mov dword [0x10005ad4], 3
jmp 0x1000363b
push str._connecttimeout
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x1000349d
push dword [0x100057cc]
call fcn.10003bce
push dword [0x100057cc]
call fcn.10003ba8
imul eax, eax, 0x3e8
mov dword [0x10005ac4], eax
jmp 0x1000363b
push str._receivetimeout
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x100034d4
push dword [0x100057cc]
call fcn.10003bce
push dword [0x100057cc]
call fcn.10003ba8
imul eax, eax, 0x3e8
mov dword [0x10005ac8], eax
jmp 0x1000363b
push str._header
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x100034fe
push edi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [0x100057d8], eax
push eax
call fcn.10003bce
jmp 0x1000363b
cmp byte [0x10005ae8], 0
jne 0x10003558
push str._tostackconv
push dword [0x100057cc]
call ebx
neg eax
sbb al, al
inc al
mov byte [0x10005ade], al
jne 0x10003532
push str._tostack
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x10003558
push edi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
and dword [0x10005abc], 0
push str.file
mov dword [0x10005ab0], eax
push 0x100056c8
call esi
jmp 0x1000363b
push str._file
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x1000363b
push eax
push eax
push 3
push eax
inc eax
push eax
push 0x80000000
push dword [0x100057e4]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x10003719
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [0x10005aac], eax
test eax, eax
je 0x10003703
push 0x5c
push dword [0x100057e4]
call fcn.10001015
pop ecx
pop ecx
test eax, eax
je 0x100035cb
push 0x5c
push dword [0x100057e4]
call fcn.10001030
pop ecx
pop ecx
inc eax
jmp 0x100035d0
mov eax, dword [0x100057e4]
push eax
push str.Filename:__s
push 0x100059a8
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push dword [0x100057e4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [0x10005aac]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push 0
lea ecx, [ebp + 0xc]
push ecx
push dword [0x10005aac]
mov dword [0x100057e4], eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x10003703
mov eax, dword [ebp + 0xc]
cmp eax, dword [0x10005aac]
jne 0x10003703
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push dword [0x100057cc]
call fcn.10003bce
test eax, eax
je 0x1000318e
mov eax, dword [0x100057cc]
push eax
call fcn.10003c12
cmp byte [0x100058a8], 0
jne 0x1000366e
push str.NSIS_Inetc__Mozilla_
push 0x100058a8
call esi
cmp byte [ebp - 0x5c], 0
je 0x100036b7
cmp byte [ebp - 0x9c], 0
je 0x100036b7
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x9c]
push eax
push str._s:_s
push dword [0x100057cc]
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x100057cc]
add esp, 0x10
push 0x10005bb0
push eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
call fcn.10001389
add esp, 0xc
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x10003728
push 0
push str.32770
push 0
push ebx
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [0x10005ae0], eax
test eax, eax
je 0x10003728
cmp byte [0x10005ad8], 0
jne 0x10003728
cmp byte [0x10005828], 0
mov edx, 0x100042a4
mov ecx, 0x10005828
cmove ecx, edx
push ecx
push 0x3ee
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
jmp 0x1000372e
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x10005ab4], 0xd
jmp 0x100039ec
mov dword [0x10005ab4], 0xb
jmp 0x100039ec
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov edx, dword [0x10005ae0]
mov cl, byte [0x10005ad9]
test edx, edx
jne 0x10003754
movzx eax, byte [0x10005ad8]
push 1
test cl, cl
pop esi
cmove eax, esi
mov byte [0x10005ad8], al
jmp 0x10003759
mov al, byte [0x10005ad8]
test al, al
je 0x1000376f
xor eax, eax
mov byte [0x10005ada], 0
lea ecx, [eax + 1]
mov byte [0x10005ad9], cl
test cl, cl
jne 0x10003790
push 0xfffffffffffffff0
push edx
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, 0x4000000
push eax
push 0xfffffffffffffff0
push dword [0x10005ae0]
call dword [sym.imp.USER32.dll_SetWindowLongA]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov cl, byte [0x10005ad9]
push 0
mov dword [0x10005acc], eax
mov eax, dword [0x10005ae0]
push 0x10001183
test cl, cl
cmovne eax, ebx
push eax
push 0x6e
pop eax
push 0x65
pop edx
cmovne eax, edx
cmp dword [0x100057dc], 0
push 0x6c
movzx eax, ax
pop ecx
cmovne eax, ecx
movzx eax, ax
push eax
push dword [0x100056c4]
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [0x10005ae4], eax
test eax, eax
je 0x100039a1
lea ecx, [ebp + 0x10]
push ecx
xor ecx, ecx
push ecx
push eax
push 0x1000163e
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, eax
test ebx, ebx
je 0x10003989
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x403
push dword [0x10005ae0]
call esi
push 0x3f8
push dword [0x10005ae0]
mov edi, eax
call esi
and dword [ebp + 0xc], 0
and dword [ebp + 0x14], 0
cmp byte [0x10005ad8], 0
mov esi, eax
jne 0x100038ed
xor eax, eax
inc eax
push eax
push dword [0x10005ae4]
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x10005ae0], 0
je 0x100038ed
cmp byte [0x10005ad9], 0
jne 0x100038ed
test edi, edi
je 0x10003884
push 0xfffffffffffffff0
push edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push edi
mov dword [ebp + 0xc], eax
call dword [sym.imp.USER32.dll_EnableWindow]
test esi, esi
je 0x100038ed
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
push 0
push esi
mov dword [ebp + 0x14], eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x100038ed
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jle 0x100038fd
lea eax, [ebp - 0x1c]
push eax
push dword [0x10005ae4]
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x100038ed
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x100038ed
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
test eax, eax
jne 0x100038ed
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push dword [0x10005ae4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1000389d
push 0xbb8
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x10003925
xor eax, eax
inc eax
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov dword [0x10005ab4], 6
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [0x10005ad8], 0
jne 0x100039e6
mov eax, dword [0x10005ae0]
test eax, eax
je 0x100039e6
push 0x10004158
push 0x3ee
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
cmp byte [0x10005ad9], 0
jne 0x100039e6
test edi, edi
je 0x10003974
push dword [ebp + 0xc]
push 0xfffffffffffffff0
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
test esi, esi
je 0x100039e6
cmp dword [ebp + 0x14], 0
je 0x100039e6
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x100039e6
push dword [0x10005ae4]
mov dword [0x10005ab4], 0x14
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x100039e6
mov dword [0x10005ab4], 7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x10005ab4]
shl eax, 5
push str.__Err_d_
add eax, section..data
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [0x10005ab4]
shl ecx, 5
lea eax, [eax + section..data]
add eax, ecx
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push dword [0x100057cc]
call fcn.10003bce
test eax, eax
jne 0x10003a0c
push str._end
push dword [0x100057cc]
call ebx
test eax, eax
jne 0x100039ec
push dword [0x100057cc]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x100057d0]
test eax, eax
je 0x10003a2d
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x100057d0]
cmp dword [0x100057dc], 0
je 0x10003a3d
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x100057e0]
test eax, eax
je 0x10003a4d
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x100057d4]
test eax, eax
je 0x10003a5d
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x100057e4]
test eax, eax
je 0x10003a6d
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x100057d8]
test eax, eax
je 0x10003a7d
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x10005ab0]
xor ecx, ecx
mov dword [0x100057e0], ecx
mov dword [0x100057d0], ecx
mov dword [0x100057d8], ecx
mov dword [0x100057d4], ecx
mov dword [0x100057cc], ecx
mov dword [0x100057e4], ecx
mov byte [0x10005ae9], cl
mov byte [0x10005ae8], cl
test eax, eax
je 0x10003b37
cmp dword [0x10005ab4], ecx
jne 0x10003b37
cmp dword [0x10005abc], ecx
jbe 0x10003b1e
cmp byte [0x10005ade], cl
je 0x10003b1e
mov ebx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push ecx
push ecx
push ecx
push ecx
push 0xffffffffffffffff
push eax
push ecx
push ecx
call ebx
mov edi, eax
test edi, edi
jle 0x10003b24
lea ecx, [edi + 1]
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
test esi, esi
je 0x10003b24
xor eax, eax
push eax
push eax
push edi
push esi
push 0xffffffffffffffff
push dword [0x10005ab0]
push eax
push eax
call ebx
test eax, eax
jle 0x10003b15
push esi
call fcn.10003c12
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x10003b24
push eax
call fcn.10003c12
push dword [0x10005ab0]
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [0x10005ab0], 0
mov eax, dword [0x10005ab4]
shl eax, 5
add eax, section..data
push eax
call fcn.10003c12
pop edi
pop esi
pop ebx
leave
ret