Function at 0x445390
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
mov al, byte [ebp + 0xc]
sub esp, 0x24
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
cmp al, 0xc0
je 0x4453ab
cmp al, 0xcc
je 0x4453ab
xor eax, eax
jmp 0x4453c1
mov eax, dword [ebx + 0xf68]
test eax, eax
je 0x4453c1
cmp dword [eax], 0xa
je 0x4453c1
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x4453b5
mov edi, dword [ebx + 0x388]
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x18], ecx
xor esi, esi
mov dword [ebp - 0x10], 0x50
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x50
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
test eax, eax
jne 0x4453fa
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 4]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x445585
test edx, edx
je 0x445414
test esi, esi
jne 0x445582
movzx ecx, word [eax]
mov edx, 1
mov eax, dword [ebx]
shl edx, cl
test dword [eax + 0x8c], edx
jne case.0x445438.17
lea eax, [ecx - 0x10]
cmp eax, 9
ja case.0x445438.17
jmp dword [eax*4 + 0x4455f4]
mov ecx, 0xb8
mov eax, 0x14
jmp 0x445485
mov ecx, 0x208
mov eax, 0x18
jmp 0x445485
mov ecx, 0xd1
mov eax, 0x1c
jmp 0x445485
mov ecx, 0x20e
mov eax, 0x20
jmp 0x445485
mov ecx, 0xd2
mov eax, 0x30
jmp 0x445485
mov ecx, 0xd3
mov eax, 0x42
cmp dword [ebp - 0x18], 0
movzx edx, ax
mov dword [ebp - 0x14], edx
jne 0x4454ab
cmp word [ebx + 0x39c], ax
ja 0x4454ab
movzx edx, ax
cmp dword [ebp - 0x10], edx
jbe 0x4454a8
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x14]
cmp dword [ebp - 0xc], 0
mov ebx, dword [ebp + 8]
jne 0x4454c7
mov edx, dword [ebp - 0xc]
cmp word [ebx + 0x39c], ax
cmove edx, ecx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x14]
cmp dword [ebp - 0x20], 0
movzx edx, dx
je 0x4454d5
cmp dword [ebp - 0x1c], edx
jbe 0x4454e4
cmp word [ebx + 0x39c], ax
ja 0x4454e4
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov al, byte [ebp + 0xc]
cmp al, 0xc0
jne 0x445529
movzx eax, byte [ebp + 0x10]
add eax, 0xfffffff9
cmp eax, 0xa8
ja case.0x445542.21
movzx eax, byte [eax + 0x445628]
jmp dword [eax*4 + 0x44561c]
xor eax, eax
mov edx, 1
cmp edi, ecx
mov dword [ebp - 4], edx
mov dword [ebp - 8], edx
sete al
or esi, eax
jmp 0x445571
mov edx, 1
mov dword [ebp - 4], edx
mov esi, edx
jmp 0x445571
cmp al, 0xcc
jne case.0x445438.17
movzx eax, byte [ebp + 0x10]
add eax, 0xffffffed
cmp eax, 0x96
ja case.0x445542.21
movzx eax, byte [eax + 0x4456e0]
jmp dword [eax*4 + 0x4456d4]
mov edx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x3a0], ecx
mov dword [ebp - 8], 1
sete al
or edx, eax
xor eax, eax
cmp edi, ecx
mov dword [ebp - 4], edx
sete al
or esi, eax
jmp 0x445571
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x445408
mov ecx, dword [ebp - 0x18]
test edi, edi
jne 0x4455dd
movzx eax, word [ebx + 0x39c]
cmp dword [ebp - 0x10], eax
jne 0x4455a0
lea esi, [edi + 1]
mov dword [ebx + 0x388], ecx
mov edi, ecx
test edi, edi
jne 0x4455dd
mov eax, dword [ebp - 0xc]
lea esi, [edi + 1]
mov edi, eax
mov dword [ebx + 0x388], eax
test edi, edi
jne 0x4455dd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jne 0x4455c6
mov dword [ebx + 0x388], ecx
mov edi, ecx
test edi, edi
jne 0x4455dd
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0x388], eax
test eax, eax
jne 0x4455dd
cmp dword [ebp - 8], eax
cmovne esi, eax
test edx, edx
je 0x4455e9
test esi, esi
jne 0x4453ee
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret