Function at 0x4046ff
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, 0x12c
lea eax, [ebp - 4]
lea eax, [ebp - 0xc]
or dword [ebp - 0xc], 0xffff
cmp eax, dword [ebp - 0x14]
jbe 0x404729
mov edx, 0
mov dx, 2
test edx, edx
jbe 0x40472b
sub edx, edx
mov dword [ebp - 4], edx
push 8
push 0x8000
push 0x600
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
mov ecx, dword [ebp]
mov dword [ebp - 0x18], eax
mov edi, dword [esp]
mov di, 1
lea edi, [ebp - 8]
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], 0xec
lea edi, [ebp]
sub edi, edi
mov esi, dword [esp]
mov dword [ebp - 8], 0xed
mov di, 0xbf
lea edx, [esp]
sub dword [ebp - 8], 0x44
sub edx, edx
mov dword [ebp - 8], 0x40
mov si, 8
mov dword [ebp - 0x10], ecx
lea eax, [esp]
mov dword [ebp - 4], ecx
mov dword [ebp - 8], 0x20
mov edi, dword [ebp]
or dword [ebp - 0x14], 0xeeee00ee
mov ecx, 0xf8
sub dword [ebp - 8], 0x44000044
and dword [ebp - 4], 0x1111
lea ecx, [ebp - 4]
mov eax, edx
xor eax, eax
lea esi, [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_GetACP]
mov edx, dword [ebp - 4]
lea ecx, [ebp - 4]
lea edi, [ebp]
lea edx, [ebp - 0x10]
lea edi, [ebp]
mov ecx, dword [ebp]
mov edi, esi
mov edi, dword [ebp - 4]
and dword [ebp - 0x14], 0x990099
mov dword [ebp - 0xc], eax
mov edi, dword [ebp - 0x10]
mov eax, dword [esp]
add dword [ebp - 0x10], 0x330033
lea eax, [ebp]
xor dword [ebp - 0x18], 0xbbbb
sub edx, edx
mov ecx, edi
mov dword [ebp - 0x14], 0xe2
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], eax
lea edi, [esp]
xor dword [ebp - 0x18], 0x77770077
mov di, 8
mov esi, dword [esp]
sub edi, edi
lea esi, [ebp - 0x18]
mov edi, dword [esp]
mov dword [ebp - 0x10], edi
mov edx, 0x12c
mov edx, 0x5e
test edx, edx
jne 0x40484e
mov ecx, 0
cmp edx, 0
jbe 0x40484e
add dword [ebp - 4], 0x20
lea edx, [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_GetACP]
mov edx, edi
mov dword [ebp - 4], esi
lea edi, [esp]
mov ecx, esi
lea esi, [ebp - 8]
mov edx, 0x20
lea eax, [ebp]
mov ax, 0x20
xor edi, edi
and dword [ebp - 0x10], 0xaa00aa
mov dword [ebp - 4], 0x4b
mov si, 0x10
xor esi, esi
and dword [ebp - 0x18], 0xdddd
and dword [ebp - 0xc], 0xcccc
mov ecx, edx
lea edi, [ebp - 8]
lea edi, [esp]
mov dword [ebp - 0x18], edi
mov edx, dword [ebp]
sub ecx, ecx
sub edi, edi
mov ecx, dword [ebp - 0x14]
xor dword [ebp - 8], 0x99999999
mov edi, dword [ebp]
mov di, 0x7c
sub esi, esi
add dword [ebp - 0x18], 0x55555555
mov esi, dword [ebp]
mov di, 0x10
and dword [ebp - 4], 0x44004444
sub dword [ebp - 4], 0x99990099
or dword [ebp - 0xc], 0x999999
lea esi, [esp]
call fcn.004045f5
push 8
push 0x8000
push 0xa00
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
lea esi, [esp]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp]
lea edi, [ebp]
mov dword [ebp - 0xc], edi
mov esi, dword [esp]
mov eax, 0xf2
mov dword [ebp - 4], edi
mov esi, ecx
lea esi, [ebp]
mov dword [ebp - 4], 0xb2
add dword [ebp - 0x10], 0x88000088
sub dword [ebp - 0x14], 0xbbbbbbbb
mov dword [ebp - 0xc], 1
lea eax, [esp]
mov dx, 0x80
lea edi, [esp]
mov di, 0x40
add dword [ebp - 4], 0xbbbbbbbb
mov edi, 0xa
sub ecx, ecx
mov esi, dword [esp]
add dword [ebp - 0x18], 0x44000044
mov edi, dword [ebp - 0xc]
add dword [ebp - 0x14], 0x99000099
mov dword [ebp - 4], edx
lea eax, [ebp - 8]
and dword [ebp - 4], 0xee
lea edi, [ebp - 4]
mov di, 0x80
mov esi, dword [ebp]
mov edx, dword [ebp]
xor esi, esi
mov edx, dword [ebp - 8]
mov ecx, pe_nt_image_headers32
mov dword [ebp - 0x18], 0x6b
call dword [sym.imp.KERNEL32.DLL_GetACP]
lea edi, [ebp]
mov edi, ecx
mov di, 0xe5
mov dword [ebp - 0x18], edi
mov eax, dword [ebp]
lea eax, [ebp]
mov di, 2
mov edx, dword [ebp]
mov edi, esi
mov dx, 0xec
or dword [ebp - 8], 0x330033
sub esi, esi
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
sub ecx, ecx
and dword [ebp - 0xc], 0xdddddddd
mov ecx, dword [esp]
sub dword [ebp - 4], 0x220022
sub dword [ebp - 0x14], 0x77000077
mov dword [ebp - 4], 0x20
xor esi, esi
sub dword [ebp - 0x18], 0x220022
lea edi, [ebp - 4]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], edi
mov ecx, 0xe7
mov dword [ebp - 0x14], 0x10
mov dword [ebp - 4], 0x47
mov dword [ebp - 0x14], edi
mov si, 0x8a
mov eax, edi
or dword [ebp - 0x14], 0x22222222
mov dword [ebp - 0x14], 0xe9
mov edi, dword [ebp - 8]
lea esi, [ebp - 4]
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
lea eax, [esp]
mov eax, dword [esp]
mov edx, dword [esp]
mov edx, dword [esp]
mov edx, dword [ebp - 0x10]
mov edx, esi
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x10], edx
lea esi, [ebp - 8]
mov dword [ebp - 0x14], ecx
sub edx, edx
mov di, 0x56
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp]
lea edx, [ebp]
mov eax, dword [ebp]
mov ecx, 8
mov edi, 0xff
mov ax, 0x40
and dword [ebp - 0x18], 0x7777
lea edi, [esp]
sub dword [ebp - 8], 0xbbbbbbbb
mov dword [ebp - 0x18], esi
add dword [ebp - 8], 0x66666666
mov dword [ebp - 4], edi
sub dword [ebp - 0x14], 0xff00ff
lea edx, [esp]
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
mov ecx, 0
mov ecx, 0x70
cmp ecx, 0
je 0x404aab
xor edx, edx
sub edx, edx
test edx, edx
je 0x404ab2
xor dword [ebp - 0xc], 0xff
call fcn.004086f4
mov edx, 0xc8
lea eax, [ebp - 4]
sub eax, eax
sub dword [ebp - 4], 0x46
or dword [ebp - 0x10], 0xffffff
mov edx, 0x3c
leave
ret