Function at 0x4c8670
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x53f040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
mov esi, ecx
mov dword [ebp - 0x1c], eax
push edi
lea eax, [esi + 0x19e7c]
lea edi, [esi + 0x191ec]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], edi
nop
mov dword [ebp - 0x10], edi
mov ecx, esi
mov edi, eax
call fcn.0042f510
test eax, eax
jne 0x4c8703
cmp word [esi + 0x191dc], ax
jne 0x4c8940
push str.xs:schema
lea edx, [esi + 0x17594]
mov ecx, esi
call fcn.004279f0
mov ecx, dword [ebp - 0xc]
add esp, 4
mov dword [ecx], eax
test eax, eax
jne 0x4c8703
mov eax, dword [ebp - 0x14]
xor edx, edx
mov word [eax], dx
cmp word [esi + 0x656a], dx
je 0x4c8701
inc dword [esi + 0x656c]
mov eax, dword [esi + 0x656c]
cmp eax, dword [esi + 0x60]
ja 0x4c8906
mov dword [edi], edx
cmp dword [edi], 0
mov dword [ebp - 0xc], edi
jne 0x4c890c
mov eax, dword [ebp - 0x10]
mov edi, eax
mov dword [ebp - 0x14], edi
cmp word [eax], 0
jne 0x4c8739
cmp word [esi + 0x656a], 0
mov eax, 1
mov word [esi + 0x191ec], ax
je 0x4c8739
dec dword [esi + 0x656c]
test ebx, ebx
jne 0x4c8755
push ebx
sub esp, 8
mov ecx, esi
call fcn.004c8a80
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x4c8978
mov ecx, dword [ebx + 4]
sub ecx, dword [ebx]
sar ecx, 2
cmp ecx, dword [esi + 0x68]
ja 0x4c896e
cmp byte [esi + 0x17994], 0
lea eax, [esi + 0x17994]
mov dword [ebp - 8], 0
mov dword [ebp - 0x18], eax
jne 0x4c879b
cmp byte [esi + 0x17d94], 0x23
lea eax, [esi + 0x17d94]
mov dword [ebp - 0x18], eax
je 0x4c879b
push ecx
lea eax, [ebp - 8]
push eax
jmp 0x4c88b8
mov ecx, dword [ebx + 4]
sub ecx, dword [ebx]
sar ecx, 2
mov dword [ebp - 0x20], ecx
test eax, eax
je 0x4c88b5
cmp byte [eax], 0
je 0x4c88b5
mov edx, eax
mov ecx, esi
call fcn.0042b900
mov edi, eax
test edi, edi
jne 0x4c87e4
mov edx, dword [ebp - 0x18]
mov ecx, esi
push 0xcc
push 0x17
call fcn.0042b960
mov edi, eax
add esp, 8
test edi, edi
je 0x4c890c
push 0x18
call fcn.004fe9dc
add esp, 4
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4c8962
push dword [edi + 4]
push 0x17
call fcn.004626d0
add esp, 8
test eax, eax
je 0x4c883a
cmp dword [edi + 0xc], 0
jne 0x4c883a
cmp dword [edi + 0x18], 0
jne 0x4c883a
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x4c882c
nop dword [eax]
cmp dword [eax + 0xc], 0
je 0x4c883a
mov eax, dword [eax]
test eax, eax
jne 0x4c8820
mov dword [edi + 4], 0x17
mov dword [edi + 8], 0xcc
mov eax, dword [edi + 4]
cmp eax, 0x17
jne 0x4c884b
cmp dword [edi + 8], 0xcc
je case.0x4c8862.488
add eax, 0xfffffef1
cmp eax, 0xd9
ja case.0x4c8862.271
movzx eax, byte [eax + 0x4c8998]
jmp dword [eax*4 + 0x4c898c]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edi + 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], 0x1e9
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0x462820
mov dword [edi + 0x1c], ecx
cmp dword [esi + 0x90], 0
jne 0x4c88a9
cmp word [esi + 0x5fde], 0
jne 0x4c88a9
xor eax, eax
jmp 0x4c88ae
mov eax, 1
mov word [edi + 0x24], ax
mov edi, dword [ebp - 0x14]
push ecx
push 0
mov edx, str.xs:schema
mov ecx, esi
call fcn.004bf600
add esp, 8
test eax, eax
je 0x4c890c
mov ecx, dword [ebx + 4]
cmp ecx, dword [ebx + 8]
je 0x4c88eb
mov eax, dword [ebp - 8]
mov dword [ecx], eax
add dword [ebx + 4], 4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], 1
jmp 0x4c86a0
lea eax, [ebp - 8]
push eax
push ecx
mov ecx, ebx
call fcn.004110f0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1c], 1
jmp 0x4c86a0
mov dword [ecx], 0x32
cmp word [ebp - 0x1c], 0
je 0x4c8978
mov eax, dword [esi + 0x19e7c]
cmp eax, 3
je 0x4c8923
cmp eax, 6
jne 0x4c8978
mov dword [esi + 0x19e7c], 0
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f197d
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
mov dword [ecx], 3
jmp 0x4c890c
push dword [ebp - 0x10]
call fcn.004f6893
mov edx, dword [ebp - 0x18]
add esp, 4
mov ecx, esi
call fcn.0042bd90
jmp 0x4c890c
mov dword [esi + 0x19e7c], 0x14
jmp 0x4c890c
mov dword [esi + 0x19e7c], 0x2c
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f197d
mov esp, ebp
pop ebp
ret