Function at 0x2cd40d0
Capabilities:
Inspect section memory permissions

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xb4]
cmp eax, dword [ecx + 8]
jbe 0x2cd4cd1
sub esp, 0x134
mov byte [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
call fcn.02b65780
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x2cd48e8
mov dword [esp + 0xc8], eax
lea edi, [esp + 0xf0]
xor eax, eax
call fcn.02b3eb0f
lea ecx, [0x2d26ea0]
mov dword [esp], ecx
call fcn.02aeb620
mov ecx, dword [esp + 4]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xf0], 4
mov edx, dword [esp + 0xc8]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
mov dword [esp + 0x14], 0x8000004
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
lea edx, [esp + 0xf0]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
call fcn.02b4c1d0
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x2cd48e8
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 4]
mov dword [esp + 0x88], 0xc
lea edx, [0x2d5a380]
mov dword [esp + 0x98], edx
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x88]
mov dword [esp], ecx
call fcn.02b118b0
test eax, eax
jne 0x2cd4915
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax]
mov dword [esp + 0x54], 0xc
lea edx, [0x2d5a380]
mov dword [esp + 0x64], edx
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x54]
mov dword [esp], ecx
call fcn.02b118b0
test eax, eax
jne 0x2cd4908
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x4c], edx
nop
lea ebx, [0x2d224e0]
mov dword [esp], ebx
call fcn.02aeb620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x144]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x148]
mov dword [edi + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cd428b
mov ecx, dword [esp + 0x140]
mov dword [edi], ecx
jmp 0x2cd4297
mov eax, dword [esp + 0x140]
call fcn.02b3e880
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xffffffff
lea eax, [0x2da4298]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.02ccf7c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x2cd48e8
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x14]
lea esi, [0x2d011c0]
cmp ebp, esi
jne 0x2cd4cba
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0xd8], ebx
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x34], eax
lea ecx, [0x2d372e0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0xec], eax
mov dword [eax], 0x100002
mov dword [esp + 0xd0], eax
lea ecx, [0x2d0a2a0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
mov edx, dword [esp + 0xd0]
mov dword [eax + 4], edx
mov edx, dword [0x30f6564]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.02b495b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x2cd48e8
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0xa4]
mov dword [esp + 0x48], ecx
lea edx, [0x2d0e740]
mov dword [esp], edx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0xe0], eax
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.02b274d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xcc], ecx
lea ecx, [0x2d0a8e0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x48]
add edx, 8
mov dword [esp + 0x38], edx
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xd0]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 4
mov ebx, dword [esp + 0xcc]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x30f6570]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.02b495b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x2cd48e8
nop
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jne 0x2cd44b7
lea eax, [0x2d0a2a0]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x48]
mov dword [eax + 4], edx
mov ebx, dword [0x30f657c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.02b495b0
cmp dword [esp + 0x10], 1
je 0x2cd48c5
lea eax, [0x2d0e800]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0xe4], eax
lea ecx, [0x2d0a8e0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x34]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xd8]
mov ebp, dword [ebx + 0x38]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], 0x3000
mov dword [eax + 0x10], 0x40
mov ebp, dword [0x30f65a8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.02b495b0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x2cd453f
mov ecx, dword [esp + 0xe4]
mov dword [ecx], eax
jmp 0x2cd45b0
lea eax, [0x2d0a8e0]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov edx, dword [esp + 0xd8]
mov ebx, dword [edx + 0x38]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0x3000
mov dword [eax + 0x10], 0x40
mov ebx, dword [0x30f65a8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.02b495b0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x2cd48a2
mov ecx, dword [esp + 0xe4]
mov dword [ecx], eax
lea eax, [0x2d0e800]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xe4]
cmp dword [edx], ecx
je 0x2cd465f
mov dword [esp + 0xd0], edx
mov dword [esp + 0xcc], eax
lea ecx, [0x2d0a8e0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], edx
mov dword [eax + 0xc], 4
mov edx, dword [esp + 0xcc]
mov dword [eax + 0x10], edx
mov edx, dword [0x30f6580]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.02b495b0
cmp dword [esp + 0x10], 1
je 0x2cd487f
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd8]
mov word [ecx + 0x44], 2
mov ebx, dword [edx]
mov ebp, dword [esp + 0x34]
cmp ebx, ebp
je 0x2cd46b0
mov ebp, dword [esp + 0xc4]
movzx esi, word [ebp + 0x12]
test si, 1
ja 0x2cd468d
mov dword [ecx + 0x1c], ebx
jmp 0x2cd46b0
mov byte [esp + 0x14c], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x150], eax
nop
call fcn.02b123e0
add esp, 0x134
ret
mov eax, dword [ecx + 0x10]
add eax, dword [edx]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 0xb0], eax
mov dword [esp + 0xd0], ebx
lea eax, [0x2d0a2a0]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xd0]
mov dword [eax + 4], ecx
mov ecx, dword [0x30f6578]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.02b495b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x2cd48e8
mov ecx, dword [esp + 0x144]
test ecx, ecx
jbe 0x2cd4cb3
mov eax, dword [esp + 0x140]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xd0], eax
lea ecx, [0x2d0a8e0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0xe4]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xcc]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0xd8]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0xd0]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x30f6580]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.02b495b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x2cd48e8
lea eax, [0x2d0e800]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xcc], eax
lea ecx, [0x2d0a8e0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0xe4]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xd8]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], 2
mov ebp, dword [esp + 0xcc]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x30f6568]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.02b495b0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x2cd485c
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0xc4]
xor eax, eax
jmp 0x2cd493b
mov byte [esp + 0x14c], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x150], eax
nop
call fcn.02b123e0
add esp, 0x134
ret
mov byte [esp + 0x14c], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x150], eax
nop
call fcn.02b123e0
add esp, 0x134
ret
mov byte [esp + 0x14c], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x150], eax
nop
call fcn.02b123e0
add esp, 0x134
ret
mov byte [esp + 0x14c], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x150], eax
nop
call fcn.02b123e0
add esp, 0x134
ret
mov byte [esp + 0x14c], 0
mov dword [esp + 0x150], 0
nop
call fcn.02b123e0
add esp, 0x134
ret
nop
call fcn.02b123e0
add esp, 0x134
ret
nop
call fcn.02b123e0
add esp, 0x134
ret
mov ebp, dword [esp + 0x3c]
lea eax, [ebp + 1]
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0xc4]
movzx ebp, word [ebx + 2]
cmp eax, ebp
jge 0x2cd4c0b
cmp eax, ecx
jae 0x2cd4cae
mov dword [esp + 0x3c], eax
mov ecx, dword [edx + eax*4]
mov dword [esp], ecx
call fcn.02cd3250
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
jne 0x2cd4be8
test edx, edx
jbe 0x2cd4ca5
mov dword [esp + 0xd0], ecx
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xcc], eax
lea ecx, [0x2d0a8e0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [ebx + edx*4]
mov ebp, dword [ebp + 0xc]
mov esi, dword [esp + 0xe4]
add ebp, dword [esi]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0xd0]
mov dword [eax + 8], ebp
mov ebp, dword [ebx + edx*4]
mov ebp, dword [ebp + 0x10]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0xcc]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x30f6580]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.02b495b0
cmp dword [esp + 0x10], 1
je 0x2cd4bc5
mov edx, dword [esp + 0xc4]
movzx ebx, word [edx + 2]
dec ebx
mov ebp, dword [esp + 0x3c]
cmp ebp, ebx
jne 0x2cd4a3f
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + ebp*4]
mov ebx, dword [esp + 0xd8]
mov esi, dword [ebx + 0x38]
sub esi, dword [ecx + 0xc]
mov ecx, dword [esp + 0x30]
jmp 0x2cd4a62
lea eax, [ebp + 1]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jbe 0x2cd4ca0
mov eax, dword [esp + 0xc0]
mov ebx, dword [eax + ebp*4 + 4]
mov edi, dword [eax + ebp*4]
mov esi, dword [ebx + 0xc]
sub esi, dword [edi + 0xc]
mov dword [esp + 0x44], esi
mov ebx, dword [eax + ebp*4]
mov ebx, dword [ebx + 0x24]
test ebx, 0x20000000
jbe 0x2cd4ac4
test ebx, 0x40000000
jbe 0x2cd4a96
test ebx, 0x80000000
jbe 0x2cd4a8e
mov ebx, 0x40
jmp 0x2cd4b15
test ebx, 0x20000000
jmp 0x2cd4a9c
test ebx, 0x20000000
jbe 0x2cd4ac4
test ebx, 0x40000000
jbe 0x2cd4aad
mov ebx, 0x20
jmp 0x2cd4b15
test ebx, 0x20000000
jbe 0x2cd4ac4
test ebx, 0x80000000
jbe 0x2cd4ac4
mov ebx, pe_nt_image_headers32
jmp 0x2cd4b15
test ebx, 0x40000000
jbe 0x2cd4ae3
test ebx, 0x80000000
jbe 0x2cd4adb
mov ebx, 4
jmp 0x2cd4b15
test ebx, 0x20000000
jmp 0x2cd4ae9
test ebx, 0x20000000
jbe 0x2cd4af2
mov ebx, 0x10
jmp 0x2cd4b15
test ebx, 0x40000000
jbe 0x2cd4b01
mov ebx, 2
jmp 0x2cd4b15
test ebx, 0x80000000
jbe 0x2cd4b10
mov ebx, 8
jmp 0x2cd4b15
mov ebx, 1
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xd0], eax
lea ecx, [0x2d0a8e0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [ebx + edx*4]
mov ebp, dword [ebp + 0xc]
mov esi, dword [esp + 0xe4]
add ebp, dword [esi]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x44]
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0x40]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0xd0]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x30f6568]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.02b495b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x2cd4922
mov byte [esp + 0x14c], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x150], eax
nop
call fcn.02b123e0
add esp, 0x134
ret
mov byte [esp + 0x14c], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x150], eax
nop
call fcn.02b123e0
add esp, 0x134
ret
mov byte [esp + 0x14c], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x150], eax
nop
call fcn.02b123e0
add esp, 0x134
ret
lea eax, [0x2d0a2a0]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], 0
mov edx, dword [0x30f6574]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.02b495b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x2cd4c7d
mov byte [esp + 0x14c], 1
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x150], eax
nop
call fcn.02b123e0
add esp, 0x134
ret
mov byte [esp + 0x14c], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x150], eax
nop
call fcn.02b123e0
add esp, 0x134
ret
call fcn.02b3e900
xor eax, eax
mov ecx, edx
call fcn.02b3e900
call fcn.02b3e900
xor eax, eax
call fcn.02b3e900
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x2d0dec0]
mov dword [esp + 8], eax
call fcn.02ae8b90
nop
call fcn.02b3d440
jmp fcn.02cd40d0