Function at 0x9c61d4
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x9c6647
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, ebx
mov dl, 1
mov eax, dword [0x8b2e80]
call fcn.008c108c
mov dword [ebp - 0xc], eax
xor edx, edx
push ebp
push 0x9c6617
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.006150b4
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x84]
movzx eax, byte [ebx + 0x2f4]
sub al, 4
je 0x9c623f
dec al
je 0x9c626c
jmp 0x9c6280
mov edx, dword [ebx + 0x2a8]
mov eax, dword [ebp - 0xc]
call fcn.008c4a78
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x4bc], ebx
mov dword [eax + 0x4b8], 0x9c535c
mov dl, 1
mov eax, dword [ebp - 0xc]
call fcn.008e90b4
jmp 0x9c6280
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.008c4b80
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.008e90b4
mov edx, 0x1f4
mov eax, dword [ebp - 0xc]
call fcn.006147c8
mov edx, 0x14
mov eax, dword [ebp - 0xc]
call fcn.008c4c34
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.008c4dbc
movzx eax, byte [ebx + 0x2f4]
sub al, 4
je 0x9c62bc
dec al
je 0x9c64f8
jmp 0x9c653b
mov eax, ebx
call fcn.009c60d8
push eax
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x9c6180]
call fcn.0040ca5c
add esp, 4
mov eax, ebx
call fcn.009c60d8
mov edi, eax
dec edi
test edi, edi
jl 0x9c63df
inc edi
xor esi, esi
mov edx, esi
mov eax, ebx
call fcn.009c60b0
mov edx, dword [eax + 8]
mov eax, dword [ebx + 0x2c4]
call fcn.008d5fbc
mov dword [ebp - 0x10], eax
mov edx, esi
mov eax, ebx
call fcn.009c60b0
mov eax, dword [eax + 8]
cmp dword [eax + 0x18], 0
je 0x9c6394
mov edx, esi
mov eax, ebx
call fcn.009c60b0
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x18]
mov edx, dword [ebx + 0x2c4]
cmp eax, dword [edx + 0x298]
je 0x9c6394
mov edx, esi
mov eax, ebx
call fcn.009c60b0
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x18]
mov eax, dword [ebx + 0x2c4]
call fcn.008d5fbc
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 8]
call fcn.0040b498
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
push eax
push 0
push 1
push 0xffffffffffffffff
push 1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
mov edx, dword [edx + eax*4]
mov cl, 4
mov eax, dword [ebp - 0xc]
call fcn.008e0e88
mov edx, dword [ebp - 4]
mov dword [edx + esi*4], eax
jmp 0x9c63c7
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 8]
call fcn.0040b498
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
push eax
push 0
push 1
push 0xffffffffffffffff
push 1
mov cl, 2
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.008e0e88
mov edx, dword [ebp - 4]
mov dword [edx + esi*4], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + esi*4]
mov cl, 1
mov eax, dword [ebp - 0xc]
call fcn.008c47d8
inc esi
dec edi
jne 0x9c62ef
movzx eax, byte [ebx + 0x2f5]
sub al, 1
jb 0x9c63f1
je 0x9c6468
jmp 0x9c653b
mov eax, ebx
call fcn.009c6140
mov edi, eax
dec edi
test edi, edi
jl 0x9c653b
inc edi
xor esi, esi
mov edx, esi
mov eax, ebx
call fcn.009c6118
cmp dword [eax + 0x18], 0
je 0x9c645f
mov edx, esi
mov eax, ebx
call fcn.009c6118
mov eax, dword [eax + 0x18]
mov edx, dword [eax + 8]
mov eax, dword [ebx + 0x2c4]
call fcn.008d5fbc
mov dword [ebp - 0x10], eax
mov edx, esi
mov eax, ebx
call fcn.009c6118
mov eax, dword [eax + 8]
push eax
push 4
push 0
push 1
push 0xffffffffffffffff
push 1
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
mov edx, dword [edx + eax*4]
mov cl, 4
mov eax, dword [ebp - 0xc]
call fcn.008e0e88
inc esi
dec edi
jne 0x9c6406
jmp 0x9c653b
mov eax, ebx
call fcn.009c60d8
mov edi, eax
dec edi
test edi, edi
jl 0x9c653b
inc edi
xor esi, esi
mov edx, esi
mov eax, ebx
call fcn.009c60b0
call fcn.009bceec
dec eax
test eax, eax
jl 0x9c64f2
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0
mov edx, esi
mov eax, ebx
call fcn.009c60b0
mov edx, dword [eax + 8]
mov eax, dword [ebx + 0x2c4]
call fcn.008d5fbc
mov dword [ebp - 0x10], eax
mov edx, esi
mov eax, ebx
call fcn.009c60b0
mov edx, dword [ebp - 0x18]
call fcn.009bcecc
mov eax, dword [eax + 8]
push eax
push 4
push 0
push 1
push 0xffffffffffffffff
push 1
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
mov edx, dword [edx + eax*4]
mov cl, 4
mov eax, dword [ebp - 0xc]
call fcn.008e0e88
inc dword [ebp - 0x18]
dec dword [ebp - 0x1c]
jne 0x9c649b
inc esi
dec edi
jne 0x9c647d
jmp 0x9c653b
mov eax, dword [ebx + 0x300]
call fcn.0040c840
mov edi, eax
dec edi
test edi, edi
jl 0x9c653b
inc edi
xor esi, esi
mov eax, dword [ebx + 0x300]
mov edx, dword [eax + esi*4]
mov eax, ebx
call fcn.009c6118
mov eax, dword [eax + 8]
push eax
push 0
push 0
push 1
push 0xffffffffffffffff
push 1
mov cl, 2
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.008e0e88
inc esi
dec edi
jne 0x9c650d
mov eax, dword [ebp - 0xc]
call fcn.008e1ddc
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x54], 0x1e
jge 0x9c6559
mov edx, 0x1e
mov eax, dword [ebp - 0xc]
call fcn.006147fc
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.008d6cc8
mov dl, 1
mov eax, dword [0x50ac9c]
call fcn.00514380
mov dword [ebp - 8], eax
lea eax, [ebp - 0x2c]
call fcn.0088b694
mov edx, eax
inc edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x44]
lea eax, [ebp - 0x2c]
call fcn.0088a878
mov edx, eax
inc edx
add edx, 2
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x3c]
mov edx, 1
mov eax, 1
call fcn.004a8d68
lea eax, [ebp - 0x3c]
push eax
movzx eax, byte [0x9c6658]
push eax
mov eax, dword [ebp - 8]
call fcn.00514ca0
mov edx, eax
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.008d7e80
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.004a8d80
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 8]
call fcn.00514ca0
pop edx
call fcn.008e8ef8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x9c661e
mov eax, dword [ebp - 0xc]
call fcn.00408618
ret