Function at 0x4026b0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push esi
mov esi, ecx
mov dword [ebp - 0x10], 0x50
mov al, dl
mov dword [ebp - 8], esi
push edi
xor edi, edi
mov byte [ebp - 1], al
mov ecx, dword [esi + 0x3c4]
xor edx, edx
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], 0x50
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], edi
cmp al, 0xcc
jne 0x402709
movzx eax, byte [ebp + 8]
add eax, 0xffffffeb
cmp eax, 0x98
ja case.0x402702.22
movzx eax, byte [eax + 0x402958]
jmp dword [eax*4 + 0x402950]
cmp al, 0xc0
je case.0x402702.22
cmp al, 0xd0
jne case.0x402702.21
mov eax, dword [esi + 0x1054]
test eax, eax
je case.0x402702.21
nop dword [eax + eax]
cmp dword [eax], 0xa
je 0x402737
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x402720
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x4028ee
mov ecx, 0x100
test edx, edx
jne 0x4028eb
movzx edi, word [ebx]
mov eax, edi
cmp ax, cx
jae 0x40278b
cmp eax, 0x2e
ja case.0x402797.22
mov esi, dword [esi + 0x36c]
mov ecx, eax
cmp eax, 0x20
lea eax, [edx + 1]
jb 0x402776
add ecx, 0xffffffe0
shl eax, cl
and eax, esi
mov esi, dword [ebp - 8]
neg eax
sbb eax, eax
neg eax
test eax, eax
jne case.0x402797.22
lea eax, [edi - 0x15]
cmp eax, 8
ja case.0x402797.22
jmp dword [eax*4 + 0x4029f4]
mov ecx, 0xd1
mov esi, 0x1c
jmp 0x4027d8
mov ecx, 0x20e
mov esi, 0x20
jmp 0x4027d8
mov ecx, 0x16d
mov esi, 0x20
jmp 0x4027d8
mov ecx, 0xd2
mov esi, 0x30
jmp 0x4027d8
mov ecx, 0xd3
mov esi, 0x42
cmp dword [ebp - 0xc], 0
mov eax, dword [ebp - 8]
jne 0x4027fb
cmp word [eax + 0x3d8], si
ja 0x4027fb
movzx eax, si
cmp dword [ebp - 0x10], eax
jbe 0x4027f8
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x14], 0
mov edi, dword [ebp - 0xc]
jne 0x40281c
mov edi, dword [ebp - 0x14]
cmp word [eax + 0x3d8], si
mov eax, edi
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0xc]
cmove eax, ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x24], 0
je 0x40282a
movzx eax, si
cmp dword [ebp - 0x20], eax
jbe 0x40283f
mov eax, dword [ebp - 8]
cmp word [eax + 0x3d8], si
ja 0x40283f
movzx eax, si
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], eax
mov al, byte [ebp - 1]
cmp al, 0xc0
jne 0x4028a9
movzx eax, byte [ebp + 8]
add eax, 0xfffffffe
cmp eax, 0xad
ja case.0x40285b.6
movzx eax, byte [eax + 0x402a24]
jmp dword [eax*4 + 0x402a18]
cmp ecx, 0x16d
jne 0x40287a
cmp edi, ecx
jne 0x40287a
xor eax, eax
mov dword [ebp - 0x10], 0x50
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 8]
xor edx, edx
cmp dword [esi + 0x3dc], ecx
sete dl
jmp case.0x402797.22
cmp ecx, 0x16d
jne case.0x4028c2.21
cmp edi, ecx
jne case.0x4028c2.21
xor eax, eax
mov dword [ebp - 0x10], 0x50
mov dword [ebp - 0xc], eax
mov edx, 1
jmp 0x4028d8
cmp al, 0xcc
jne 0x4028d8
movzx eax, byte [ebp + 8]
add eax, 0xffffffed
cmp eax, 0x96
ja case.0x4028c2.21
movzx eax, byte [eax + 0x402adc]
jmp dword [eax*4 + 0x402ad4]
xor edx, edx
mov dword [ebp - 0x18], 1
cmp dword [ebp - 0x1c], ecx
sete dl
mov esi, dword [ebp - 8]
mov ebx, dword [ebx + 4]
mov ecx, 0x100
test ebx, ebx
jne 0x402748
mov edi, dword [ebp - 0xc]
mov ecx, dword [esi + 0x3c4]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x10]
mov dword [esi], ecx
test ecx, ecx
jne 0x402930
mov eax, dword [ebp - 8]
movzx eax, word [eax + 0x3d8]
cmp ebx, eax
jne 0x402915
lea edx, [ecx + 1]
mov dword [esi], edi
mov ecx, edi
test ecx, ecx
jne 0x402930
mov eax, dword [ebp - 0x14]
lea edx, [ecx + 1]
mov ecx, eax
mov dword [esi], eax
test ecx, ecx
jne 0x402930
cmp ebx, dword [ebp - 0x20]
jne 0x402930
mov dword [esi], edi
mov ecx, edi
pop ebx
test ecx, ecx
jne 0x402946
mov eax, dword [ebp - 0x24]
mov ecx, eax
mov dword [esi], eax
test ecx, ecx
jne 0x402946
cmp dword [ebp - 0x18], eax
cmovne edx, eax
pop edi
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret