Function at 0x4a1530
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebx*4 + 0x20a514c]
test ebx, ebx
js 0x4a1864
cmp ebx, 0x1194
jge 0x4a1864
cmp dword [edi + 4], 3
jne 0x4a1864
movzx eax, word [edi + 0x78]
cmp eax, 1
je 0x4a1576
cmp eax, 6
jne 0x4a1864
cmp byte [edi + 0xa], 0
jg 0x4a1864
cmp byte [edi + 0x9c0], 0
jne 0x4a1864
cmp byte [edi + 0x216], 0
jne 0x4a1864
mov eax, dword [edi + 0x384]
test al, 3
je 0x4a15b4
and eax, 0xffc0
cmp eax, 0xc0
jne 0x4a1864
push ebx
call fcn.004748f0
test eax, eax
jne 0x4a1864
mov ecx, ebx
call fcn.0051fd50
cmp byte [edi + 0x38c], 1
je 0x4a1864
mov eax, dword [ebp + 8]
mov al, byte [eax + 5]
cmp al, 0xcc
jae 0x4a1864
movzx eax, al
imul esi, eax, 0x10c
add esi, dword [edi + 0x390]
movzx eax, word [esi + 4]
mov ecx, eax
test ax, ax
js 0x4a1864
mov edx, 0x2000
cmp cx, dx
jge 0x4a1864
cwde
mov ecx, 0x9f4360
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00405650
mov eax, dword [esp + 0x24]
mov edx, dword [0x9f4360]
mov ecx, dword [esp + 0x10]
cmp byte [eax + 0xd], 0
jne 0x4a1642
cmp ecx, dword [eax + 0x10]
jge 0x4a1644
mov eax, edx
cmp eax, edx
jne 0x4a1864
cmp byte [esi + 0xba], 0
jne 0x4a1864
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ecx
push eax
lea eax, [esp + 0x20]
mov ecx, 0x9ed0d0
push eax
call fcn.00405650
mov eax, dword [esp + 0x24]
mov edx, dword [0x9ed0d0]
cmp byte [eax + 0xd], 0
jne 0x4a168a
mov ecx, dword [esp + 0x10]
cmp ecx, dword [eax + 0x10]
jge 0x4a168c
mov eax, edx
cmp eax, edx
je 0x4a169a
cmp dword [eax + 0x18], 0
je 0x4a1864
movzx ecx, word [esi + 6]
movsx eax, cx
cmp eax, dword [0xbdcc88]
jg 0x4a1864
cmp eax, dword [0xbdcc84]
jl 0x4a1864
cmp dword [0xbdcc8c], 0
movzx edx, word [esi + 4]
jne 0x4a16e7
mov eax, 0x1a03
cmp dx, ax
je 0x4a16e7
mov eax, 0x1a25
cmp dx, ax
je 0x4a16e7
cmp byte [esi + 0x9f], 0
jne 0x4a1864
cmp dword [0xbdcc98], 0
jne 0x4a1706
xor eax, eax
cmp byte [esi + eax + 0xd3], 0xff
jne 0x4a1864
inc eax
cmp eax, 5
jl 0x4a16f2
cmp dword [0xbdcc90], 0
jne 0x4a171c
test byte [esi + 0xb6], 3
jne 0x4a1864
cmp dword [0xbdcc94], 0
jne 0x4a174d
xor eax, eax
nop word [eax + eax]
cmp byte [esi + eax + 0xd3], 0xff
jne 0x4a174d
inc eax
cmp eax, 5
jl 0x4a1730
test byte [esi + 0xcc], 0xf0
jne 0x4a1864
mov eax, 0x1a07
cmp dx, ax
jne 0x4a1766
test cx, cx
je 0x4a1864
cmp cx, 1
jmp 0x4a178e
mov eax, 0x1a0b
cmp dx, ax
jne 0x4a1776
cmp cx, 1
jmp 0x4a178e
mov eax, 0x1a14
cmp dx, ax
jne 0x4a1794
cmp cx, 1
je 0x4a1864
cmp cx, 2
je 0x4a1864
push dword [esi + 0xbc]
movzx eax, byte [edi + 0x149]
imul ecx, eax, 0x15d38
movzx eax, byte [esi + 0xd8]
push eax
mov edi, dword [ebp + 8]
lea eax, [esi + 0xd3]
push eax
movzx eax, byte [esi + 0xd2]
add ecx, 0xd2f370
push eax
movzx eax, byte [esi + 0xcc]
push eax
push dword [esi + 0xc8]
movzx eax, byte [esi + 0xb6]
push dword [esi + 0xc4]
movss xmm3, dword [esi + 0x20]
push ebx
push dword [esi]
push eax
movzx eax, byte [esi + 0x9f]
push eax
movzx eax, byte [esi + 0x9e]
push eax
movzx eax, byte [esi + 0x9d]
push eax
movzx eax, byte [esi + 0x9c]
push eax
movzx eax, byte [edi + 4]
push eax
movzx eax, byte [edi + 3]
push eax
movsx eax, word [esi + 6]
push eax
movsx eax, dx
push eax
call fcn.004b35c0
test al, al
je 0x4a1864
movzx eax, byte [edi + 5]
push eax
push ebx
call fcn.0049de90
mov al, byte [edi + 5]
mov byte [esp + 0x18], al
lea eax, [esp + 0x14]
push 5
push eax
push ebx
mov dword [esp + 0x20], 0x12305c1
call fcn.005192f0
movzx eax, byte [edi + 5]
push eax
push ebx
call fcn.0049f3c0
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8