Function at 0x4fca60
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x20
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, 0xffffff96
test edx, edx
je 0x4fd382
mov edi, dword [eax + 4]
movzx ecx, byte [edi]
mov eax, edi
mov esi, edx
cmp cl, 0x3a
jne 0x4fcaa7
mov eax, 0xffffff97
cmp edx, 1
je 0x4fd388
lea eax, [edi + 1]
lea esi, [edx - 1]
mov dword [esp + 8], edi
xor ebx, ebx
nop dword [eax]
movzx edi, byte [eax + ebx]
cmp dword [edi*4 + 0xecdb60], 0
je 0x4fcb1b
inc ebx
cmp esi, ebx
jne 0x4fcab0
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
cmp edx, 9
mov dword [esp + 0xc], edx
ja 0x4fcb62
jmp dword [edx*4 + 0xecd3d0]
mov eax, 0xffffff97
cmp cl, 0x3a
je 0x4fd388
test edx, edx
je 0x4fcb55
xor ecx, ecx
mov esi, dword [esp + 8]
nop word cs:[eax + eax]
movzx ebx, byte [esi + ecx]
add bl, 0xbf
cmp bl, 0x1a
jb 0x4fd388
inc ecx
cmp edx, ecx
jne 0x4fcb40
mov edi, dword [ebp + 8]
mov esi, 0xffffff96
jmp 0x4fd382
cmp edx, 0x3e8
jne 0x4fcbab
mov edx, dword [eax + 4]
mov eax, dword [edx + 4]
mov esi, dword [edx + 8]
cmp dword [ebp + 0x10], 0
mov dword [esp + 4], edx
je 0x4fccbd
test esi, esi
je 0x4fcc56
xor edx, edx
nop dword [eax + eax]
movzx edi, byte [eax + edx]
cmp byte [edi + 0xecd958], 0
je 0x4fcfc6
inc edx
cmp esi, edx
jne 0x4fcb90
jmp 0x4fcc4c
mov edx, dword [eax + 4]
mov eax, dword [edx + 8]
test eax, eax
mov dword [esp + 4], edx
je 0x4fcc4c
mov esi, dword [edx + 4]
cmp eax, 1
jne 0x4fce7d
movzx eax, byte [esi]
cmp eax, 0x20
je 0x4fcfc6
cmp eax, 9
je 0x4fcfc6
jmp 0x4fcc4c
cmp dword [ebp + 0x10], 0
je 0x4fccdf
cmp cl, 0x3a
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0xc]
jne 0x4fcc7b
mov esi, 0xffffff97
cmp dword [ebp + 0x14], 0
jne 0x4fd36e
test byte [edi + 0x1c], 0x40
jne 0x4fd36e
mov esi, 0xffffff97
lea eax, [edx - 0x3e8]
cmp eax, 8
ja 0x4fce46
mov ebx, dword [ebp + 0xc]
jmp dword [eax*4 + 0xecd420]
test esi, esi
je 0x4fccdf
cmp esi, 1
jne 0x4fcec7
movzx eax, byte [eax]
cmp eax, 9
je 0x4fcfc6
cmp eax, 0x20
je 0x4fcfc6
cmp cl, 0x3a
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov edx, dword [esp + 0xc]
jne 0x4fcd05
mov esi, 0xffffff97
test eax, eax
jne 0x4fd36e
test byte [edi + 0x1c], 0x40
jne 0x4fd36e
mov esi, 0xffffff97
cmp edx, 0x3e8
jle 0x4fcf11
lea eax, [edx - 0x3e9]
cmp eax, 5
jb 0x4fd36e
cmp edx, 0x3ee
jne 0x4fd162
mov eax, dword [esp + 4]
cmp dword [eax + 8], 8
jne 0x4fd36e
mov eax, dword [eax + 4]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x74
jne 0x4fd36e
movzx ecx, byte [eax + 1]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x72
jne 0x4fd36e
movzx ecx, byte [eax + 2]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x61
jne 0x4fd36e
movzx ecx, byte [eax + 3]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x69
jne 0x4fd36e
movzx ecx, byte [eax + 4]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x6c
jne 0x4fd36e
movzx ecx, byte [eax + 5]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x65
jne 0x4fd36e
movzx ecx, byte [eax + 6]
mov edx, ecx
add dl, 0xbf
mov dh, cl
or dh, 0x20
cmp dl, 0x1a
movzx edx, dh
cmovae edx, ecx
cmp dl, 0x72
jne 0x4fd36e
movzx eax, byte [eax + 7]
mov ecx, eax
add cl, 0xbf
mov edx, eax
or dl, 0x20
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x73
je 0x4fd36c
jmp 0x4fd36e
cmp edx, 9
ja 0x4fcfe1
mov ebx, dword [ebp + 0xc]
jmp dword [edx*4 + 0xecd3f8]
movzx edx, byte [esi]
cmp edx, 9
je 0x4fcfc6
cmp edx, 0x20
je 0x4fcfc6
movzx edx, byte [esi + eax - 1]
cmp edx, 9
je 0x4fcfc6
cmp edx, 0x20
je 0x4fcfc6
xor edx, edx
movzx edi, byte [esi + edx]
cmp dword [edi*4 + 0xecd458], 0
je 0x4fcfc6
inc edx
cmp eax, edx
jne 0x4fceab
jmp 0x4fcc4c
movzx edx, byte [eax]
cmp edx, 9
je 0x4fcfc6
cmp edx, 0x20
je 0x4fcfc6
movzx edx, byte [eax + esi - 1]
cmp edx, 9
je 0x4fcfc6
cmp edx, 0x20
je 0x4fcfc6
xor edx, edx
movzx edi, byte [eax + edx]
cmp dword [edi*4 + 0xecd458], 0
je 0x4fcfc6
inc edx
cmp esi, edx
jne 0x4fcef5
jmp 0x4fcc4c
cmp edx, 0xb
je 0x4fd170
cmp edx, 0x37
jne 0x4fd162
test eax, eax
jne 0x4fcff7
mov eax, dword [edi + 0x18]
cmp eax, 0xcc
jne 0x4fd3b7
mov eax, dword [edi]
and eax, dword [edi + 4]
cmp eax, 0xffffffff
jne 0x4fd36e
mov eax, dword [esp + 4]
cmp dword [eax + 8], 1
jne 0x4fd36e
mov eax, dword [eax + 4]
movzx eax, byte [eax]
mov ecx, eax
add cl, 0xbf
mov edx, eax
or dl, 0x20
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
cmp cl, 0x30
jne 0x4fd36e
mov dword [edi + 4], 0
mov dword [edi], 0
mov esi, 0xffffff96
jmp 0x4fd36e
mov eax, 0xffffff97
cmp cl, 0x3a
mov edi, dword [ebp + 8]
mov esi, 0xffffff96
jne 0x4fd382
jmp 0x4fd388
cmp edx, 0x37
mov ebx, dword [ebp + 0xc]
jne 0x4fd35e
cmp dword [ebp + 0x14], 0
je 0x4fd390
mov esi, 0xffffff96
jmp 0x4fd36e
cmp cl, 0x3a
jne 0x4fd36c
jmp 0x4fd36e
mov eax, dword [edi + 0x1c]
test al, 0x20
jne 0x4fd36e
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x4fd36e
or eax, 0x20
mov dword [edi + 0x1c], eax
cmp ecx, 3
jne 0x4fd36e
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
movzx eax, byte [ecx]
mov edx, eax
add dl, 0xc6
cmp dl, 0xf6
jb 0x4fd1cd
movzx edx, byte [ecx + 1]
mov ebx, edx
add bl, 0xc6
cmp bl, 0xf6
jb 0x4fd1cd
movzx ecx, byte [ecx + 2]
mov ebx, ecx
add bl, 0xc6
cmp bl, 0xf6
jae 0x4fd560
mov dword [edi + 0x18], 0xffffffff
jmp 0x4fd36e
cmp cl, 0x3a
je 0x4fd36e
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov dword [esp + 8], eax
xor esi, esi
mov eax, dword [esp + 8]
cmp byte [eax], 0x3a
je 0x4fd386
test esi, esi
je 0x4fd382
mov eax, esi
cmp esi, 0xffffff96
jne 0x4fd388
or byte [edi + 0x1c], 0x40
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [edi]
and eax, dword [edi + 4]
cmp eax, 0xffffffff
jne 0x4fd36e
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
call fcn.004fd8c0
mov dword [edi + 4], edx
mov dword [edi], eax
and eax, edx
cmp eax, 0xffffffff
jne 0x4fd363
jmp 0x4fd36e
lea ecx, [eax - 0x64]
cmp ecx, 0x64
jb 0x4fcff7
add eax, 0xffffff38
cmp eax, 0x63
ja 0x4fd3d7
test byte [edi + 0x1c], 0x80
jne 0x4fcff7
mov eax, dword [edi]
and eax, dword [edi + 4]
cmp eax, 0xffffffff
jne 0x4fd36e
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
call fcn.004fd8c0
mov dword [edi + 4], edx
mov dword [edi], eax
and eax, edx
cmp eax, 0xffffffff
jne 0x4fd36c
jmp 0x4fd36e
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
shl eax, 0x10
add eax, 0xeb300000
mov ecx, eax
shr ecx, 0x10
mov dword [edi + 0x18], ecx
cmp eax, 0x640000
setb cl
cmp eax, 0x650000
sete al
or al, cl
je 0x4fd36c
jmp 0x4fd36e