Function at 0x5024e6
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
lea eax, [ebp - 0x14]
mov edi, ecx
mov ecx, dword [0xbd9028]
push eax
call fcn.00426f51
mov esi, dword [eax + 4]
xor ebx, ebx
cmp dword [ebp - 0x10], ebx
je 0x502513
push ebx
lea ecx, [ebp - 0x14]
call fcn.00429e8b
push dword [edi + 0x14]
lea eax, [ebp - 0x14]
push dword [edi + 0x10]
mov ecx, esi
push eax
call fcn.004296b0
cmp dword [ebp - 0x10], ebx
mov esi, dword [eax + 4]
je 0x502535
push ebx
lea ecx, [ebp - 0x14]
call fcn.00429c97
cmp esi, ebx
je 0x5027a8
lea ecx, [esi + 0xc]
call fcn.00429944
mov ecx, dword [edi + 0x10]
cmp ecx, 2
mov dword [ebp - 4], eax
mov esi, 0x2710
jne 0x5025c8
cdq
mov ebx, esi
idiv ebx
cmp eax, 0xc8
je 0x5025bc
cmp eax, 0xc9
je 0x5025bc
cmp eax, 0xca
je 0x5025bc
cmp eax, 0xcd
je 0x5025bc
cmp eax, 0xdd
je 0x5025bc
cmp eax, 0xec
je 0x5025bc
cmp eax, 0xee
je 0x5025bc
cmp eax, 0xf5
je 0x5025bc
cmp eax, 0xd4
je 0x5025bc
cmp eax, 0xe2
je 0x5025bc
cmp eax, 0xe3
je 0x5025bc
cmp eax, 0xd2
je 0x5025bc
cmp eax, 0xf0
je 0x5025bc
cmp eax, 0xf1
jne 0x5025c8
mov dword [ebp - 8], 2
jmp 0x502652
cmp ecx, 5
jne 0x5025e4
push dword [ebp - 4]
call fcn.0046d2f7
cmp eax, 6
pop ecx
jne 0x5025e4
mov dword [ebp - 8], 3
jmp 0x502652
mov ecx, dword [edi + 0x10]
cmp ecx, 5
jne 0x5025fb
mov eax, dword [ebp - 4]
cdq
mov ebx, esi
idiv ebx
cmp eax, 0x1f5
je 0x50260f
cmp ecx, 4
jne 0x502618
mov eax, dword [ebp - 4]
cdq
mov ebx, esi
idiv ebx
cmp eax, 0x1ad
jne 0x502618
mov dword [ebp - 8], 7
jmp 0x502652
cmp ecx, 3
jne 0x502633
mov eax, dword [ebp - 4]
cdq
mov ebx, esi
idiv ebx
cmp eax, 0x12d
je 0x5025bc
cmp eax, 0x12e
je 0x5025bc
push 2
pop ebx
cmp ecx, ebx
jne 0x5027a8
mov eax, dword [ebp - 4]
cdq
idiv esi
cmp eax, 0xd2
jne 0x5027a8
mov dword [ebp - 8], ebx
mov ecx, dword [0xbdd6f0]
xor edx, edx
cmp dword [ebp + 0x10], edx
mov dword [ebp - 0x10], ecx
je 0x50266e
cmp dword [ecx + 0xcbc], edx
je 0x5027a8
mov eax, dword [0xbdea14]
cmp eax, edx
mov dword [ebp - 0xc], edx
je 0x50267d
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0x10], 0
push dword [ebp + 0xc]
mov ebx, dword [0xbde95c]
push dword [ebp + 8]
je 0x502696
call fcn.008e33b0
jmp 0x50269e
mov ecx, dword [ebp - 0xc]
call fcn.00841dc8
cmp dword [edi + 0x10], 5
mov edi, dword [ebp - 4]
mov esi, eax
jne 0x5026b5
push edi
call fcn.0046d2f7
cmp eax, 6
pop ecx
je 0x5026d5
cmp esi, 0x3b
jl 0x5026c3
cmp esi, 0x44
jle 0x5027a8
cmp esi, 0x57
je 0x5027a8
cmp esi, 0x58
je 0x5027a8
cmp esi, 0xffffffff
je 0x5027a8
xor edx, edx
cmp edx, 0x36
jne 0x5026ea
push 0x2a
pop eax
jmp 0x5026ec
mov eax, edx
lea ecx, [ebx + eax*4]
lea eax, [eax + ecx + 4]
mov cl, byte [eax]
cmp cl, 2
je 0x502704
cmp cl, 3
je 0x502704
cmp cl, 7
jne 0x50270c
cmp dword [eax + 1], edi
jne 0x50270c
and byte [eax], 0
inc edx
cmp edx, 0x59
jl 0x5026e0
cmp esi, 0x59
jl 0x50272c
mov ecx, dword [ebp - 0x10]
push 0
call fcn.009ea4e7
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x5027a3
push 0
jmp 0x50279e
cmp dword [ebp + 0x10], 0
je 0x50273e
push esi
mov ecx, ebx
call fcn.005ba1c6
mov esi, eax
jmp 0x502751
cmp esi, 0x36
jne 0x502748
push 0x2a
pop eax
jmp 0x50274a
mov eax, esi
lea ecx, [ebx + eax*4]
lea esi, [eax + ecx + 4]
cmp dword [ebp + 0x10], 0
jne 0x502774
mov al, byte [esi]
cmp al, 4
je 0x502765
cmp al, 5
je 0x502765
cmp al, 6
jne 0x502774
push dword [esi + 1]
mov ecx, dword [ebp - 0xc]
movzx eax, al
push eax
call fcn.0084489d
mov ecx, dword [ebp - 0xc]
test ecx, ecx
mov al, byte [ebp - 8]
mov byte [esi], al
mov dword [esi + 1], edi
je 0x50278c
push 0
call fcn.009ea4e7
jmp 0x502799
cmp dword [ebp + 0x10], 0
je 0x502799
mov ecx, ebx
call fcn.005b9fca
mov ecx, dword [ebp - 0x10]
push 0
call fcn.009ea4e7
push 1
pop eax
jmp 0x5027aa
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc