Function at 0x5c4740
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xe4]
cmp eax, dword [ecx + 8]
jbe 0x5c5502
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.0046e970
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x5c47a4
xor ecx, ecx
jmp 0x5c47ac
test edx, edx
jbe 0x5c54f8
mov dword [esp + 0xc0], ecx
lea edi, [esp + 0x120]
xor eax, eax
call fcn.0046133f
call fcn.005c2dd0
lea ecx, [0x5f9700]
mov dword [esp], ecx
call fcn.0040b6c0
mov ecx, dword [esp + 4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x120], 4
mov edx, dword [esp + 0xc0]
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.00470d80
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x54], ecx
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.005c6100
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x5c50d0
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 4]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea edx, [0x5c60c0]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0xa8], ecx
lea ecx, [esp + 0x9c]
mov dword [esp], ecx
call fcn.00434d70
test eax, eax
jne 0x5c50fb
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea edx, [0x5c6080]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x78]
mov dword [esp], ecx
call fcn.00434d70
test eax, eax
jne 0x5c50ef
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x60], edx
lea ebx, [0x5f4d20]
mov dword [esp], ebx
call fcn.0040b6c0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x174]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x178]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e1c20]
test ecx, ecx
jne 0x5c497c
mov ecx, dword [esp + 0x170]
mov dword [edi], ecx
jmp 0x5c4988
mov eax, dword [esp + 0x170]
call fcn.004610d0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xffffffff
lea eax, [0x6681bc]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004d0d80
mov eax, dword [esp + 8]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x38], ecx
call fcn.005c2dd0
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x5c50d0
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x14]
lea esi, [0x5d5560]
cmp ebp, esi
jne 0x5c54e2
mov dword [esp + 0xc8], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xec], ebx
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x58], eax
lea ecx, [0x605680]
mov dword [esp], ecx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov dword [esp + 0x11c], eax
mov dword [eax], 0x100002
mov dword [esp + 0xe4], eax
lea ecx, [0x5e0900]
mov dword [esp], ecx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov edx, dword [esp + 0xe4]
mov dword [eax + 4], edx
mov edx, dword [0x7bab10]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0046c6b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5c50d0
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax + 0xa4]
mov dword [esp + 0x5c], ecx
lea edx, [0x5e4880]
mov dword [esp], edx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov dword [esp + 0x110], eax
lea ecx, [0x5e4900]
mov dword [esp], ecx
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.0044a5d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xdc], ecx
lea ecx, [0x5e0d80]
mov dword [esp], ecx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x5c]
add edx, 8
mov dword [esp + 0x40], edx
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xe0]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 4
mov ebx, dword [esp + 0xdc]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x7bab18]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046c6b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.005c5ea0
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x5c50d0
nop
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jne 0x5c4bf0
lea eax, [0x5e0900]
mov dword [esp], eax
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x5c]
mov dword [eax + 4], edx
mov ebx, dword [0x7bab24]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0046c6b0
cmp dword [esp + 0x10], 1
je 0x5c50ae
lea eax, [0x5e4940]
mov dword [esp], eax
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov dword [esp + 0x114], eax
lea ecx, [0x5e0d80]
mov dword [esp], ecx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x58]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x38]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], 0x3000
mov dword [eax + 0x10], 0x40
mov ebp, dword [0x7bab2c]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046c6b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call fcn.005c5c10
mov eax, dword [esp + 0x44]
test eax, eax
je 0x5c4cc4
mov ecx, dword [esp + 0x114]
mov dword [ecx], eax
jmp 0x5c4d35
lea eax, [0x5e0d80]
mov dword [esp], eax
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 0x38]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0x3000
mov dword [eax + 0x10], 0x40
mov ebx, dword [0x7bab2c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046c6b0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5c508c
mov ecx, dword [esp + 0x114]
mov dword [ecx], eax
lea eax, [0x5e4940]
mov dword [esp], eax
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x114]
cmp dword [edx], ecx
je 0x5c4dd2
mov dword [esp + 0xd8], edx
mov dword [esp + 0xd4], eax
lea ecx, [0x5e0d80]
mov dword [esp], ecx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x40]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [eax + 8], edx
mov dword [eax + 0xc], 4
mov edx, dword [esp + 0xd4]
mov dword [eax + 0x10], edx
mov edx, dword [0x7bab28]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046c6b0
cmp dword [esp + 0x10], 1
je 0x5c506a
call fcn.005c2dd0
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.005c5a30
mov eax, dword [esp + 0xec]
mov word [eax + 0x44], 2
mov ecx, dword [esp + 0x114]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x58]
cmp edx, ebx
je 0x5c4e5a
mov ebx, dword [esp + 0xcc]
movzx ebp, word [ebx + 0x12]
test bp, 1
ja 0x5c4e38
mov dword [eax + 0x1c], edx
jmp 0x5c4e5a
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435360
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 + 0x108], ebx
lea edx, [0x5e0900]
mov dword [esp], edx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov ecx, dword [esp + 0x108]
mov dword [eax + 4], ecx
mov ecx, dword [0x7bab20]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0046c6b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5c50d0
mov edx, dword [esp + 0x174]
test edx, edx
jbe 0x5c54d9
mov eax, dword [esp + 0x170]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x100], eax
lea ecx, [0x5e0d80]
mov dword [esp], ecx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x114]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x104]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x100]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x7bab28]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046c6b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5c50d0
lea eax, [0x5e4940]
mov dword [esp], eax
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
mov dword [esp + 0xfc], eax
lea ecx, [0x5e0d80]
mov dword [esp], ecx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov edx, dword [esp + 0x114]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], 2
mov ebp, dword [esp + 0xfc]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x7bab14]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046c6b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.005c5770
mov eax, dword [esp + 0x34]
test eax, eax
je 0x5c5048
xor eax, eax
jmp 0x5c510e
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435360
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435360
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435360
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435360
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov dword [esp + 0x180], 0
call fcn.00435360
add esp, 0x164
ret
call fcn.00435360
add esp, 0x164
ret
call fcn.00435360
add esp, 0x164
ret
mov ecx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jge 0x5c542c
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0xd0], edx
mov dword [esp], edx
call fcn.004d4610
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
jne 0x5c540a
test edx, edx
jbe 0x5c54d0
mov dword [esp + 0xf8], ecx
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xf4], eax
lea ecx, [0x5e0d80]
mov dword [esp], ecx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
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 + 0xf8]
mov dword [eax + 8], ebx
mov ebx, dword [edx + 0x10]
mov dword [eax + 0xc], ebx
mov ebx, dword [esp + 0xf4]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x7bab28]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046c6b0
cmp dword [esp + 0x10], 1
je 0x5c53e8
mov edx, dword [esp + 0xcc]
movzx ebx, word [edx + 2]
dec ebx
mov eax, dword [esp + 0x48]
cmp eax, ebx
jne 0x5c520e
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x38]
mov esi, dword [esp + 0xd0]
sub ebp, dword [esi + 0xc]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jmp 0x5c5249
lea ebx, [eax + 1]
mov ecx, dword [esp + 0x3c]
cmp ecx, ebx
jbe 0x5c54c9
mov ebx, dword [esp + 0xc8]
mov ebp, dword [ebx + eax*4 + 4]
mov ebp, dword [ebp + 0xc]
cmp eax, ecx
jae 0x5c54c4
mov esi, dword [ebx + eax*4]
sub ebp, dword [esi + 0xc]
cmp eax, ecx
mov ebx, dword [esp + 0xec]
mov esi, dword [esp + 0xd0]
jae 0x5c54bf
mov dword [esp + 0x50], ebp
mov edi, dword [esp + 0xc8]
mov ebx, dword [edi + eax*4]
mov ebx, dword [ebx + 0x24]
test ebx, 0x20000000
jbe 0x5c52b8
test ebx, 0x40000000
jbe 0x5c528a
test ebx, 0x80000000
jbe 0x5c5282
mov ebx, 0x40
jmp 0x5c5304
test ebx, 0x20000000
jmp 0x5c5290
test ebx, 0x20000000
jbe 0x5c52b8
test ebx, 0x40000000
jbe 0x5c52a1
mov ebx, 0x20
jmp 0x5c5304
test ebx, 0x20000000
jbe 0x5c52b8
test ebx, 0x80000000
jbe 0x5c52b8
mov ebx, pe_nt_image_headers32
jmp 0x5c5304
test ebx, 0x40000000
jbe 0x5c52cf
test ebx, 0x80000000
jbe 0x5c52cf
mov ebx, 4
jmp 0x5c5304
mov ebx, dword [esi + 0x24]
test ebx, 0x20000000
jbe 0x5c52e1
mov ebx, 0x10
jmp 0x5c5304
test ebx, 0x40000000
jbe 0x5c52f0
mov ebx, 2
jmp 0x5c5304
test ebx, 0x80000000
jbe 0x5c52ff
mov ebx, 8
jmp 0x5c5304
mov ebx, 1
mov dword [esp + 0x4c], ebx
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.005c5510
mov eax, dword [esp + 0x118]
mov dword [esp + 0xf0], eax
lea ecx, [0x5e0d80]
mov dword [esp], ecx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
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 + 0xf0]
mov dword [eax + 0x10], edx
mov edx, dword [0x7bab14]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.0046c6b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5c5107
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435360
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435360
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435360
add esp, 0x164
ret
lea eax, [0x5e0900]
mov dword [esp], eax
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], 0
mov edx, dword [0x7bab1c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.0046c6b0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5c549d
mov byte [esp + 0x17c], 1
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435360
add esp, 0x164
ret
mov byte [esp + 0x17c], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x180], eax
call fcn.00435360
add esp, 0x164
ret
call fcn.00461150
call fcn.00461150
mov eax, ebx
call fcn.00461150
xor eax, eax
mov ecx, eax
call fcn.00461150
xor eax, eax
mov ecx, eax
call fcn.00461150
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5e4100]
mov dword [esp + 8], eax
call fcn.00408da0
xor eax, eax
mov ecx, eax
call fcn.00461150
nop
call fcn.0045fcc0
jmp fcn.005c4740