Function at 0x5cef80
Capabilities:
Inspect section memory permissions

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xe4]
cmp eax, dword [ecx + 8]
jbe 0x5cfd1b
sub esp, 0x164
mov byte [esp + 0x17c], 0
mov dword [esp + 0x180], 0
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
call fcn.00478b20
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5cefda
xor ecx, ecx
jmp 0x5cefea
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x5cfd11
mov ecx, dword [esp + 8]
mov dword [esp + 0xbc], ecx
lea edi, [esp + 0x120]
xor eax, eax
call fcn.0046753f
call fcn.005cffb0
call fcn.005cffb0
call fcn.0043a100
mov dword [esp + 4], 0
mov dword [esp], 0x108
call fcn.0043a7a0
call fcn.0043a160
lea ecx, [0x604c60]
mov dword [esp], ecx
call fcn.0040c490
mov ecx, dword [esp + 4]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x120], 4
mov edx, dword [esp + 0xbc]
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 + 0x120]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
call fcn.0047b580
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
call fcn.005cffb0
call fcn.0043a100
mov dword [esp + 4], 0
mov dword [esp], 0x100
call fcn.0043a7a0
call fcn.0043a160
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x5cf85d
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 4]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea edx, [0x5cfd70]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0xa4], ecx
lea ecx, [esp + 0x98]
mov dword [esp], ecx
call fcn.00436ca0
test eax, eax
jne 0x5cf888
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
lea edx, [0x5cfd30]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x64]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x74]
mov dword [esp], ecx
call fcn.00436ca0
test eax, eax
jne 0x5cf87c
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax]
mov dword [esp + 0x60], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x5c], edx
nop
lea ebx, [0x600180]
mov dword [esp], ebx
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x174]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x178]
mov dword [eax + 8], edx
mov edx, dword [0x7f7690]
test edx, edx
jne 0x5cf1b3
mov edx, dword [esp + 0x170]
jmp 0x5cf1c1
call fcn.004672a0
mov edx, dword [esp + 0x170]
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, [0x669c84]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004d0a10
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xc8], ecx
call fcn.005cffb0
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x5cf85d
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
lea ebp, [0x5e0020]
cmp ecx, ebp
jne 0x5cfcfb
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xc4], edx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0xd8], ecx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x48], edx
lea ebx, [0x613dc0]
mov dword [esp], ebx
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [esp + 0x11c], eax
mov dword [eax], 0x100002
mov dword [esp + 0x108], eax
lea ecx, [0x5eb240]
mov dword [esp], ecx
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov edx, dword [esp + 0x108]
mov dword [eax + 4], edx
mov edx, dword [0x7c39b4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.00476920
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5cf85d
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax + 0xa4]
mov dword [esp + 0x58], ecx
lea edx, [0x5eed60]
mov dword [esp], edx
call fcn.0040c490
mov eax, dword [esp + 0x58]
add eax, 8
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x110], ecx
lea edx, [0x5eeda0]
mov dword [esp], edx
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.0044d6b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd4], eax
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x100], ecx
lea ecx, [0x5eb2c0]
mov dword [esp], ecx
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0x40]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0x104]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 4
mov ebx, dword [esp + 0x100]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x7c39bc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00476920
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5cf85d
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
nop
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jne 0x5cf3fb
lea eax, [0x5eb240]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0x58]
mov dword [eax + 4], edx
mov ebx, dword [0x7c39c0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.00476920
cmp dword [esp + 0x10], 1
je 0x5cf83b
lea eax, [0x5eed20]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [esp + 0x114], eax
lea ecx, [0x5eb2c0]
mov dword [esp], ecx
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0x48]
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 [0x7c39b0]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00476920
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5cf483
mov ecx, dword [esp + 0x114]
mov dword [ecx], eax
jmp 0x5cf4f4
lea eax, [0x5eb2c0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
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 [0x7c39b0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00476920
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5cf819
mov ecx, dword [esp + 0x114]
mov dword [ecx], eax
lea eax, [0x5eed20]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x114]
cmp dword [edx], ecx
je 0x5cf591
mov dword [esp + 0xfc], edx
mov dword [esp + 0xf8], eax
lea ecx, [0x5eb2c0]
mov dword [esp], ecx
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0x40]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xfc]
mov dword [eax + 8], edx
mov dword [eax + 0xc], 4
mov edx, dword [esp + 0xf8]
mov dword [eax + 0x10], edx
mov edx, dword [0x7c39c4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00476920
cmp dword [esp + 0x10], 1
je 0x5cf7f7
call fcn.005cffb0
call fcn.005cffb0
call fcn.0043a100
mov dword [esp + 4], 0
mov dword [esp], 0xda
call fcn.0043a7a0
call fcn.0043a160
mov eax, dword [esp + 0xd8]
mov word [eax + 0x44], 2
mov ecx, dword [esp + 0x114]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x48]
cmp edx, ebx
je 0x5cf610
mov ebx, dword [esp + 0xc8]
movzx ebp, word [ebx + 0x12]
test bp, 1
ja 0x5cf5ee
mov dword [eax + 0x1c], edx
jmp 0x5cf610
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x180], eax
call fcn.00437230
add esp, 0x164
ret
mov edx, dword [eax + 0x10]
add edx, dword [ecx]
mov ebx, dword [esp + 0x11c]
mov dword [ebx + 0xb0], edx
mov dword [esp + 0xf4], ebx
lea edx, [0x5eb240]
mov dword [esp], edx
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xf4]
mov dword [eax + 4], ecx
mov ecx, dword [0x7c39b8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.00476920
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5cf85d
mov edx, dword [esp + 0x174]
test edx, edx
jbe 0x5cfcf2
mov eax, dword [esp + 0x170]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xec], eax
lea ecx, [0x5eb2c0]
mov dword [esp], ecx
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0x114]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xf0]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0xd8]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0xec]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x7c39c4]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00476920
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5cf85d
lea eax, [0x5eed20]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
mov dword [esp + 0xe8], eax
lea ecx, [0x5eb2c0]
mov dword [esp], ecx
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0x114]
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 + 0xe8]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x7c39c8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00476920
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
call fcn.005cffb0
call fcn.0043a100
mov dword [esp + 4], 0
mov dword [esp], 0x7c
call fcn.0043a7a0
call fcn.0043a160
mov eax, dword [esp + 0x34]
test eax, eax
je 0x5cf7d5
xor eax, eax
jmp 0x5cf89b
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x180], eax
call fcn.00437230
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x180], eax
call fcn.00437230
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x180], eax
call fcn.00437230
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x180], eax
call fcn.00437230
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov dword [esp + 0x180], 0
call fcn.00437230
add esp, 0x164
ret
call fcn.00437230
add esp, 0x164
ret
call fcn.00437230
add esp, 0x164
ret
mov ecx, dword [esp + 0x44]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jge 0x5cfc27
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0xd0], edx
mov ebx, dword [edx + 0x3c]
mov ebp, dword [edx + 0x10]
nop
lea esi, [0x669c98]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call fcn.004d0450
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x5cfc05
mov dword [esp + 0xcc], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
call fcn.005cffb0
call fcn.0043a100
mov dword [esp + 4], 0
mov dword [esp], 0xac
call fcn.0043a7a0
call fcn.0043a160
mov eax, dword [esp + 0x54]
test eax, eax
jbe 0x5cfce9
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xe0], eax
lea ecx, [0x5eb2c0]
mov dword [esp], ecx
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0xd0]
mov ebx, dword [edx + 0xc]
mov ebp, dword [esp + 0x114]
add ebx, dword [ebp]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xe4]
mov dword [eax + 8], ebx
mov ebx, dword [edx + 0x10]
mov dword [eax + 0xc], ebx
mov ebx, dword [esp + 0xe0]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x7c39c4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00476920
cmp dword [esp + 0x10], 1
je 0x5cfbe3
call fcn.005cffb0
call fcn.0043a100
mov dword [esp + 4], 0
mov dword [esp], 0x110
call fcn.0043a7a0
call fcn.0043a160
mov eax, dword [esp + 0xc8]
movzx ecx, word [eax + 2]
dec ecx
mov edx, dword [esp + 0x44]
cmp edx, ecx
jne 0x5cfa29
mov ecx, dword [esp + 0xd8]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [esp + 0xd0]
sub ebx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0xc4]
jmp 0x5cfa4d
lea ebx, [edx + 1]
mov ecx, dword [esp + 0x3c]
cmp ecx, ebx
jbe 0x5cfce2
mov ebp, dword [esp + 0xc4]
mov esi, dword [ebp + edx*4 + 4]
mov ebx, dword [esi + 0xc]
mov esi, dword [ebp + edx*4]
sub ebx, dword [esi + 0xc]
mov dword [esp + 0x50], ebx
mov esi, dword [ebp + edx*4]
mov esi, dword [esi + 0x24]
test esi, 0x20000000
jbe 0x5cfabe
test esi, 0x40000000
jbe 0x5cfa82
test esi, 0x80000000
jbe 0x5cfa7a
mov edi, 0x40
jmp 0x5cfb18
test esi, 0x20000000
jmp 0x5cfa88
test esi, 0x20000000
jbe 0x5cfabe
test esi, 0x40000000
jbe 0x5cfaa0
mov esi, dword [esp + 0xd0]
mov edi, 0x20
jmp 0x5cfb18
test esi, 0x20000000
jbe 0x5cfabe
test esi, 0x80000000
jbe 0x5cfabe
mov esi, dword [esp + 0xd0]
mov edi, pe_nt_image_headers32
jmp 0x5cfb18
test esi, 0x40000000
jbe 0x5cfadc
test esi, 0x80000000
jbe 0x5cfadc
mov esi, dword [esp + 0xd0]
mov edi, 4
jmp 0x5cfb18
mov esi, dword [esp + 0xd0]
mov edi, dword [esi + 0x24]
test edi, 0x20000000
jbe 0x5cfaf5
mov edi, 0x10
jmp 0x5cfb18
test edi, 0x40000000
jbe 0x5cfb04
mov edi, 2
jmp 0x5cfb18
test edi, 0x80000000
jbe 0x5cfb13
mov edi, 8
jmp 0x5cfb18
mov edi, 1
mov dword [esp + 0x4c], edi
call fcn.005cffb0
call fcn.0043a100
mov dword [esp + 4], 0
mov dword [esp], 0x70
call fcn.0043a7a0
call fcn.0043a160
mov eax, dword [esp + 0x118]
mov dword [esp + 0xdc], eax
lea ecx, [0x5eb2c0]
mov dword [esp], ecx
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0xd0]
mov edx, dword [edx + 0xc]
mov ebx, dword [esp + 0x114]
add edx, dword [ebx]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x50]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xdc]
mov dword [eax + 0x10], edx
mov edx, dword [0x7c39c8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00476920
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5cf894
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x180], eax
call fcn.00437230
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x180], eax
call fcn.00437230
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x180], eax
call fcn.00437230
add esp, 0x164
ret
call fcn.005cffb0
call fcn.005cffb0
call fcn.0043a100
mov dword [esp + 4], 0
mov dword [esp], 0xba
call fcn.0043a7a0
call fcn.0043a160
lea eax, [0x5eb240]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc0]
mov edx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], 0
mov edx, dword [0x7c39ac]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.00476920
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5cfcc0
mov byte [esp + 0x17c], 1
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x180], eax
call fcn.00437230
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x180], eax
call fcn.00437230
add esp, 0x164
ret
mov eax, ebx
call fcn.00467310
xor eax, eax
mov ecx, eax
call fcn.00467310
xor eax, eax
mov ecx, eax
call fcn.00467310
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x5efca0]
mov dword [esp + 8], eax
call fcn.00409960
xor eax, eax
mov ecx, eax
call fcn.00467310
nop
call fcn.00465ea0
jmp fcn.005cef80