Function at 0x477e40
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x18], 0x50
mov al, dl
mov dword [ebp - 8], edi
xor ecx, ecx
mov byte [ebp - 1], al
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov esi, dword [edi + 0x4d4]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], 0x50
mov dword [ebp - 0x28], esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], ecx
cmp al, 0xcc
jne 0x477e99
movzx eax, byte [ebp + 8]
add eax, 0xffffffeb
cmp eax, 0x98
ja case.0x477e92.22
movzx eax, byte [eax + 0x47808c]
jmp dword [eax*4 + 0x478084]
cmp al, 0xc0
je case.0x477e92.22
cmp al, 0xd0
jne case.0x477e92.21
mov eax, dword [edi + 0x1358]
test eax, eax
je case.0x477e92.21
nop dword [eax + eax]
cmp dword [eax], 0xa
je 0x477ec7
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x477eb0
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x47801d
test edx, edx
jne 0x47801a
movzx eax, word [ebx]
mov ecx, eax
cmp eax, 0x1e
ja 0x47800f
mov edi, dword [edi + 0x47c]
test edi, edi
je 0x477f02
mov eax, 1
shl eax, cl
test edi, eax
jne case.0x477f0e.22
add ecx, 0xffffffeb
cmp ecx, 4
ja case.0x477f0e.22
jmp dword [ecx*4 + 0x478128]
mov ecx, 0xd1
mov eax, 0x1c
jmp 0x477f43
mov ecx, 0x20e
mov eax, 0x20
jmp 0x477f43
mov ecx, 0xd2
mov eax, 0x30
jmp 0x477f43
mov ecx, 0xd3
mov eax, 0x42
cmp dword [ebp - 0x1c], 0
movzx edi, ax
mov dword [ebp - 0x14], edi
jne 0x477f6f
mov edi, dword [ebp - 8]
cmp word [edi + 0x4e8], ax
mov edi, dword [ebp - 0x14]
ja 0x477f6f
movzx edi, ax
cmp dword [ebp - 0x18], edi
jbe 0x477f6c
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x14]
cmp dword [ebp - 0xc], 0
jne 0x477f91
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0xc], edi
mov edi, dword [ebp - 8]
cmp word [edi + 0x4e8], ax
mov edi, dword [ebp - 0xc]
cmove edi, ecx
mov dword [ebp - 0xc], edi
mov edi, dword [ebp - 0x14]
cmp dword [ebp - 0x24], 0
movzx edi, di
je 0x477f9f
cmp dword [ebp - 0x20], edi
jbe 0x477fb4
mov esi, dword [ebp - 8]
cmp word [esi + 0x4e8], ax
mov esi, dword [ebp - 0x28]
ja 0x477fb4
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edi
mov al, byte [ebp - 1]
cmp al, 0xc0
jne 0x477fe7
movzx eax, byte [ebp + 8]
add eax, 0xfffffff9
cmp eax, 0xa8
ja case.0x478000.21
movzx eax, byte [eax + 0x478144]
jmp dword [eax*4 + 0x47813c]
xor edx, edx
mov dword [ebp - 0x10], 1
cmp esi, ecx
sete dl
jmp case.0x477f0e.22
cmp al, 0xcc
jne case.0x477f0e.22
movzx eax, byte [ebp + 8]
add eax, 0xffffffed
cmp eax, 0x96
ja case.0x478000.21
movzx eax, byte [eax + 0x4781f8]
jmp dword [eax*4 + 0x4781f0]
mov edx, 1
mov edi, dword [ebp - 8]
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x477ed3
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
test esi, esi
jne 0x47805f
movzx eax, word [edi + 0x4e8]
cmp ebx, eax
jne 0x47803a
lea edx, [esi + 1]
mov dword [edi + 0x4d4], ecx
mov esi, ecx
test esi, esi
jne 0x47805f
mov eax, dword [ebp - 0xc]
lea edx, [esi + 1]
mov esi, eax
mov dword [edi + 0x4d4], eax
test esi, esi
jne 0x47805f
cmp ebx, dword [ebp - 0x20]
jne 0x47805d
mov dword [edi + 0x4d4], ecx
mov esi, ecx
test esi, esi
pop ebx
jne 0x47806d
mov eax, dword [ebp - 0x24]
mov esi, eax
mov dword [edi + 0x4d4], eax
test esi, esi
jne 0x478079
xor eax, eax
cmp dword [ebp - 0x10], eax
cmovne edx, eax
pop edi
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret