Function at 0x40e7f0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4a41e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push esi
push edi
push 0x5c
lea ecx, [esp + 0x34]
mov dword [esp + 0x2c], 0
call fcn.00487af7
inc eax
lea ecx, [esp + 0x30]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.0048794a
lea ecx, [esp + 0xc]
mov byte [esp + 0x28], 1
call fcn.0048fb75
lea ecx, [esp + 0x14]
push 0xa
push ecx
lea ecx, [esp + 0x14]
call fcn.00487a7f
mov eax, dword [eax]
mov esi, str.plugin.ini
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40e87b
test cl, cl
je 0x40e877
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40e87b
add eax, 2
add esi, 2
test cl, cl
jne 0x40e853
xor eax, eax
jmp 0x40e880
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x14]
sete bl
call fcn.0048f641
test bl, bl
je 0x40ea9e
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.Type
call fcn.0048f6af
push ecx
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0x34], 2
call fcn.0048f3b6
lea ecx, [esp + 0x1c]
mov byte [esp + 0x30], 1
push ecx
call fcn.0040e700
add esp, 0xc
mov edi, dword [esp + 0x14]
mov bl, 3
mov byte [esp + 0x28], bl
mov esi, str.BUTTON
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40e904
test cl, cl
je 0x40e900
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40e904
add eax, 2
add esi, 2
test cl, cl
jne 0x40e8e0
xor eax, eax
jmp 0x40e909
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40e945
mov esi, str.M2Plugin_BUTTON
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40e938
test cl, cl
je 0x40e934
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40e938
add eax, 2
add esi, 2
test cl, cl
jne 0x40e914
xor eax, eax
jmp 0x40e93d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ea90
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.ModuleType
call fcn.0048f6af
push ecx
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov byte [esp + 0x34], 4
call fcn.0048f3b6
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], bl
push ecx
call fcn.0040e700
add esp, 0xc
mov edi, dword [esp + 0x10]
mov esi, str.SCRIPT
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40e9ac
test cl, cl
je 0x40e9a8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40e9ac
add eax, 2
add esi, 2
test cl, cl
jne 0x40e988
xor eax, eax
jmp 0x40e9b1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ea06
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], bl
call fcn.0048f641
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], 1
call fcn.0048f641
lea ecx, [esp + 0xc]
mov byte [esp + 0x28], 0
call fcn.0048f641
lea ecx, [esp + 0x30]
mov dword [esp + 0x28], 0xffffffff
call fcn.0048f641
mov eax, 1
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x20
ret
mov esi, 0x4d4660
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ea31
test cl, cl
je 0x40ea2d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ea31
add eax, 2
add esi, 2
test cl, cl
jne 0x40ea0d
xor eax, eax
jmp 0x40ea36
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov byte [esp + 0x28], bl
lea ecx, [esp + 0x10]
jne 0x40ea8b
call fcn.0048f641
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], 1
call fcn.0048f641
lea ecx, [esp + 0xc]
mov byte [esp + 0x28], 0
call fcn.0048f641
lea ecx, [esp + 0x30]
mov dword [esp + 0x28], 0xffffffff
call fcn.0048f641
mov eax, 2
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x20
ret
call fcn.0048f641
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], 1
call fcn.0048f641
lea ecx, [esp + 0xc]
mov byte [esp + 0x28], 0
call fcn.0048f641
lea ecx, [esp + 0x30]
mov dword [esp + 0x28], 0xffffffff
call fcn.0048f641
mov ecx, dword [esp + 0x20]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
add esp, 0x20
ret