Function at 0x413950
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10100
call fcn.00423f50
mov eax, dword [0x46b880]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x14]
lea eax, [ebp - 0x10100]
push esi
push edi
push 0x44
push 0
push eax
call fcn.00425c30
add esp, 0xc
lea edi, [ebp - 0x10028]
xor eax, eax
and dword [ebp - 0x100ac], eax
push 9
pop ecx
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
test edi, edi
js 0x413bc9
mov esi, dword [ebp + 0xc]
test esi, esi
js 0x413bc9
push 0x80
lea eax, [ebp - 0x100a8]
push eax
push edi
call fcn.0043ceb5
add esp, 0xc
cmp eax, 0x80
jne 0x413b96
lea eax, [ebp - 0x100a8]
push eax
call sym.FortiClientInstaller.exe_FCP_verify_object_hdr
pop ecx
test eax, eax
jne 0x413b96
lea eax, [ebp - 0x10028]
push eax
push edi
call fcn.00430ab8
pop ecx
pop ecx
test eax, eax
js 0x413b96
mov eax, dword [ebp - 0x10014]
and dword [ebp - 0x10100], 0
and dword [ebp - 0x100c0], 0
mov dword [ebp - 0x100bc], eax
add eax, 0xffff
shr eax, 0x10
mov dword [ebp - 0x100b8], eax
mov eax, dword [ebp - 0x1007c]
mov dword [ebp - 0x100c4], esi
test al, 1
je 0x413a49
push 0x38
lea eax, [ebp - 0x100fc]
push str.1.2.4
push eax
call fcn.00405850
mov eax, dword [ebp - 0x1007c]
add esp, 0xc
test eax, 0x10000
je 0x413a75
push 0
lea ecx, [ebp - 0x10100]
test al, 1
push ecx
mov ecx, fcn.00413d30
mov eax, fcn.00413cd0
cmovne eax, ecx
push eax
call fcn.00410edd
add esp, 0xc
mov esi, eax
jmp 0x413a77
xor esi, esi
push 0x10000
lea eax, [ebp - 0x10004]
push eax
push edi
call fcn.0043ceb5
add esp, 0xc
mov dword [ebp - 0x100b4], eax
test eax, eax
jle 0x413b70
and dword [ebp - 0x100b0], 0
test esi, esi
je 0x413ad7
push edi
call fcn.00430f31
sub eax, dword [ebp - 0x100bc]
neg eax
sbb eax, eax
inc eax
push eax
push dword [ebp - 0x100b4]
lea eax, [ebp - 0x10004]
push eax
push esi
call fcn.00410f45
add esp, 0x14
test eax, eax
js 0x413b9c
jmp 0x413b06
test byte [ebp - 0x1007c], 1
lea ecx, [ebp - 0x10100]
push ecx
push eax
lea eax, [ebp - 0x10004]
push eax
je 0x413af6
call fcn.00413d30
jmp 0x413afb
call fcn.00413cd0
add esp, 0xc
test eax, eax
js 0x413bac
test ebx, ebx
je 0x413b3d
mov ecx, dword [ebp - 0x100b8]
test ecx, ecx
je 0x413b3d
mov eax, dword [ebp - 0x100ac]
and eax, 0x80000007
jns 0x413b26
dec eax
or eax, 0xfffffff8
inc eax
jne 0x413b3d
mov eax, dword [ebp - 0x100b0]
cdq
idiv ecx
mov ecx, ebx
push eax
call dword [0x44d42c]
call ebx
pop ecx
inc dword [ebp - 0x100ac]
lea eax, [ebp - 0x10004]
add dword [ebp - 0x100b0], 0x1f4
push 0x10000
push eax
push edi
call fcn.0043ceb5
add esp, 0xc
mov dword [ebp - 0x100b4], eax
test eax, eax
jg 0x413aa1
mov eax, dword [ebp - 0x100c0]
cmp eax, dword [ebp - 0x10030]
jne 0x413b9c
test ebx, ebx
je 0x413b92
push 0x1f4
mov ecx, ebx
call dword [0x44d42c]
call ebx
pop ecx
xor edi, edi
jmp 0x413b9f
mov esi, dword [ebp - 0x100b8]
or edi, 0xffffffff
test esi, esi
je 0x413baf
push esi
call fcn.00418cc1
pop ecx
jmp 0x413baf
or edi, 0xffffffff
test byte [ebp - 0x1007c], 1
je 0x413bc5
lea eax, [ebp - 0x100fc]
push eax
call fcn.00407260
pop ecx
mov eax, edi
jmp 0x413bcc
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00423dc5
mov esp, ebp
pop ebp
ret