Function at 0x40d954
Capabilities:
Read file via mapping

Disassembly:
push ebx
push esi
push edi
cmp byte [0x55beb0], 0
jne 0x40dbd2
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 + 0x54dca4]
mov ecx, 0x18
sub ecx, eax
mov byte [ecx + str.LocalFastMM_PID_________], dl
mov ecx, 8
sub ecx, eax
mov byte [ecx + 0x54e3e9], dl
mov byte [ecx + 0x54e3fd], dl
inc eax
cmp eax, 8
jne 0x40d96d
push str._________PID_FastMM
push 0x40dbd8
call sub.user32.dll_FindWindowA
mov dword [0x55bea4], eax
push str._________PID_FastMM_BE
push 0x40dbd8
call sub.user32.dll_FindWindowA
mov dword [0x55bea8], eax
push str.LocalFastMM_PID_________
push 0
push 4
call sub.kernel32.dll_OpenFileMappingA
mov dword [0x55beac], eax
mov eax, dword [0x55bea4]
or eax, dword [0x55bea8]
or eax, dword [0x55beac]
jne 0x40db21
mov eax, dword [0x555f24]
cmp byte [eax], 0
jne 0x40dad9
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [0x559c50]
push eax
push 0
mov edx, str._________PID_FastMM
mov eax, 0x40dbd8
mov ecx, 0x80000000
call fcn.0040c840
mov dword [0x55bea4], eax
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [0x559c50]
push eax
push 0
mov edx, str._________PID_FastMM_BE
mov eax, 0x40dbd8
mov ecx, 0x80000000
call fcn.0040c840
mov dword [0x55bea8], eax
cmp dword [0x55bea4], 0
je 0x40da81
mov eax, dword [0x55bea4]
mov edx, 0xffffffeb
mov ecx, 0x55be8c
push ecx
push edx
push eax
call sub.user32.dll_SetWindowLongW
cmp dword [0x55bea8], 0
je 0x40daa1
mov eax, dword [0x55bea8]
mov edx, 0xffffffeb
mov ecx, 0x55be8c
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 [0x55beac], eax
push 0
push 0
push 0
push 2
mov eax, dword [0x55beac]
push eax
call sub.kernel32.dll_MapViewOfFile
mov dword [eax], 0x55be8c
push eax
call sub.kernel32.dll_UnmapViewOfFile
mov dword [0x55be8c], fcn.0040cf4c
mov dword [0x55be90], 0x40d25c
mov dword [0x55be94], 0x40d410
mov dword [0x55be98], 0x40d6b4
mov dword [0x55be9c], 0x40d6fc
mov dword [0x55bea0], 0x40d700
mov byte [0x55beb1], 1
jmp 0x40dbb7
cmp dword [0x55beac], 0
je 0x40db55
push 0
push 0
push 0
push 4
mov eax, dword [0x55beac]
push eax
call sub.kernel32.dll_MapViewOfFile
mov edx, dword [eax]
mov esi, edx
mov edi, 0x55be8c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
push eax
call sub.kernel32.dll_UnmapViewOfFile
jmp 0x40db9e
cmp dword [0x55bea4], 0
je 0x40db7f
mov eax, dword [0x55bea4]
mov edx, 0xffffffeb
push edx
push eax
call sub.user32.dll_GetWindowLongW
mov esi, eax
mov edi, 0x55be8c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
jmp 0x40db9e
mov eax, dword [0x55bea8]
mov edx, 0xffffffeb
push edx
push eax
call sub.user32.dll_GetWindowLongW
mov esi, eax
mov edi, 0x55be8c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x55beac]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
mov dword [0x55beac], eax
mov byte [0x55beb1], 0
mov eax, 0x55be74
call fcn.004048f0
mov eax, 0x55be8c
call fcn.00404904
mov byte [0x55beb0], 1
pop edi
pop esi
pop ebx
ret