Function at 0x4c3600
Capabilities:
Inspect section memory permissions

Disassembly:
mov ecx, dword [0x5d8d34]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xbc]
cmp eax, dword [ecx + 8]
jbe 0x4c4244
sub esp, 0x13c
mov byte [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov eax, dword [esp + 0x140]
mov dword [esp], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 4], eax
call fcn.0048bf90
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4c365a
xor ecx, ecx
jmp 0x4c366a
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x4c423a
mov ecx, dword [esp + 8]
mov dword [esp + 0x98], ecx
lea edi, [esp + 0xb4]
xor eax, eax
call fcn.0046cd7f
call fcn.004c43f0
lea ecx, [0x4de280]
mov dword [esp], ecx
call fcn.0040b8e0
mov ecx, dword [esp + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xb4], 4
mov edx, dword [esp + 0x98]
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 + 0xb4]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
call fcn.0048d330
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x4c3e2a
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 4]
lea edx, [0x4c4290]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x70]
mov dword [esp], ecx
call fcn.00434190
test eax, eax
jne 0x4c3e55
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax]
lea edx, [0x4c4250]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x58]
mov dword [esp], ecx
call fcn.00434190
test eax, eax
jne 0x4c3e49
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x50], edx
nop
lea ebx, [0x4db8c0]
mov dword [esp], ebx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x14c]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x150]
mov dword [eax + 8], edx
mov edx, dword [0x5d8e30]
test edx, edx
jne 0x4c37ce
mov edx, dword [esp + 0x148]
jmp 0x4c37dc
call fcn.0046cb30
mov edx, dword [esp + 0x148]
mov dword [edi], edx
mov dword [eax], edx
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xffffffff
lea ecx, [0x516684]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004b8c30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xa4], ecx
call fcn.004c43f0
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4c3e2a
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
lea ebp, [0x4cc6c0]
cmp ecx, ebp
jne 0x4c4224
mov dword [esp + 0xa0], edx
mov dword [esp + 0x34], ebx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0xb0], ecx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x38], edx
lea ebx, [0x4e6cc0]
mov dword [esp], ebx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov dword [esp + 0x138], eax
mov dword [eax], 0x100002
mov dword [esp + 0x124], eax
lea ecx, [0x4d1700]
mov dword [esp], ecx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x124]
mov dword [eax + 4], edx
mov edx, dword [0x5b1af4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0048be20
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4c3e2a
mov eax, dword [esp + 0x138]
mov ecx, dword [eax + 0xa4]
mov dword [esp + 0x4c], ecx
lea edx, [0x4d3900]
mov dword [esp], edx
call fcn.0040b8e0
mov eax, dword [esp + 0x4c]
add eax, 8
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x12c], ecx
lea edx, [0x4d3800]
mov dword [esp], edx
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.00467e00
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x11c], ecx
lea ecx, [0x4d1740]
mov dword [esp], ecx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 4
mov ebx, dword [esp + 0x11c]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x5b1afc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0048be20
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4c3e2a
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
nop
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jne 0x4c3a16
lea eax, [0x4d1700]
mov dword [esp], eax
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov edx, dword [esp + 0x4c]
mov dword [eax + 4], edx
mov ebx, dword [0x5b1b00]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0048be20
cmp dword [esp + 0x10], 1
je 0x4c3e08
lea eax, [0x4d3a40]
mov dword [esp], eax
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov dword [esp + 0x130], eax
lea ecx, [0x4d1740]
mov dword [esp], ecx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xb0]
mov ebp, dword [ebx + 0x38]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], 0x3000
mov dword [eax + 0x10], 0x40
mov ebp, dword [0x5b1af0]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0048be20
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4c3a9e
mov ecx, dword [esp + 0x130]
mov dword [ecx], eax
jmp 0x4c3b0f
lea eax, [0x4d1740]
mov dword [esp], eax
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov edx, dword [esp + 0xb0]
mov ebx, dword [edx + 0x38]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0x3000
mov dword [eax + 0x10], 0x40
mov ebx, dword [0x5b1af0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0048be20
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4c3de6
mov ecx, dword [esp + 0x130]
mov dword [ecx], eax
lea eax, [0x4d3a40]
mov dword [esp], eax
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x130]
cmp dword [edx], ecx
je 0x4c3bac
mov dword [esp + 0x118], edx
mov dword [esp + 0x114], eax
lea ecx, [0x4d1740]
mov dword [esp], ecx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x118]
mov dword [eax + 8], edx
mov dword [eax + 0xc], 4
mov edx, dword [esp + 0x114]
mov dword [eax + 0x10], edx
mov edx, dword [0x5b1b04]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0048be20
cmp dword [esp + 0x10], 1
je 0x4c3dc4
call fcn.004c43f0
mov eax, dword [esp + 0xb0]
mov word [eax + 0x44], 2
mov ecx, dword [esp + 0x130]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x38]
cmp edx, ebx
je 0x4c3c08
mov ebx, dword [esp + 0xa4]
movzx ebp, word [ebx + 0x12]
test bp, 1
ja 0x4c3be6
mov dword [eax + 0x1c], edx
jmp 0x4c3c08
mov byte [esp + 0x154], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
call fcn.004344b0
add esp, 0x13c
ret
mov edx, dword [eax + 0x10]
add edx, dword [ecx]
mov ebx, dword [esp + 0x138]
mov dword [ebx + 0xb0], edx
mov dword [esp + 0x110], ebx
lea edx, [0x4d1700]
mov dword [esp], edx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov ecx, dword [esp + 0x110]
mov dword [eax + 4], ecx
mov ecx, dword [0x5b1af8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0048be20
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4c3e2a
mov edx, dword [esp + 0x14c]
test edx, edx
jbe 0x4c421b
mov eax, dword [esp + 0x148]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x108], eax
lea ecx, [0x4d1740]
mov dword [esp], ecx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov edx, dword [esp + 0x130]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x10c]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0xb0]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x108]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x5b1b04]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0048be20
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4c3e2a
lea eax, [0x4d3a40]
mov dword [esp], eax
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov dword [esp + 0x134], eax
mov dword [esp + 0x104], eax
lea ecx, [0x4d1740]
mov dword [esp], ecx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov edx, dword [esp + 0x130]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xb0]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], 2
mov ebp, dword [esp + 0x104]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x5b1b08]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0048be20
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4c3da2
xor eax, eax
jmp 0x4c3e68
mov byte [esp + 0x154], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
call fcn.004344b0
add esp, 0x13c
ret
mov byte [esp + 0x154], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
call fcn.004344b0
add esp, 0x13c
ret
mov byte [esp + 0x154], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
call fcn.004344b0
add esp, 0x13c
ret
mov byte [esp + 0x154], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
call fcn.004344b0
add esp, 0x13c
ret
mov byte [esp + 0x154], 0
mov dword [esp + 0x158], 0
call fcn.004344b0
add esp, 0x13c
ret
call fcn.004344b0
add esp, 0x13c
ret
call fcn.004344b0
add esp, 0x13c
ret
mov ecx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jge 0x4c4175
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0xa8], edx
mov ebx, dword [edx + 0x3c]
mov ebp, dword [edx + 0x10]
nop
lea esi, [0x516694]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.004b8840
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4c4153
mov edx, dword [esp + 0x1c]
test edx, edx
jbe 0x4c4212
mov eax, dword [esp + 0x18]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0xfc], eax
lea ecx, [0x4d1740]
mov dword [esp], ecx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov edx, dword [esp + 0xa8]
mov ebx, dword [edx + 0xc]
mov ebp, dword [esp + 0x130]
add ebx, dword [ebp]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x100]
mov dword [eax + 8], ebx
mov ebx, dword [edx + 0x10]
mov dword [eax + 0xc], ebx
mov ebx, dword [esp + 0xfc]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x5b1b04]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0048be20
cmp dword [esp + 0x10], 1
je 0x4c4131
mov edx, dword [esp + 0xa4]
movzx ebx, word [edx + 2]
dec ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jne 0x4c3f9c
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax + 0x38]
mov ebx, dword [esp + 0xa8]
sub ecx, dword [ebx + 0xc]
mov eax, dword [esp + 0xa0]
mov ebx, ecx
mov ecx, dword [esp + 0x34]
jmp 0x4c3fbf
lea eax, [ebp + 1]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
jbe 0x4c420d
mov eax, dword [esp + 0xa0]
mov ebx, dword [eax + ebp*4 + 4]
mov ebx, dword [ebx + 0xc]
mov esi, dword [eax + ebp*4]
sub ebx, dword [esi + 0xc]
mov dword [esp + 0x48], ebx
mov esi, dword [eax + ebp*4]
mov esi, dword [esi + 0x24]
test esi, 0x20000000
jbe 0x4c402f
test esi, 0x40000000
jbe 0x4c3ff3
test esi, 0x80000000
jbe 0x4c3feb
mov edi, 0x40
jmp 0x4c4089
test esi, 0x20000000
jmp 0x4c3ff9
test esi, 0x20000000
jbe 0x4c402f
test esi, 0x40000000
jbe 0x4c4011
mov esi, dword [esp + 0xa8]
mov edi, 0x20
jmp 0x4c4089
test esi, 0x20000000
jbe 0x4c402f
test esi, 0x80000000
jbe 0x4c402f
mov esi, dword [esp + 0xa8]
mov edi, pe_nt_image_headers32
jmp 0x4c4089
test esi, 0x40000000
jbe 0x4c404d
test esi, 0x80000000
jbe 0x4c404d
mov esi, dword [esp + 0xa8]
mov edi, 4
jmp 0x4c4089
mov esi, dword [esp + 0xa8]
mov edi, dword [esi + 0x24]
test edi, 0x20000000
jbe 0x4c4066
mov edi, 0x10
jmp 0x4c4089
test edi, 0x40000000
jbe 0x4c4075
mov edi, 2
jmp 0x4c4089
test edi, 0x80000000
jbe 0x4c4084
mov edi, 8
jmp 0x4c4089
mov edi, 1
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x134]
mov dword [esp + 0xf8], eax
lea ecx, [0x4d1740]
mov dword [esp], ecx
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov edx, dword [esp + 0xa8]
mov edx, dword [edx + 0xc]
mov ebx, dword [esp + 0x130]
add edx, dword [ebx]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x48]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x44]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xf8]
mov dword [eax + 0x10], edx
mov edx, dword [0x5b1b08]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0048be20
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4c3e61
mov byte [esp + 0x154], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
call fcn.004344b0
add esp, 0x13c
ret
mov byte [esp + 0x154], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
call fcn.004344b0
add esp, 0x13c
ret
mov byte [esp + 0x154], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
call fcn.004344b0
add esp, 0x13c
ret
call fcn.004c43f0
lea eax, [0x4d1700]
mov dword [esp], eax
call fcn.0040b8e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x9c]
mov edx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], 0
mov edx, dword [0x5b1aec]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0048be20
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4c41eb
mov byte [esp + 0x154], 1
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
call fcn.004344b0
add esp, 0x13c
ret
mov byte [esp + 0x154], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
call fcn.004344b0
add esp, 0x13c
ret
call fcn.0046cbb0
xor eax, eax
mov ecx, eax
call fcn.0046cbb0
xor eax, eax
mov ecx, eax
call fcn.0046cbb0
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x4d41c0]
mov dword [esp + 8], eax
call fcn.00409920
xor eax, eax
mov ecx, eax
call fcn.0046cbb0
nop
call fcn.0046b730
jmp fcn.004c3600