Function at 0x40116f
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffea8
mov edx, 0x88
mov dword [ebp - 0x7c], edx
push ebx
lea edx, [edx - 0x73]
mov dword [ebp - 0x114], edx
push esi
mov esi, dword [ebp - 0x114]
cmp esi, edx
je 0x4011bd
cmp esi, edx
jne 0x4011bd
xor ebx, ebx
mov dword [ebp - 0x134], ebx
lea eax, [esi - 0x25]
cmp eax, 0xff3
jne 0x4011bd
lea esi, [esi + 0x51]
lea ecx, [ebx - 0x4d]
mov dword [ebp - 0x10c], esi
mov dword [ebp - 4], ecx
mov dword [ebp - 0x1c], eax
push edi
sub edx, eax
mov eax, 0x29
test edx, 0x9f
jne 0x4012c3
xor edi, edi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0xcc], edi
cmp esi, 0xe
jne 0x4012c3
sub esi, edi
add esi, eax
lea edx, [eax - 0x6e]
mov edi, dword [ebp - 4]
cmp edi, dword [ebp - 0x1c]
je 0x4012c3
lea eax, [ebx*2 + 0x8f]
lea ecx, [ebx + esi - 0xe]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0xb4], eax
cmp edi, dword [ebp - 0x114]
je 0x4012c3
test ecx, 0xa
jne 0x4012c3
xor edx, edx
mov eax, dword [ebp - 4]
cmp ecx, dword [ebp - 4]
jne 0x4012c3
mov dword [ebp - 0x13c], edx
cmp edi, 0x934a
jne 0x4012c3
xor esi, esi
xor edx, edx
mov dword [ebp - 0xb0], edx
cmp edi, eax
jne 0x4012c3
lea ebx, [edx + 0x499e]
mov edx, edi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xc0], edi
sub esi, edx
cmp ecx, dword [ebp - 4]
jne 0x4012c3
mov edx, ebx
cmp ecx, 0x2dff
jne 0x4012c3
lea ebx, [esi*2 + 0xf796]
mov dword [ebp - 0x128], ebx
lea esi, [esi + ebx*4 - 0x12]
cmp esi, dword [ebp - 0x54]
je 0x4012c3
mov edi, 0xa3f0
lea ebx, [esi + 0xc92d]
cmp ecx, edi
jne 0x4012c3
mov esi, 0xc7
add ecx, edi
mov eax, ebx
mov dword [ebp - 0x84], esi
mov dword [ebp - 0xec], edx
mov dword [ebp - 0x50], eax
and ecx, ebx
add ecx, esi
mov dword [ebp - 0xa8], ecx
mov ecx, edi
mov eax, 0x78c
mov dword [ebp - 0xfc], ecx
and eax, edi
add edx, ebx
mov dword [ebp - 0x130], ecx
cmp edx, ecx
jne 0x40130b
mov ecx, 0xce
mov ebx, ecx
cmp edx, eax
je 0x40130b
mov edi, dword [0x413258]
mov esi, dword [0x413258]
mov dword [ebp - 0x120], esi
sub ebx, eax
sub ebx, edi
mov dword [ebp - 0x108], edx
mov dword [ebp - 0xf8], ebx
push 0x40
push 0x3000
push 0x53fdf
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
sub esi, edi
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x104], edx
lea ebx, [esi*2 + 0xde]
mov dword [ebp - 0x158], eax
sub ebx, esi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x48], eax
cmp edx, ebx
jne 0x40134e
sub esi, edx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x12c], 0x458dfc
mov edx, dword [0x413254]
mov dword [ebp - 0xd4], edx
mov edi, dword [ebp - 0x48]
lea ecx, [ebx - 0x5e]
mov edx, dword [ebp - 0x114]
cmp edx, edi
je 0x401383
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0xc4], ecx
mov esi, dword [ebp - 0xfc]
mov ecx, dword [0x413258]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x70], ecx
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x138], esi
mov esi, dword [eax]
xor edx, edx
mov dword [ebp - 0xf4], edx
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x19]
cmp esi, ebx
jne 0x4013c0
cmp edx, ecx
jne 0x4013c0
dec edx
mov dword [ebp - 0x58], edx
or esi, esi
je 0x4014dc
xor edx, edx
mov dword [ebp - 0xac], edx
repne movsb byte es:[edi], byte [esi]
mov edx, dword [0x413254]
add ecx, ebx
cmp ecx, dword [0x413254]
jne 0x4014cb
mov dword [ebp - 0x144], edi
cmp edi, 0x64
je 0x4014cb
mov dword [ebp - 0x44], esi
mov esi, dword [ebp - 0x50]
cmp esi, dword [0x413254]
je 0x4014cb
test ecx, 0x48a2
je 0x4014cb
cmp esi, dword [0x413258]
je 0x4014cb
mov dword [ebp - 0x8c], edx
mov edx, eax
add ecx, edx
cmp esi, dword [0x413258]
jne 0x4014cb
mov dword [ebp - 0xbc], ebx
cmp ecx, 0xb420
je 0x4014cb
mov dword [ebp - 0x38], esi
mov esi, dword [0x413258]
mov dword [ebp - 0x3c], ecx
sub esi, eax
mov ecx, dword [0x413258]
cmp esi, dword [ebp - 0x104]
je 0x4014cb
mov edx, dword [0x413258]
sub edx, esi
cmp edx, 0x43
je 0x4014cb
mov esi, dword [0x413258]
mov dword [ebp - 0xe0], ecx
xor esi, esi
test edx, 0xa0
jne 0x4014cb
lea ecx, [eax + 0x7352]
test edx, 0xe1
je 0x4014cb
cmp edx, esi
jne 0x4014cb
cmp ecx, 0x72
je 0x4014cb
lea esi, [ecx + 0x99b]
mov ecx, dword [0x413258]
test esi, 0x43
jne 0x4014cb
lea ecx, [edi + 0x55]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x88], edi
mov ecx, edi
mov dword [ebp - 0x140], esi
mov dword [ebp - 8], ecx
add dword [ebp - 0x12c], 8
mov esi, edi
mov dword [ebp - 0x68], esi
jmp 0x401367
xor eax, eax
mov ebx, eax
cmp edi, ebx
jne 0x40156c
xor ebx, ebx
or ebx, esi
xor edi, edi
cmp ebx, 0x24
jne 0x40156c
cmp ebx, edi
je 0x40156c
cmp ecx, 0xd56b
je 0x40156c
cmp ebx, dword [ebp - 0x128]
jne 0x40156c
mov dword [ebp - 0xf0], ebx
mov ecx, eax
lea eax, [edi*4 + 0x3e5f]
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x10], esi
sub ecx, edi
sub ecx, eax
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0x74], edx
cmp ebx, 0xffffffc7
je 0x40156c
sub ecx, edi
mov eax, dword [0x413254]
mov dword [ebp - 0x110], edi
mov edx, ecx
mov dword [ebp - 0x154], ebx
cmp esi, 0x32
jne 0x40156c
mov ecx, dword [0x413244]
mov esi, 0x25
or edi, edx
add edi, eax
and edi, ecx
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x18], esi
and edi, ebx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x48]
xor edx, edx
mov esi, dword [0x413258]
cmp eax, dword [0x413244]
jne 0x4015b3
mov ebx, 0x976c
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edi
cmp eax, ebx
je 0x4015b3
mov edi, dword [ebp - 0x2c]
mov edx, edi
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0x118], edx
pop edi
lea edx, [eax + 0xb81a]
mov ecx, edx
cmp ecx, 0x16
je 0x401626
mov dword [ebp - 0x94], eax
mov esi, dword [0x413254]
mov edx, dword [0x413254]
add esi, edx
cmp edi, 0xfdbe
jne 0x401626
mov ebx, edx
lea edx, [edi*4 + 0xbe85]
or edx, edi
cmp ecx, 0x11
jne 0x401626
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x98], edx
cmp edi, 0xffffffbe
je 0x401626
test edi, 0x6f
je 0x401626
mov edx, dword [ebp - 0xb0]
mov ecx, edi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x150], edx
pop esi
cmp eax, dword [ebp - 0x24]
je 0x401658
mov edx, dword [0x413244]
lea ecx, [edi + 0xb]
mov dword [ebp - 0xa4], esi
sub edx, edi
cmp eax, dword [0x413244]
jne 0x401658
mov ebx, edx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x30], eax
add ebx, eax
mov dword [ebp - 0x14c], ebx
pop ebx
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x80], edx
leave
ret