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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d7811
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x539c80]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 1
mov eax, dword [ebp + 8]
or edi, 0xffffffff
cmp dword [eax - 0xc], 0
jl 0x43e8e7
push str.chrome
push eax
call fcn.004ad3c6
add esp, 8
test eax, eax
je 0x43e8e7
mov ecx, dword [ebp + 8]
sub eax, ecx
sar eax, 1
test eax, eax
jle 0x43e8e7
push 0x5c
push ecx
call fcn.004aede4
add esp, 8
test eax, eax
je 0x43e8e7
sub eax, dword [ebp + 8]
sar eax, 1
test eax, eax
jle 0x43e8e7
inc eax
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp + 8]
call fcn.00417bb0
mov byte [ebp - 4], 2
push str.VisualElementsManifest.xml
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x10]
call fcn.00417c70
add esp, 4
mov byte [ebp - 4], 3
mov eax, dword [0x53ed90]
imul eax, eax
cdq
mov ecx, 0x17
idiv ecx
cmp edx, 5
jne 0x43e750
mov eax, 0xd4
mov esi, 0xb0
test esi, esi
je 0x43e749
cdq
idiv esi
mov ecx, esi
mov eax, ecx
mov esi, edx
test ecx, ecx
jne 0x43e738
add eax, esi
mov dword [0x53ed90], eax
mov eax, dword [ebp - 0x10]
mov edx, 1
sub edx, dword [eax - 4]
mov ecx, dword [eax - 8]
or ecx, edx
jge 0x43e76f
push 0
lea ecx, [ebp - 0x10]
call fcn.004026b0
mov eax, dword [ebp - 0x10]
push 0
push 0x80
push 3
push 0
push 0
push SysReAllocStringLen
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x43e8a7
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
lea ecx, [esi + 0xa]
push ecx
call fcn.004ad18a
add esp, 4
mov edi, eax
push 0
lea eax, [ebp - 0x20]
push eax
push esi
mov esi, dword [ebp - 0x1c]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x20]
push str.SplashScreen_Image
push edi
mov byte [eax + edi], 0
call fcn.004afe50
mov esi, eax
add esp, 8
test esi, esi
je 0x43e854
add esi, 0x14
push 0x5c
push esi
call fcn.004afa40
add esp, 8
test eax, eax
je 0x43e854
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push esi
mov byte [eax], 0
call fcn.00401470
mov byte [ebp - 4], 4
mov byte [ebp - 4], 3
mov ecx, ebx
call fcn.0041c510
add esp, 0x18
mov dword [ebp - 0x18], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.004024b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.004024b0
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.004024b0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [0x53ed90]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0x12
idiv ecx
cmp edx, 0xb
jne 0x43e8a4
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x7b]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004abd49
push eax
call fcn.004acddb
add esp, 8
or edi, 0xffffffff
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43e8c7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x43e8e7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x51f3ec
mov ecx, ebx
call fcn.00402400
mov dword [ebp - 0x18], 1
mov dword [ebp - 4], 0
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x43e91b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret