Function at 0x5333c8
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
push esi
push edi
mov byte [ebp - 1], 1
mov eax, dword [0x5c9ad8]
call fcn.0040910c
dec eax
test eax, eax
jl 0x533552
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], 0
mov ebx, dword [ebp - 8]
lea ebx, [ebx + ebx*2]
mov eax, dword [0x5c3794]
mov eax, dword [eax]
mov eax, dword [eax + 0x490]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x5334dc
call fcn.0040a40c
push eax
push 0
push 0x1f0fff
mov eax, dword [0x5c376c]
mov eax, dword [eax]
call eax
mov dword [ebp - 0x18], eax
mov eax, dword [0x5c9ad8]
mov eax, dword [eax + ebx*4 + 4]
mov dword [ebp - 0xc], eax
jmp 0x5334af
xor eax, eax
push ebp
push 0x530f94
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
push 0x1000
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5c3804]
mov eax, dword [eax]
call eax
mov eax, dword [0x5c9ad8]
mov edx, dword [ebp - 0xc]
sub edx, dword [eax + ebx*4 + 4]
mov eax, dword [0x5c9ae4]
mov ecx, dword [ebp - 8]
mov eax, dword [eax + ecx*4]
lea edx, [eax + edx]
mov ecx, 0x1000
mov eax, dword [ebp - 0xc]
call fcn.0040aee4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5334a8
add dword [ebp - 0xc], 0x1000
mov ebx, dword [ebp - 8]
lea ebx, [ebx + ebx*2]
mov eax, dword [0x5c9ad8]
mov eax, dword [eax + ebx*4 + 4]
mov edx, dword [0x5c9ad8]
add eax, dword [edx + ebx*4 + 8]
cmp eax, dword [ebp - 0xc]
ja 0x53343d
mov eax, dword [ebp - 0x18]
push eax
call fcn.0040a314
jmp 0x533546
mov eax, dword [0x5c9ad8]
mov eax, dword [eax + ebx*4 + 4]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x10]
push eax
push 0x40
mov eax, dword [0x5c9ad8]
mov eax, dword [eax + ebx*4 + 8]
push eax
mov esi, dword [ebp - 0xc]
push esi
mov eax, dword [0x5c3208]
mov eax, dword [eax]
call eax
xor eax, eax
push ebp
push 0x53103c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5c9ad8]
mov ecx, dword [eax + ebx*4 + 8]
mov eax, dword [0x5c9ae4]
mov edx, dword [ebp - 8]
mov edx, dword [eax + edx*4]
mov eax, esi
call fcn.0040aee4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x533546
inc dword [ebp - 8]
dec dword [ebp - 0x20]
jne 0x5333f3
mov eax, dword [0x5c9adc]
call fcn.0040910c
dec eax
test eax, eax
jl 0x533716
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], 0
mov ebx, dword [ebp - 8]
lea ebx, [ebx + ebx*2]
mov eax, dword [0x5c3794]
mov eax, dword [eax]
mov eax, dword [eax + 0x490]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x5336a0
call fcn.0040a40c
push eax
push 0
push 0x1f0fff
mov eax, dword [0x5c376c]
mov eax, dword [eax]
call eax
mov dword [ebp - 0x18], eax
mov eax, dword [0x5c9adc]
mov eax, dword [eax + ebx*4 + 4]
mov dword [ebp - 0xc], eax
jmp 0x533673
xor eax, eax
push ebp
push 0x531158
push dword fs:[eax]
mov dword fs:[eax], esp
mov edi, dword [ebp - 0xc]
cmp byte [edi], 0xcc
jne 0x5335da
push 0
call fcn.00412750
mov eax, dword [ebp - 0xc]
shr eax, 0xc
mov ebx, eax
add ebx, ebx
add ebx, ebx
add ebx, 0xc0000000
lea eax, [ebp - 0x10]
push eax
push 4
lea eax, [ebp - 0x14]
push eax
push ebx
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x5c3368]
mov eax, dword [eax]
call eax
test eax, eax
je 0x533624
or dword [ebp - 0x14], 2
lea eax, [ebp - 0x10]
push eax
push 4
lea eax, [ebp - 0x14]
push eax
push ebx
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x5c3068]
mov eax, dword [eax]
call eax
mov eax, dword [0x5c9adc]
mov edx, dword [ebp - 0xc]
sub edx, dword [eax + esi*4 + 4]
mov eax, dword [0x5c9ae8]
mov ecx, dword [ebp - 8]
mov eax, dword [eax + ecx*4]
lea edx, [eax + edx]
mov ecx, 0x1000
mov eax, edi
call fcn.0040aee4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53366c
add dword [ebp - 0xc], 0x1000
mov esi, dword [ebp - 8]
lea esi, [esi + esi*2]
mov eax, dword [0x5c9adc]
mov eax, dword [eax + esi*4 + 4]
mov edx, dword [0x5c9adc]
add eax, dword [edx + esi*4 + 8]
cmp eax, dword [ebp - 0xc]
ja 0x5335bd
mov eax, dword [ebp - 0x18]
push eax
call fcn.0040a314
jmp 0x53370a
mov eax, dword [0x5c9adc]
mov eax, dword [eax + ebx*4 + 4]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x10]
push eax
push 0x40
mov eax, dword [0x5c9adc]
mov eax, dword [eax + ebx*4 + 8]
push eax
mov esi, dword [ebp - 0xc]
push esi
mov eax, dword [0x5c3208]
mov eax, dword [eax]
call eax
xor eax, eax
push ebp
push 0x531200
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5c9adc]
mov ecx, dword [eax + ebx*4 + 8]
mov eax, dword [0x5c9ae8]
mov edx, dword [ebp - 8]
mov edx, dword [eax + edx*4]
mov eax, esi
call fcn.0040aee4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53370a
inc dword [ebp - 8]
dec dword [ebp - 0x20]
jne 0x533570
mov eax, dword [case.0x535c66.0]
call fcn.0040910c
dec eax
test eax, eax
jl 0x533904
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], 0
mov ebx, dword [ebp - 8]
lea ebx, [ebx + ebx*2]
mov eax, dword [0x5c3794]
mov eax, dword [eax]
mov eax, dword [eax + 0x490]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x533880
call fcn.0040a40c
push eax
push 0
push 0x1f0fff
mov eax, dword [0x5c376c]
mov eax, dword [eax]
call eax
mov dword [ebp - 0x18], eax
mov eax, dword [case.0x535c66.0]
mov eax, dword [eax + ebx*4 + 4]
mov edx, dword [0x5c9ad4]
sub edx, dword [0x5c9ad0]
add eax, edx
mov dword [ebp - 0xc], eax
jmp 0x533845
xor eax, eax
push ebp
push 0x53132a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edi, dword [ebp - 0xc]
cmp byte [edi], 0xcc
jne 0x5337ac
push 0
call fcn.00412750
mov eax, dword [ebp - 0xc]
shr eax, 0xc
mov ebx, eax
add ebx, ebx
add ebx, ebx
add ebx, 0xc0000000
lea eax, [ebp - 0x10]
push eax
push 4
lea eax, [ebp - 0x14]
push eax
push ebx
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x5c3368]
mov eax, dword [eax]
call eax
test eax, eax
je 0x5337f6
or dword [ebp - 0x14], 2
lea eax, [ebp - 0x10]
push eax
push 4
lea eax, [ebp - 0x14]
push eax
push ebx
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x5c3068]
mov eax, dword [eax]
call eax
mov eax, dword [case.0x535c66.0]
mov edx, dword [ebp - 0xc]
sub edx, dword [eax + esi*4 + 4]
mov eax, dword [0x5c9aec]
mov ecx, dword [ebp - 8]
mov eax, dword [eax + ecx*4]
lea edx, [eax + edx]
mov ecx, 0x1000
mov eax, edi
call fcn.0040aee4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53383e
add dword [ebp - 0xc], 0x1000
mov esi, dword [ebp - 8]
lea esi, [esi + esi*2]
mov eax, dword [case.0x535c66.0]
mov eax, dword [eax + esi*4 + 4]
mov edx, dword [0x5c9ad4]
sub edx, dword [0x5c9ad0]
add eax, edx
mov edx, dword [case.0x535c66.0]
add eax, dword [edx + esi*4 + 8]
cmp eax, dword [ebp - 0xc]
ja 0x53378f
mov eax, dword [ebp - 0x18]
push eax
call fcn.0040a314
jmp 0x5338f8
mov eax, dword [case.0x535c66.0]
mov eax, dword [eax + ebx*4 + 4]
mov edx, dword [0x5c9ad4]
sub edx, dword [0x5c9ad0]
add eax, edx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x10]
push eax
push 0x40
mov eax, dword [case.0x535c66.0]
mov eax, dword [eax + ebx*4 + 8]
push eax
mov esi, dword [ebp - 0xc]
push esi
mov eax, dword [0x5c3208]
mov eax, dword [eax]
call eax
xor eax, eax
push ebp
push 0x5313ee
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [case.0x535c66.0]
mov ecx, dword [eax + ebx*4 + 8]
mov eax, dword [0x5c9aec]
mov edx, dword [ebp - 8]
mov edx, dword [eax + edx*4]
mov eax, esi
call fcn.0040aee4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5338f8
inc dword [ebp - 8]
dec dword [ebp - 0x20]
jne 0x533734
cmp byte [ebp - 1], 0
je 0x533923
mov eax, dword [0x5c3254]
mov eax, dword [eax]
mov eax, dword [eax + 0x514]
mov edx, 0x53147c
call fcn.004606dc
jmp 0x53393a
mov eax, dword [0x5c3254]
mov eax, dword [eax]
mov eax, dword [eax + 0x514]
mov edx, 0x5314c4
call fcn.004606dc
mov eax, dword [0x5c3254]
mov eax, dword [eax]
mov eax, dword [eax + 0x514]
mov dl, 1
call fcn.004605cc
mov eax, dword [0x5c3254]
mov eax, dword [eax]
mov eax, dword [eax + 0x518]
mov dl, 1
call fcn.00449ff0
movzx eax, byte [ebp - 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret