Function at 0x40f410
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x19028
call fcn.005260d0
mov eax, dword [0x5a574c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x110]
push eax
mov dword [ebp - 0x1900c], 0xffffffff
xor ebx, ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40f46e
mov ebx, dword [edi + 0x110]
mov esi, dword [sym.imp.USER32.dll_PostMessageA]
push 0
push 0
push 0x402
push ebx
call esi
push 0x64
push 0
push 0x406
push ebx
call esi
xor esi, esi
cmp dword [edi + 0x108], esi
je 0x40f535
mov eax, dword [edi + 0x10c]
test eax, eax
je 0x40f664
lea ebx, [ebx]
sub eax, esi
cmp eax, 0x19000
jbe 0x40f49e
mov eax, 0x19000
mov edx, dword [edi + 0x108]
lea ecx, [ebp - 0x1900c]
push ecx
mov ecx, dword [edi]
push eax
add edx, esi
push edx
call fcn.0040f3d0
push ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40f51c
mov eax, dword [edi + 0x10c]
cmp esi, eax
jbe 0x40f4d2
mov eax, 0x64
jmp 0x40f50d
mov ecx, esi
mov dword [ebp - 0x19018], ecx
fild dword [ebp - 0x19018]
test ecx, ecx
jns 0x40f4ea
fadd qword [0x555ab8]
mov dword [ebp - 0x19018], eax
fild dword [ebp - 0x19018]
test eax, eax
jns 0x40f500
fadd qword [0x555ab8]
fdivp st(1)
fmul qword [0x555ab0]
call fcn.00528800
push 0
push eax
push 0x402
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [edi + 0x10c]
add esi, 0x19000
cmp esi, eax
jb 0x40f490
jmp 0x40f664
lea eax, [edi + 4]
cmp eax, esi
je 0x40f664
push esi
push 0x20
push 0x8020
push eax
mov dword [ebp - 0x19014], esi
mov dword [ebp - 0x19010], esi
call fcn.0052874b
mov esi, eax
add esp, 0x10
mov dword [ebp - 0x19020], esi
cmp esi, 0xffffffff
je 0x40f664
push 0
push 0
push 0
push esi
call fcn.00528661
push 2
push 0
push 0
push esi
call fcn.00528661
push 0
push 0
push 0
push esi
mov dword [ebp - 0x19028], eax
mov dword [ebp - 0x19024], edx
call fcn.00528661
add esp, 0x30
jmp 0x40f5a9
mov esi, dword [ebp - 0x19020]
push 0x19000
lea edx, [ebp - 0x19004]
push edx
push esi
call fcn.005284e6
mov esi, eax
add esp, 0xc
test esi, esi
je 0x40f649
lea eax, [ebp - 0x1900c]
push eax
push esi
lea ecx, [ebp - 0x19004]
push ecx
mov ecx, dword [edi]
call fcn.0040f3d0
push ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40f649
add dword [ebp - 0x19014], esi
fnstcw word [ebp - 0x19006]
movzx eax, word [ebp - 0x19006]
adc dword [ebp - 0x19010], 0
or eax, 0xc00
mov dword [ebp - 0x19018], eax
fild qword [ebp - 0x19014]
push 0
fild qword [ebp - 0x19028]
fdivp st(1)
fmul qword [0x555ab0]
fldcw word [ebp - 0x19018]
fistp qword [ebp - 0x1901c]
mov edx, dword [ebp - 0x1901c]
push edx
push 0x402
fldcw word [ebp - 0x19006]
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
cmp esi, 0x19000
je 0x40f5a3
mov eax, dword [ebp - 0x19020]
push eax
call fcn.00527e6b
add esp, 4
mov esi, dword [ebp - 0x1900c]
push ebx
not esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40f692
mov ecx, dword [edi + 0x114]
push esi
push ecx
push 0xadb1
push ebx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov edx, dword [edi + 0x108]
push edx
call fcn.004261b3
push edi
call fcn.004261b3
mov ecx, dword [ebp - 4]
add esp, 8
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.00525222
mov esp, ebp
pop ebp
ret 4