Function at 0x40d928
Capabilities:
Read file via mapping

Disassembly:
push ebx
push esi
push edi
cmp byte [0x4c3eb0], 0
jne 0x40dba6
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 + 0x4b93e9], dl
mov byte [ecx + 0x4b93fd], dl
inc eax
cmp eax, 8
jne 0x40d941
push str._________PID_FastMM
push 0x40dbac
call sub.user32.dll_FindWindowA
mov dword [0x4c3ea4], eax
push str._________PID_FastMM_BE
push 0x40dbac
call sub.user32.dll_FindWindowA
mov dword [0x4c3ea8], eax
push str.LocalFastMM_PID_________
push 0
push 4
call sub.kernel32.dll_OpenFileMappingA
mov dword [0x4c3eac], eax
mov eax, dword [0x4c3ea4]
or eax, dword [0x4c3ea8]
or eax, dword [0x4c3eac]
jne 0x40daf5
mov eax, dword [0x4bd8dc]
cmp byte [eax], 0
jne 0x40daad
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [0x4c1c50]
push eax
push 0
mov edx, str._________PID_FastMM
mov eax, 0x40dbac
mov ecx, 0x80000000
call fcn.0040c814
mov dword [0x4c3ea4], eax
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [0x4c1c50]
push eax
push 0
mov edx, str._________PID_FastMM_BE
mov eax, 0x40dbac
mov ecx, 0x80000000
call fcn.0040c814
mov dword [0x4c3ea8], eax
cmp dword [0x4c3ea4], 0
je 0x40da55
mov eax, dword [0x4c3ea4]
mov edx, 0xffffffeb
mov ecx, 0x4c3e8c
push ecx
push edx
push eax
call sub.user32.dll_SetWindowLongW
cmp dword [0x4c3ea8], 0
je 0x40da75
mov eax, dword [0x4c3ea8]
mov edx, 0xffffffeb
mov ecx, 0x4c3e8c
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 [0x4c3eac], eax
push 0
push 0
push 0
push 2
mov eax, dword [0x4c3eac]
push eax
call sub.kernel32.dll_MapViewOfFile
mov dword [eax], 0x4c3e8c
push eax
call sub.kernel32.dll_UnmapViewOfFile
mov dword [0x4c3e8c], fcn.0040cf20
mov dword [0x4c3e90], 0x40d230
mov dword [0x4c3e94], 0x40d3e4
mov dword [0x4c3e98], 0x40d688
mov dword [0x4c3e9c], 0x40d6d0
mov dword [0x4c3ea0], 0x40d6d4
mov byte [0x4c3eb1], 1
jmp 0x40db8b
cmp dword [0x4c3eac], 0
je 0x40db29
push 0
push 0
push 0
push 4
mov eax, dword [0x4c3eac]
push eax
call sub.kernel32.dll_MapViewOfFile
mov edx, dword [eax]
mov esi, edx
mov edi, 0x4c3e8c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
push eax
call sub.kernel32.dll_UnmapViewOfFile
jmp 0x40db72
cmp dword [0x4c3ea4], 0
je 0x40db53
mov eax, dword [0x4c3ea4]
mov edx, 0xffffffeb
push edx
push eax
call sub.user32.dll_GetWindowLongW
mov esi, eax
mov edi, 0x4c3e8c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
jmp 0x40db72
mov eax, dword [0x4c3ea8]
mov edx, 0xffffffeb
push edx
push eax
call sub.user32.dll_GetWindowLongW
mov esi, eax
mov edi, 0x4c3e8c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x4c3eac]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
mov dword [0x4c3eac], eax
mov byte [0x4c3eb1], 0
mov eax, 0x4c3e74
call fcn.004048a8
mov eax, 0x4c3e8c
call fcn.004048bc
mov byte [0x4c3eb0], 1
pop edi
pop esi
pop ebx
ret