Function at 0x10030ac0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
test byte [esi + 0x376], 0x10
mov dword [esi + 0x35e], 0
mov dword [esi + 0xac], 0
jne case.0x10030b32.5
call fcn.100318e0
movzx eax, ax
mov ecx, esi
push eax
call fcn.100314b0
movzx eax, word [esi + 0xec]
lea ebx, [esi + 0xec]
push eax
mov ecx, esi
mov dword [ebp - 4], eax
call fcn.100314b0
movzx eax, word [esi + 0x60]
mov ecx, esi
push eax
call fcn.100314b0
movzx eax, byte [ebp + 8]
cmp eax, 0x77
ja case.0x10030b32.5
movzx eax, byte [eax + 0x10031094]
jmp dword [eax*4 + 0x10031054]
mov cx, word [esi + 0x6f5e]
xor edx, edx
or cx, word [esi + 0x6f5c]
cmp cx, 0x3f
movzx eax, cx
cmovne edx, eax
mov al, byte [esi + 0x41]
movzx edx, dx
mov ecx, edx
cmp al, 0x68
ja case.0x10030b6d.1
movzx eax, al
movzx eax, byte [eax + 0x10031170]
jmp dword [eax*4 + 0x1003110c]
mov byte [esi + 0x40], 0xff
and dword [esi + 0x6c], 0xfe
jmp 0x10030d55
and dword [esi + 0x6c], 0xfe
mov edi, edx
jmp 0x10030d57
movzx eax, byte [esi + 0x40]
movzx edx, word [esi + eax*4 + 0x6eda]
lea edi, [esi + eax*4]
movzx eax, word [edi + 0x6ed8]
mov ecx, eax
or eax, edx
test ax, ax
jne 0x10030bcd
mov eax, 0x678
mov word [esi + 0x4c], ax
mov eax, 0x1234
mov word [esi + 0xb0], ax
movzx ecx, word [edi + 0x6ed8]
mov word [esi + 0x4c], cx
xor edi, edi
mov word [esi + 0xb0], dx
jmp 0x10030d57
or dword [esi + 0x6c], 1
mov edi, edx
jmp 0x10030d57
mov dword [esi + 0x40], 2
or dword [esi + 0x6c], 1
jmp 0x10030d55
cmp byte [esi + 0x72d0], 0xcf
jne case.0x10030b32.5
mov edi, edx
jmp 0x10030d57
cmp byte [esi + 0x48], 0xff
jne case.0x10030b32.5
mov edi, edx
jmp 0x10030d57
mov eax, 0x80
mov word [esi + 0x4c], ax
mov eax, 0x1000
mov word [esi + 0xb0], ax
jmp 0x10030d55
mov eax, 0x321
jmp 0x10030c24
mov eax, 0x26
jmp 0x10030c24
mov eax, 0xffff
mov word [esi + 0x40], ax
jmp 0x10030d55
mov eax, 0xffff
cmp word [esi + 0x4c], ax
jne case.0x10030b32.5
mov eax, 0x10
mov word [esi + 0x4c], ax
mov eax, 8
mov word [esi + 0x40], ax
or dword [esi + 0x6c], 1
jmp 0x10030d55
cmp byte [esi + 0x40], 1
mov edi, edx
je 0x10030d57
mov byte [esi + 0x48], 0x2f
jmp 0x10030d57
cmp byte [esi + 0x40], 2
jb case.0x10030b32.5
mov dword [esi + 0x40], 1
or dword [esi + 0x6c], 1
jmp 0x10030d55
mov eax, 0x1000
mov word [esi + 0x4c], ax
jmp 0x10030d55
mov ax, word [esi + 0x164]
mov edi, edx
jmp 0x10030d57
mov al, byte [esi + 0x48]
test al, al
je 0x10030cdd
cmp al, 0x20
je 0x10030cdd
cmp al, 8
jne case.0x10030b32.5
mov byte [esi + 0x40], al
jmp 0x10030d55
mov eax, 0x7ba
mov word [esi + 0x44], ax
mov eax, 0x401
mov word [esi + 0x48], ax
jmp 0x10030d55
mov eax, 0x7ba
mov edx, 0xfff
add ax, word [esi + 0x44]
and ax, dx
mov word [esi + 0x44], ax
and eax, 0x1f1
mov word [esi + 0x48], ax
jmp 0x10030d55
cmp byte [esi + 0x45], 0x18
ja case.0x10030b32.5
cmp byte [esi + 0x44], 0x3c
ja case.0x10030b32.5
cmp byte [esi + 0x49], 0x3c
ja case.0x10030b32.5
cmp byte [esi + 0x48], 0x64
ja case.0x10030b32.5
mov byte [esi + 0x40], 0xff
jmp 0x10030d55
mov eax, 6
mov byte [esi + 0x4c], 0
mov word [esi + 0x40], ax
xor eax, eax
mov word [esi + 0x44], ax
jmp 0x10030d55
mov byte [esi + 0x40], 0
mov edi, ecx
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.100312e0
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.100312e0
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.100312e0
push edi
mov ecx, esi
call fcn.10029600
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push edx
mov ecx, esi
call fcn.10029600
mov ecx, esi
call fcn.10023aa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [esi + 0x72c8], 0xcf
je case.0x10030b32.2
mov ecx, esi
call fcn.10023aa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov cl, byte [esi + 0x41]
movzx eax, cl
add eax, 0xfffffffd
cmp eax, 0x17
ja case.0x10030dcf.5
movzx eax, byte [eax + 0x100311e8]
jmp dword [eax*4 + 0x100311dc]
mov dword [esi + 0x40], 0x5003
mov byte [esi + 0x4d], 0
jmp case.0x10030b32.2
cmp cl, 0x80
jb case.0x10030b32.5
jmp case.0x10030b32.2
mov cl, byte [esi + 0x41]
movzx eax, cl
cmp eax, 0x12
ja case.0x10030dfc.6
movzx eax, byte [eax + 0x10031210]
jmp dword [eax*4 + 0x10031200]
mov byte [esi + 0x41], 0xf7
jmp case.0x10030b32.2
mov byte [esi + 0x41], 0xf2
jmp case.0x10030b32.2
cmp cl, 0x40
jb case.0x10030b32.5
sub cl, 0x12
mov byte [esi + 0x41], cl
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.100312e0
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.100312e0
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.100312e0
push 0
mov ecx, esi
call fcn.10029600
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov cl, byte [esi + 0x41]
cmp cl, 0x50
jb 0x10030e5f
mov byte [esi + 0x41], 1
or dword [esi + 0x6c], 1
jmp case.0x10030b32.2
movzx eax, cl
cmp eax, 0x15
ja case.0x10030e6e.2
movzx eax, byte [eax + 0x10031238]
jmp dword [eax*4 + 0x10031224]
mov byte [esi + 0x40], 0
jmp case.0x10030b32.2
xor eax, eax
mov word [esi + 0x40], ax
and dword [esi + 0x6c], 0xfe
jmp case.0x10030b32.2
cmp byte [esi + 0x40], 0x80
jb case.0x10030b32.5
cmp cl, 0xd
je case.0x10030b32.2
cmp cl, 0x10
jne case.0x10030b32.5
jmp case.0x10030b32.2
mov cl, byte [esi + 0x41]
lea eax, [ecx - 0x45]
cmp al, 9
jbe case.0x10030b32.2
lea eax, [ecx - 2]
cmp al, 0xcd
ja 0x10030ed6
cmp cl, 2
je case.0x10030b32.2
cmp cl, 0x84
je case.0x10030b32.2
cmp cl, 0x88
jmp 0x10030da8
mov byte [esi + 0x41], 0x86
or dword [esi + 0x6c], 1
jmp case.0x10030b32.2
mov al, byte [esi + 0x41]
cmp al, 2
je case.0x10030b32.2
cmp al, 0x40
jae case.0x10030b32.2
mov ecx, esi
call fcn.10023aa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov al, byte [esi + 0x41]
test al, al
je case.0x10030b32.2
cmp al, 2
je case.0x10030b32.2
cmp al, 4
jmp 0x10030da8
mov al, byte [esi + 0x41]
test al, al
je case.0x10030b32.2
cmp al, 0x80
jae case.0x10030b32.2
cmp al, 0x10
jmp 0x10030da8
cmp byte [esi + 0x41], 2
je case.0x10030b32.2
cmp word [esi + 0x40], 0xa
jne case.0x10030b32.5
mov ax, word [esi + 0x4c]
mov word [esi + 0x40], ax
jmp case.0x10030b32.2
cmp byte [esi + 0x41], 3
je case.0x10030b32.2
mov eax, 0x400
cmp word [esi + 0x40], ax
jmp 0x10030da8
movzx ecx, word [esi + 0x6eda]
movzx edx, word [esi + 0x6ed8]
mov eax, edx
or eax, ecx
movzx eax, ax
test ax, ax
je case.0x10030b32.2
push ecx
mov eax, edx
mov ecx, esi
push ebx
mov dword [esi + 0x60], eax
call fcn.10031250
and dword [esi + 0x70], 0xfffafcff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
movzx ecx, word [esi + 0x6ede]
movzx edx, word [esi + 0x6edc]
jmp 0x10030f82
movzx edx, word [esi + 0x6ee4]
movzx ecx, word [esi + 0x6ee6]
mov eax, edx
or eax, ecx
test ax, ax
je 0x10030ffe
push ecx
mov eax, edx
mov ecx, esi
push ebx
mov dword [esi + 0x60], eax
call fcn.10031250
and dword [esi + 0x70], 0xfffafcff
mov ecx, esi
push 0
call fcn.10029600
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi + 0x333]
cmp byte [eax], 0xcc
jne 0x10031029
cmp byte [eax + 1], 0xcc
jne 0x10031029
mov ecx, dword [esi + 0x36e]
inc dword [esi + 0x60]
inc eax
mov dword [esi + 0x333], eax
cmp eax, ecx
ja 0x10031029
cmp byte [eax + 1], 0xcc
je 0x10031015
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.100312e0
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.100312e0
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.100312e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10