Function at 0x417690
Capabilities:
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x430c04]
push ebx
push esi
push edi
push 0
push 0
push 0
push eax
call dword [sym.imp.MSVCR100.dll__fseeki64]
mov ecx, dword [0x430c04]
mov esi, dword [sym.imp.MSVCR100.dll_fread]
push ecx
mov ebx, 1
push ebx
lea edx, [ebp - 0xc]
push 6
push edx
call esi
mov edi, dword [sym.imp.MSVCR100.dll_strncmp]
push 6
lea eax, [ebp - 0xc]
push str.SSGML2
push eax
call edi
add esp, 0x2c
test eax, eax
je 0x417734
push 6
lea ecx, [ebp - 0xc]
push str.SSHMLM
push ecx
call edi
add esp, 0xc
test eax, eax
je 0x417734
mov esi, dword [sym.imp.MSVCR100.dll_printf]
push str.Not_a_valid_mdm_file._n
call esi
push 0x427a0c
push 0x428e48
call esi
add esp, 0xc
call fcn.00404240
add dword [0x42fba4], ebx
je 0x41772c
call fcn.00403eb0
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov edx, dword [0x430c04]
push edx
push ebx
push 4
push 0x42fb40
call esi
fld dword [0x42fb40]
fcomp qword [0x42e2a0]
add esp, 0x10
fnstsw ax
test ah, 0x41
jp 0x417797
mov esi, dword [sym.imp.MSVCR100.dll_printf]
push str.Sorry__you_will_have_to_remake_this_mdm_file_n
call esi
add dword [0x42fba4], ebx
push 0x427955
push 0x428e48
call esi
add esp, 0xc
call fcn.00404240
add dword [0x42fba4], ebx
je 0x41778f
call fcn.00403eb0
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [0x430c04]
push eax
push ebx
lea ecx, [ebp - 0x18]
push 8
push ecx
call esi
mov edx, dword [0x430c04]
push edx
push ebx
push 4
push 0x430d30
call esi
mov eax, dword [0x430c04]
push eax
push ebx
push 4
push 0x430bbc
call esi
mov ecx, dword [0x430c04]
push ecx
push ebx
lea edx, [ebp - 0x10]
push 4
push edx
call esi
mov eax, dword [0x430c04]
add esp, 0x40
push eax
push ebx
lea ecx, [ebp - 0x10]
push 4
push ecx
call esi
mov edx, dword [0x430c04]
push edx
push ebx
lea eax, [ebp - 0x10]
push 4
push eax
call esi
mov eax, dword [ebp - 0x10]
add esp, 0x20
test eax, eax
jns 0x417810
neg eax
mov dword [0x430a60], ebx
mov dword [ebp - 0x10], eax
jmp 0x41781a
mov dword [0x430a60], 0
mov ecx, dword [0x430c04]
push ecx
push ebx
push 4
push 0x430ca8
mov dword [0x430cb8], eax
call esi
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
add esp, 0x10
lea edi, [eax + eax + 2]
mov dword [0x430cb0], eax
mov dword [0x430b90], edx
call fcn.00404140
mov edi, dword [0x430cb0]
inc edi
imul edi, dword [0x430ca8]
add edi, edi
add edi, edi
add edi, edi
mov dword [0x42fde8], eax
call fcn.00404140
mov dword [0x42fd90], eax
mov eax, dword [0x430cb0]
lea eax, [eax + eax + 2]
test eax, eax
je 0x417892
mov ecx, dword [0x430c04]
mov edx, dword [0x42fde8]
push ecx
push ebx
push eax
push edx
call esi
add esp, 0x10
mov eax, dword [0x430cb0]
inc eax
imul eax, dword [0x430ca8]
add eax, eax
add eax, eax
add eax, eax
je 0x4178bc
mov ecx, dword [0x430c04]
mov edx, dword [0x42fd90]
push ecx
push ebx
push eax
push edx
call esi
add esp, 0x10
call fcn.00407300
mov edi, dword [0x430ca8]
imul edi, edi, 0xd
call fcn.00404140
mov dword [0x430c10], eax
mov eax, dword [0x430cb0]
inc eax
imul eax, eax, 0xd
test eax, eax
je 0x4178f6
mov ecx, dword [0x430c04]
mov edx, dword [0x430ca0]
push ecx
push ebx
push eax
push edx
call esi
add esp, 0x10
mov eax, dword [0x430b90]
inc eax
imul eax, eax, 0xd
test eax, eax
je 0x417918
mov ecx, dword [0x430c04]
mov edx, dword [0x430c14]
push ecx
push ebx
push eax
push edx
call esi
add esp, 0x10
mov eax, dword [0x430ca8]
imul eax, eax, 0xd
test eax, eax
je 0x417939
mov ecx, dword [0x430c04]
mov edx, dword [0x430c10]
push ecx
push ebx
push eax
push edx
call esi
add esp, 0x10
mov eax, dword [0x430c04]
push eax
push ebx
lea ecx, [ebp - 0x10]
push 4
push ecx
call esi
mov edi, dword [ebp - 0x10]
add esp, 0x10
add edi, edi
call fcn.00404140
mov ecx, dword [ebp - 0x10]
lea edx, [eax + ecx]
mov dword [0x430208], eax
mov dword [0x43020c], edx
test ecx, ecx
je 0x417995
mov edx, dword [0x430c04]
push edx
push ebx
push ecx
push eax
call esi
mov eax, dword [ebp - 0x10]
add esp, 0x10
test eax, eax
je 0x417995
mov ecx, dword [0x430c04]
mov edx, dword [0x43020c]
push ecx
push ebx
push eax
push edx
call esi
add esp, 0x10
mov edi, dword [0x430b90]
add edi, dword [0x430cb0]
add edi, edi
add edi, edi
add edi, edi
call fcn.00404140
mov ecx, dword [0x430cb0]
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + eax]
mov dword [0x430b98], eax
mov dword [0x430c7c], edx
je 0x4179d7
mov edx, dword [0x430c04]
push edx
push ebx
push ecx
push eax
call esi
add esp, 0x10
mov eax, dword [0x430b90]
add eax, eax
add eax, eax
add eax, eax
je 0x4179f9
mov ecx, dword [0x430c04]
mov edx, dword [0x430c7c]
push ecx
push ebx
push eax
push edx
call esi
add esp, 0x10
cmp dword [0x430a60], 0
mov edi, dword [0x430bbc]
je 0x417a26
add edi, edi
add edi, edi
add edi, edi
call fcn.00404140
mov ecx, dword [0x430bbc]
add ecx, ecx
add ecx, ecx
mov dword [0x42fb90], eax
add ecx, ecx
jmp 0x417a3e
imul edi, edi, 0xd
call fcn.00404140
mov ecx, dword [0x430bbc]
imul ecx, ecx, 0xd
mov dword [0x42fa00], eax
test ecx, ecx
je 0x417a4f
mov edx, dword [0x430c04]
push edx
push ebx
push ecx
push eax
call esi
add esp, 0x10
mov edi, dword [0x430bbc]
imul edi, dword [0x430b90]
add edi, edi
add edi, edi
add edi, edi
call fcn.00404140
mov ecx, dword [0x430bbc]
imul ecx, dword [0x430b90]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [0x42fde0], eax
je 0x417a90
mov edx, dword [0x430c04]
push edx
push ebx
push ecx
push eax
call esi
add esp, 0x10
mov eax, dword [0x430c04]
push eax
call dword [sym.imp.MSVCR100.dll__ftelli64]
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
mov dword [0x430d20], eax
mov dword [0x430d24], edx
pop ebx
call fcn.00425fc4
mov esp, ebp
pop ebp
ret