Function at 0x4c7530
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x625ed0
push eax
mov dword fs:[0], esp
mov ecx, dword [ecx + 0x58]
sub esp, 0xc
push ebx
push ebp
push esi
push edi
push str.OCProperties
call fcn.0048ca20
xor edi, edi
cmp eax, edi
je 0x4c7846
push 0x68f4c0
mov ecx, eax
call fcn.0048ca20
mov esi, eax
cmp esi, edi
je 0x4c7846
push 0x69bde4
mov ecx, esi
call fcn.0048ca50
mov ebp, eax
cmp ebp, edi
jne 0x4c764f
lea eax, [esp + 0x30]
push str.BaseState
push eax
mov ecx, esi
call fcn.0048c7f0
lea ecx, [esp + 0x30]
push 0x6a1dbc
push ecx
mov dword [esp + 0x2c], edi
call fcn.00489d10
add esp, 8
and eax, 0xff
mov ebp, eax
mov eax, 0x6a1dbc
jne 0x4c75c9
mov eax, 0x6a1db8
push eax
mov ecx, esi
call fcn.0048ca50
mov esi, eax
cmp esi, edi
jne 0x4c75ff
lea ecx, [esp + 0x30]
mov dword [esp + 0x24], 0xffffffff
call fcn.00489810
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 8
cmp dword [esi + 0x10], edi
jbe 0x4c75d7
mov ebx, dword [esp + 0x2c]
push edi
mov ecx, esi
call fcn.0048c350
cmp ebx, eax
je 0x4c761e
mov eax, dword [esi + 0x10]
inc edi
cmp edi, eax
jb 0x4c7608
jmp 0x4c75d7
xor edx, edx
lea ecx, [esp + 0x30]
test ebp, ebp
sete dl
mov esi, edx
mov dword [esp + 0x24], 0xffffffff
call fcn.00489810
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 8
mov eax, dword [esp + 0x30]
cmp eax, edi
mov eax, str.Print
jne 0x4c7661
mov eax, str.View
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x1c]
call fcn.00489840
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x24], 1
cmp eax, edi
jbe 0x4c7835
push edi
mov ecx, ebp
call fcn.0048c350
mov esi, eax
test esi, esi
je 0x4c76c6
lea eax, [esp + 0x30]
push str.Event
push eax
mov ecx, esi
call fcn.0048c7f0
lea ecx, [esp + 0x14]
mov byte [esp + 0x24], 2
push ecx
push eax
call fcn.00489d30
add esp, 8
lea ecx, [esp + 0x30]
mov bl, al
mov byte [esp + 0x24], 1
call fcn.00489810
test bl, bl
jne 0x4c76d3
mov eax, dword [ebp + 0x10]
inc edi
cmp edi, eax
jb 0x4c7680
jmp 0x4c7835
test esi, esi
je 0x4c7835
push str.Category
mov ecx, esi
call fcn.0048ca50
lea edx, [esp + 0x10]
push 0
push edx
mov ecx, eax
call fcn.0048c2a0
mov ecx, dword [esp + 0x2c]
mov bl, 3
push str.Usage
mov byte [esp + 0x28], bl
call fcn.0048ca20
test eax, eax
je 0x4c7827
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, eax
call fcn.0048ca20
lea edx, [esp + 0x10]
push str.Print
push edx
mov esi, eax
call fcn.00489cd0
add esp, 8
test al, al
je 0x4c77a3
lea eax, [esp + 0x2c]
push str.PrintState
push eax
mov ecx, esi
call fcn.0048c7f0
push 0x6a1db8
push eax
mov byte [esp + 0x2c], 4
call fcn.00489cd0
and eax, 0xff
add esp, 8
lea ecx, [esp + 0x2c]
mov esi, eax
mov byte [esp + 0x24], bl
call fcn.00489810
lea ecx, [esp + 0x10]
mov byte [esp + 0x24], 1
call fcn.00489810
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
call fcn.00489810
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 8
lea ecx, [esp + 0x10]
push str.View
push ecx
call fcn.00489cd0
add esp, 8
test al, al
je 0x4c7827
lea edx, [esp + 0x18]
push str.ViewState
push edx
mov ecx, esi
call fcn.0048c7f0
push 0x6a1db8
push eax
mov byte [esp + 0x2c], 5
call fcn.00489cd0
and eax, 0xff
add esp, 8
lea ecx, [esp + 0x18]
mov esi, eax
mov byte [esp + 0x24], bl
call fcn.00489810
lea ecx, [esp + 0x10]
mov byte [esp + 0x24], 1
call fcn.00489810
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
call fcn.00489810
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 8
lea ecx, [esp + 0x10]
mov byte [esp + 0x24], 1
call fcn.00489810
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
call fcn.00489810
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret 8