Function at 0x44e041
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x44b8
call fcn.004535d0
push esi
push edi
mov eax, dword [0x462eb0]
mov dword [ebp - 0x4460], eax
mov dword [ebp - 0x445c], 0
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [ebp - 0x18], eax
call fcn.0044e97d
sub eax, 6
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0x4458]
push edx
lea eax, [ebp - 0x4354]
push eax
push 0
call fcn.0044da90
add esp, 0x10
test eax, eax
je 0x44e961
mov ecx, dword [ebp - 0x4352]
and ecx, 0xff
test ecx, ecx
je 0x44e0e1
call fcn.0044d50e
test eax, eax
je 0x44e0e1
push 0x10
push 0x44759c
push 0x4475a4
push 0
call fcn.00450340
add esp, 0x10
xor eax, eax
jmp 0x44e977
push 0x4338
lea edx, [ebp - 0x4354]
push edx
push 0x45e930
call fcn.00453180
add esp, 0xc
mov byte [ebp - 0x4490], 4
mov byte [ebp - 0x448f], 8
mov byte [ebp - 0x448e], 0
mov byte [ebp - 0x448d], 0
mov byte [ebp - 0x448c], 0xc8
mov byte [ebp - 0x448b], 0
mov byte [ebp - 0x448a], 0
mov byte [ebp - 0x4489], 0
mov byte [ebp - 0x4488], 0x18
mov byte [ebp - 0x4487], 0x61
mov byte [ebp - 0x4486], 0xe
mov byte [ebp - 0x4485], 0
mov byte [ebp - 0x4484], 0x22
mov byte [ebp - 0x4483], 0
mov byte [ebp - 0x4482], 0
mov byte [ebp - 0x4481], 0
mov byte [ebp - 0x4480], 0x90
mov byte [ebp - 0x447f], 0x66
mov byte [ebp - 0x447e], 0xe
mov byte [ebp - 0x447d], 0
mov byte [ebp - 0x447c], 0xe8
mov byte [ebp - 0x447b], 2
mov byte [ebp - 0x447a], 0
mov byte [ebp - 0x4479], 0
mov byte [ebp - 0x4478], 0
mov byte [ebp - 0x4477], 0
mov byte [ebp - 0x4476], 0
mov byte [ebp - 0x4475], 0
mov byte [ebp - 0x4474], 0
mov byte [ebp - 0x4473], 0
mov byte [ebp - 0x4472], 0
mov byte [ebp - 0x4471], 0
push 0x4338
lea eax, [ebp - 0x4490]
push eax
push 0x64
push 0x45e930
call fcn.00450a8d
add esp, 0x10
mov ecx, dword [ebp - 0x433e]
and ecx, 0xff
test ecx, ecx
je 0x44e234
mov edx, dword [ebp - 0x4350]
and edx, 0xff
cmp edx, 2
je 0x44e234
mov eax, 0x4338
call fcn.004535d0
mov ecx, 0x10ce
mov esi, 0x45e930
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call dword [0x462e90]
push 0x45e930
call dword [0x462e8c]
mov eax, dword [ebp - 4]
sub eax, 0x4338
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x4344]
and ecx, 0xff
test ecx, ecx
je 0x44e2ab
mov edx, dword [0x462fbc]
push edx
call fcn.0045df70
add esp, 4
mov dword [ebp - 0x44b8], eax
push 4
push 0x1000
mov eax, dword [ebp - 0x44b8]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x44b8]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [0x462fbc]
push ecx
call fcn.0045def0
add esp, 0x10
mov dword [ebp - 4], eax
jmp 0x44e2d8
push 4
push 0x1000
mov edx, dword [ebp - 4]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [0x462fbc]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00453180
add esp, 0xc
cmp dword [0x45e910], 0
je 0x44e2f4
push 0x8000
push 0
mov eax, dword [0x462fbc]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFree]
lea ecx, [ebp - 0x4458]
push ecx
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x445c]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0044ea1d
add esp, 0x18
test eax, eax
jne 0x44e336
push 0x8000
push 0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
jmp 0x44e977
push 0x8000
push 0
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x44b0], eax
mov dword [ebp - 0x4464], 0x462fbc
mov dword [ebp - 0x4498], 0x462ea0
lea eax, [ebp - 0x10]
push eax
push 0x40
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 0x4460]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x44e389
xor eax, eax
jmp 0x44e977
push 0x40
push 0x1000
push 0x64
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [0x45e928], eax
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [ebp - 0x44ac], 0
mov ecx, dword [0x45e928]
add ecx, dword [ebp - 0x44ac]
mov byte [ecx], 0x6a
mov edx, dword [ebp - 0x44ac]
add edx, 1
mov dword [ebp - 0x44ac], edx
mov eax, dword [0x45e928]
add eax, dword [ebp - 0x44ac]
mov byte [eax], 0
mov ecx, dword [ebp - 0x44ac]
add ecx, 1
mov dword [ebp - 0x44ac], ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
mov byte [edx], 0x68
mov eax, dword [ebp - 0x44ac]
add eax, 1
mov dword [ebp - 0x44ac], eax
push 4
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
push edx
call fcn.00453180
add esp, 0xc
mov eax, dword [ebp - 0x44ac]
add eax, 4
mov dword [ebp - 0x44ac], eax
mov ecx, dword [0x45e928]
add ecx, dword [ebp - 0x44ac]
mov byte [ecx], 0x68
mov edx, dword [ebp - 0x44ac]
add edx, 1
mov dword [ebp - 0x44ac], edx
push 4
push 0x462c78
mov eax, dword [0x45e928]
add eax, dword [ebp - 0x44ac]
push eax
call fcn.00453180
add esp, 0xc
mov ecx, dword [ebp - 0x44ac]
add ecx, 4
mov dword [ebp - 0x44ac], ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
mov byte [edx], 0x68
mov eax, dword [ebp - 0x44ac]
add eax, 1
mov dword [ebp - 0x44ac], eax
push 4
lea ecx, [ebp - 0x4460]
push ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
push edx
call fcn.00453180
add esp, 0xc
mov eax, dword [ebp - 0x44ac]
add eax, 4
mov dword [ebp - 0x44ac], eax
mov ecx, dword [0x45e928]
add ecx, dword [ebp - 0x44ac]
mov byte [ecx], 0x68
mov edx, dword [ebp - 0x44ac]
add edx, 1
mov dword [ebp - 0x44ac], edx
push 4
lea eax, [ebp - 0x44b0]
push eax
mov ecx, dword [0x45e928]
add ecx, dword [ebp - 0x44ac]
push ecx
call fcn.00453180
add esp, 0xc
mov edx, dword [ebp - 0x44ac]
add edx, 4
mov dword [ebp - 0x44ac], edx
mov eax, dword [0x45e928]
add eax, dword [ebp - 0x44ac]
mov byte [eax], 0xff
mov ecx, dword [ebp - 0x44ac]
add ecx, 1
mov dword [ebp - 0x44ac], ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
mov byte [edx], 0x15
mov eax, dword [ebp - 0x44ac]
add eax, 1
mov dword [ebp - 0x44ac], eax
push 4
lea ecx, [ebp - 0x4498]
push ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
push edx
call fcn.00453180
add esp, 0xc
mov eax, dword [ebp - 0x44ac]
add eax, 4
mov dword [ebp - 0x44ac], eax
mov ecx, dword [0x45e928]
add ecx, dword [ebp - 0x44ac]
mov byte [ecx], 0x68
mov edx, dword [ebp - 0x44ac]
add edx, 1
mov dword [ebp - 0x44ac], edx
mov eax, dword [0x45e928]
add eax, dword [ebp - 0x44ac]
mov byte [eax], 0
mov ecx, dword [ebp - 0x44ac]
add ecx, 1
mov dword [ebp - 0x44ac], ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
mov byte [edx], 0x80
mov eax, dword [ebp - 0x44ac]
add eax, 1
mov dword [ebp - 0x44ac], eax
mov ecx, dword [0x45e928]
add ecx, dword [ebp - 0x44ac]
mov byte [ecx], 0
mov edx, dword [ebp - 0x44ac]
add edx, 1
mov dword [ebp - 0x44ac], edx
mov eax, dword [0x45e928]
add eax, dword [ebp - 0x44ac]
mov byte [eax], 0
mov ecx, dword [ebp - 0x44ac]
add ecx, 1
mov dword [ebp - 0x44ac], ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
mov byte [edx], 0x6a
mov eax, dword [ebp - 0x44ac]
add eax, 1
mov dword [ebp - 0x44ac], eax
mov ecx, dword [0x45e928]
add ecx, dword [ebp - 0x44ac]
mov byte [ecx], 0
mov edx, dword [ebp - 0x44ac]
add edx, 1
mov dword [ebp - 0x44ac], edx
mov eax, dword [0x45e928]
add eax, dword [ebp - 0x44ac]
mov byte [eax], 0x68
mov ecx, dword [ebp - 0x44ac]
add ecx, 1
mov dword [ebp - 0x44ac], ecx
push 4
push 0x462c78
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
push edx
call fcn.00453180
add esp, 0xc
mov eax, dword [ebp - 0x44ac]
add eax, 4
mov dword [ebp - 0x44ac], eax
push 0x4475c8
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x44a0], eax
push 0x4475d8
mov ecx, dword [ebp - 0x44a0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x449c], eax
lea edx, [ebp - 0x449c]
mov dword [ebp - 0x4470], edx
mov eax, dword [ebp - 0x44a0]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [0x45e928]
add ecx, dword [ebp - 0x44ac]
mov byte [ecx], 0xff
mov edx, dword [ebp - 0x44ac]
add edx, 1
mov dword [ebp - 0x44ac], edx
mov eax, dword [0x45e928]
add eax, dword [ebp - 0x44ac]
mov byte [eax], 0x15
mov ecx, dword [ebp - 0x44ac]
add ecx, 1
mov dword [ebp - 0x44ac], ecx
push 4
lea edx, [ebp - 0x4470]
push edx
mov eax, dword [0x45e928]
add eax, dword [ebp - 0x44ac]
push eax
call fcn.00453180
add esp, 0xc
mov ecx, dword [ebp - 0x44ac]
add ecx, 4
mov dword [ebp - 0x44ac], ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
mov byte [edx], 0x8b
mov eax, dword [ebp - 0x44ac]
add eax, 1
mov dword [ebp - 0x44ac], eax
mov ecx, dword [0x45e928]
add ecx, dword [ebp - 0x44ac]
mov byte [ecx], 0xe5
mov edx, dword [ebp - 0x44ac]
add edx, 1
mov dword [ebp - 0x44ac], edx
mov eax, dword [0x45e928]
add eax, dword [ebp - 0x44ac]
mov byte [eax], 0x5d
mov ecx, dword [ebp - 0x44ac]
add ecx, 1
mov dword [ebp - 0x44ac], ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
mov byte [edx], 0x8b
mov eax, dword [ebp - 0x44ac]
add eax, 1
mov dword [ebp - 0x44ac], eax
mov ecx, dword [0x45e928]
add ecx, dword [ebp - 0x44ac]
mov byte [ecx], 0xe5
mov edx, dword [ebp - 0x44ac]
add edx, 1
mov dword [ebp - 0x44ac], edx
mov eax, dword [0x45e928]
add eax, dword [ebp - 0x44ac]
mov byte [eax], 0x5d
mov ecx, dword [ebp - 0x44ac]
add ecx, 1
mov dword [ebp - 0x44ac], ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
mov byte [edx], 0xe9
mov eax, dword [ebp - 0x44ac]
add eax, 1
mov dword [ebp - 0x44ac], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x446c], ecx
mov edx, dword [0x45e928]
sub edx, dword [ebp - 0x446c]
sub edx, 5
mov dword [0x462c6c], edx
mov eax, dword [ebp - 0x446c]
mov dword [ebp - 0x44b4], eax
mov ecx, dword [ebp - 0x434c]
add ecx, dword [0x462eb0]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
sub edx, dword [0x45e928]
mov eax, dword [ebp - 0x44ac]
add eax, 4
sub edx, eax
mov dword [ebp - 0x4468], edx
push 4
lea ecx, [ebp - 0x4468]
push ecx
mov edx, dword [0x45e928]
add edx, dword [ebp - 0x44ac]
push edx
call fcn.00453180
add esp, 0xc
mov byte [ebp - 0x44a8], 0xe9
push 4
push 0x462c6c
lea eax, [ebp - 0x44a7]
push eax
call fcn.00453180
add esp, 0xc
lea ecx, [ebp - 0x10]
push ecx
push 0x40
push 0x32
mov edx, dword [ebp - 0x44b4]
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
jne 0x44e8c2
xor eax, eax
jmp 0x44e977
mov eax, dword [ebp - 0x44b4]
mov dword [ebp - 0x4494], eax
mov ecx, dword [ebp - 0x4494]
mov dl, byte [ebp - 0x44a8]
mov byte [ecx], dl
mov eax, dword [ebp - 0x4494]
add eax, 1
mov dword [ebp - 0x4494], eax
mov ecx, dword [ebp - 0x4494]
mov dl, byte [ebp - 0x44a7]
mov byte [ecx], dl
mov eax, dword [ebp - 0x4494]
add eax, 1
mov dword [ebp - 0x4494], eax
mov ecx, dword [ebp - 0x4494]
mov dl, byte [ebp - 0x44a6]
mov byte [ecx], dl
mov eax, dword [ebp - 0x4494]
add eax, 1
mov dword [ebp - 0x4494], eax
mov ecx, dword [ebp - 0x4494]
mov dl, byte [ebp - 0x44a5]
mov byte [ecx], dl
mov eax, dword [ebp - 0x4494]
add eax, 1
mov dword [ebp - 0x4494], eax
mov ecx, dword [ebp - 0x4494]
mov dl, byte [ebp - 0x44a4]
mov byte [ecx], dl
mov eax, dword [ebp - 0x4494]
add eax, 1
mov dword [ebp - 0x4494], eax
jmp 0x44e975
push 0x10
push 0x4475e4
push 0x4475ec
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret