Function at 0x40dffc
Capabilities:
Read file via mapping

Disassembly:
push ebx
push esi
push edi
cmp byte [0x5c6eb0], 0
jne 0x40e27a
call sub.kernel32.dll_GetCurrentProcessId
mov ebx, eax
xor eax, eax
mov ecx, eax
add ecx, ecx
add ecx, ecx
mov edx, ebx
shr edx, cl
and edx, 0xf
movzx edx, byte [edx + str.0123456789ABCDEF]
mov ecx, 0x18
sub ecx, eax
mov byte [ecx + str.LocalFastMM_PID_________], dl
mov ecx, 8
sub ecx, eax
mov byte [ecx + 0x5b23e9], dl
mov byte [ecx + 0x5b23fd], dl
inc eax
cmp eax, 8
jne 0x40e015
push str._________PID_FastMM
push 0x40e280
call sub.user32.dll_FindWindowA
mov dword [0x5c6ea4], eax
push str._________PID_FastMM_BE
push 0x40e280
call sub.user32.dll_FindWindowA
mov dword [0x5c6ea8], eax
push str.LocalFastMM_PID_________
push 0
push 4
call sub.kernel32.dll_OpenFileMappingA
mov dword [0x5c6eac], eax
mov eax, dword [0x5c6ea4]
or eax, dword [0x5c6ea8]
or eax, dword [0x5c6eac]
jne 0x40e1c9
mov eax, dword [0x5c0d68]
cmp byte [eax], 0
jne 0x40e181
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [0x5c4c50]
push eax
push 0
mov edx, str._________PID_FastMM
mov eax, 0x40e280
mov ecx, 0x80000000
call fcn.0040cee8
mov dword [0x5c6ea4], eax
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [0x5c4c50]
push eax
push 0
mov edx, str._________PID_FastMM_BE
mov eax, 0x40e280
mov ecx, 0x80000000
call fcn.0040cee8
mov dword [0x5c6ea8], eax
cmp dword [0x5c6ea4], 0
je 0x40e129
mov eax, dword [0x5c6ea4]
mov edx, 0xffffffeb
mov ecx, 0x5c6e8c
push ecx
push edx
push eax
call sub.user32.dll_SetWindowLongW
cmp dword [0x5c6ea8], 0
je 0x40e149
mov eax, dword [0x5c6ea8]
mov edx, 0xffffffeb
mov ecx, 0x5c6e8c
push ecx
push edx
push eax
call sub.user32.dll_SetWindowLongW
push str.LocalFastMM_PID_________
push 4
push 0
push 4
push 0
push 0xffffffffffffffff
call sub.kernel32.dll_CreateFileMappingA
mov dword [0x5c6eac], eax
push 0
push 0
push 0
push 2
mov eax, dword [0x5c6eac]
push eax
call sub.kernel32.dll_MapViewOfFile
mov dword [eax], 0x5c6e8c
push eax
call sub.kernel32.dll_UnmapViewOfFile
mov dword [0x5c6e8c], fcn.0040d5f4
mov dword [0x5c6e90], 0x40d904
mov dword [0x5c6e94], 0x40dab8
mov dword [0x5c6e98], 0x40dd5c
mov dword [0x5c6e9c], 0x40dda4
mov dword [0x5c6ea0], 0x40dda8
mov byte [0x5c6eb1], 1
jmp 0x40e25f
cmp dword [0x5c6eac], 0
je 0x40e1fd
push 0
push 0
push 0
push 4
mov eax, dword [0x5c6eac]
push eax
call sub.kernel32.dll_MapViewOfFile
mov edx, dword [eax]
mov esi, edx
mov edi, 0x5c6e8c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
push eax
call sub.kernel32.dll_UnmapViewOfFile
jmp 0x40e246
cmp dword [0x5c6ea4], 0
je 0x40e227
mov eax, dword [0x5c6ea4]
mov edx, 0xffffffeb
push edx
push eax
call sub.user32.dll_GetWindowLongW
mov esi, eax
mov edi, 0x5c6e8c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
jmp 0x40e246
mov eax, dword [0x5c6ea8]
mov edx, 0xffffffeb
push edx
push eax
call sub.user32.dll_GetWindowLongW
mov esi, eax
mov edi, 0x5c6e8c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x5c6eac]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
mov dword [0x5c6eac], eax
mov byte [0x5c6eb1], 0
mov eax, 0x5c6e74
call fcn.00404910
mov eax, 0x5c6e8c
call fcn.00404924
mov byte [0x5c6eb0], 1
pop edi
pop esi
pop ebx
ret