Function at 0x570c3e
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff580
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
push eax
call fcn.005b3e22
pop ecx
mov ebx, eax
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0xc]
jb 0x570c69
or eax, 0xffffffff
jmp 0x571455
test ebx, ebx
je 0x570c80
mov edx, dword [ebp + 8]
cmp edx, dword [ebx + 0xc]
jb 0x570c80
mov ecx, dword [ebx + 0xc]
add ecx, dword [ebx + 0x10]
cmp ecx, dword [ebp + 0xc]
jae 0x570c88
or eax, 0xffffffff
jmp 0x571455
cmp dword [ebx + 0x174], 0
jne 0x570d34
cmp edi, 3
je 0x570ca4
cmp edi, 4
je 0x570ca4
cmp edi, 5
jne 0x570cab
xor eax, eax
jmp 0x571455
mov edx, dword [ebx + 0x10]
push edx
push 0x40
call fcn.006050fa
mov dword [ebx + 0x174], eax
mov ecx, dword [ebx + 0x10]
push ecx
push 0x40
call fcn.006050fa
mov dword [ebx + 0x178], eax
cmp dword [ebx + 0x174], 0
je 0x570cdf
cmp dword [ebx + 0x178], 0
jne 0x570d34
mov eax, dword [ebx + 0x10]
add eax, eax
push eax
push 0x4b2b61
call fcn.005aa026
add esp, 8
cmp dword [ebx + 0x174], 0
je 0x570d0f
mov edx, dword [ebx + 0x174]
push edx
call fcn.00605100
xor ecx, ecx
mov dword [ebx + 0x174], ecx
cmp dword [ebx + 0x178], 0
je 0x570d2c
mov eax, dword [ebx + 0x178]
push eax
call fcn.00605100
xor edx, edx
mov dword [ebx + 0x178], edx
or eax, 0xffffffff
jmp 0x571455
mov edx, dword [ebp + 0xc]
sub edx, dword [ebp + 8]
push edx
push 0
call fcn.006050fa
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x570d67
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp + 8]
push ecx
push 0x4b2b61
call fcn.005aa026
add esp, 8
or eax, 0xffffffff
jmp 0x571455
mov edx, dword [0x4d54d8]
push edx
call fcn.00605592
mov dword [ebp - 0x20], eax
mov ecx, dword [0x4d5a5c]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 3
jne 0x570db3
mov esi, dword [0x4d7db0]
test esi, esi
je 0x570db3
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x570da8
mov edx, dword [esi + 0xc]
push edx
call fcn.006051cc
inc dword [ebp - 4]
add esi, 0x66c
mov ecx, dword [ebp - 4]
cmp ecx, dword [0x4d7d98]
jl 0x570d96
mov dword [0x4d5a5c], 1
xor edx, edx
mov eax, dword [0x4d8134]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0xc], 0
je 0x570dd5
call fcn.0056ee2e
cmp edi, 0xb
jne 0x570f07
push 1
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp + 8]
push ecx
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x18]
push edx
call fcn.005b7316
add esp, 0x10
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp + 8]
cmp eax, ecx
je 0x570e09
or eax, 0xffffffff
jmp 0x571455
mov esi, dword [ebp + 8]
cmp esi, dword [ebp + 0xc]
jae 0x570ed7
mov eax, dword [ebx + 0x16c]
test eax, eax
je 0x570e56
mov edx, esi
sub edx, dword [ebx + 0xc]
xor ecx, ecx
mov cl, byte [eax + edx]
and ecx, 0x1f
mov dword [ebp - 8], ecx
mov eax, esi
sub eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x16c]
cmp byte [edx + eax], 0
je 0x570e56
cmp dword [ebp - 8], 0x1d
je 0x570e56
cmp dword [ebp - 8], 0x1e
je 0x570e56
cmp dword [ebp - 8], 0x1f
jne 0x570ed7
push 0
lea ecx, [ebp - 0xa80]
push 1
push ecx
push 0
push esi
mov eax, dword [ebp + 0xc]
sub eax, esi
push eax
mov edx, dword [ebp - 0x18]
add edx, esi
sub edx, dword [ebp + 8]
push edx
call fcn.0056bf52
add esp, 0x1c
cmp dword [ebp - 0x448], 0
jne 0x570ed7
and dword [ebp - 0x47c], 0xf0
mov edx, dword [ebp - 0x47c]
cmp edx, 0x50
je 0x570e9e
cmp edx, 0x60
jne 0x570eae
mov edx, dword [ebp - 0x450]
cmp edx, dword [ebp + 8]
jb 0x570ed7
cmp edx, dword [ebp + 0xc]
ja 0x570ed7
mov edx, dword [ebp - 0x47c]
cmp edx, 0x80
je 0x570ed7
cmp edx, 0xa0
je 0x570ed7
cmp edx, 0xf0
je 0x570ed7
add esi, eax
cmp esi, dword [ebp + 0xc]
jb 0x570e15
cmp esi, dword [ebp + 0xc]
jae 0x570f07
push 0x2024
push 0x4b2cca
push 0x4b2b88
mov eax, dword [0x4d3b7c]
push eax
call fcn.00605520
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 6
je 0x570f07
or eax, 0xffffffff
jmp 0x571455
mov edx, 2
cmp edi, 5
je 0x570f14
add edx, 0xfffffffe
push edx
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp + 8]
push ecx
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x18]
push edx
call fcn.005b7316
add esp, 0x10
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp + 8]
cmp eax, ecx
jne 0x5713c7
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 8]
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x14], eax
cmp esi, dword [ebp + 0xc]
jae 0x5713ae
mov edx, dword [ebx + 0x174]
mov ecx, dword [ebp - 0x14]
test byte [edx + ecx], 2
je 0x5710ed
mov eax, esi
sub eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
xor ecx, ecx
mov cl, byte [edx + eax]
cmp ecx, 0xcc
je 0x5710ed
push 0xc
push 0
push 0
push esi
push 0
call fcn.00583622
mov dword [ebp - 0x10], 1
mov eax, dword [ebx + 0x178]
mov edx, dword [ebp - 0x14]
add esp, 0x14
xor ecx, ecx
mov cl, byte [eax + edx]
mov eax, esi
push ecx
sub eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
xor ecx, ecx
mov cl, byte [edx + eax]
push ecx
push 0x4b243f
push 1
push esi
call fcn.005b0616
add esp, 0x14
mov eax, esi
sub eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov cl, byte [edx + eax]
mov eax, dword [ebx + 0x178]
mov edx, dword [ebp - 0x14]
cmp cl, byte [eax + edx]
jne 0x571020
mov ecx, esi
mov eax, dword [ebp - 0x18]
sub ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [eax + ecx]
lea ecx, [ebp - 0x120]
push edx
push 0xcc
push esi
push 0x4b2478
push ecx
call fcn.005fcc36
add esp, 0x14
lea eax, [ebp - 0x120]
mov edx, dword [0x4d3b7c]
push 0x10
push 0x4b2ce5
push eax
push edx
call fcn.00605520
jmp 0x5710ed
cmp edi, 4
je 0x57102a
cmp edi, 5
jne 0x57109d
mov ecx, dword [ebx + 0x178]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dl, byte [ecx + eax]
mov ecx, esi
push edx
sub ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dl, byte [eax + ecx]
lea ecx, [ebp - 0x120]
push edx
push 0xcc
push esi
push 0x4b255c
push ecx
call fcn.005fcc36
add esp, 0x18
lea eax, [ebp - 0x120]
mov edx, dword [0x4d3b7c]
push 0x13
push 0x4b2ce5
push eax
push edx
call fcn.00605520
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 2
je 0x5713ae
cmp dword [ebp - 4], 6
jne 0x5710ed
mov ecx, dword [ebx + 0x174]
mov eax, dword [ebp - 0x14]
and byte [ecx + eax], 0xfd
jmp 0x5710ed
mov edx, esi
mov ecx, dword [ebp - 0x18]
sub edx, dword [ebp + 8]
xor eax, eax
mov al, byte [ecx + edx]
push eax
xor eax, eax
mov edx, dword [ebx + 0x178]
mov ecx, dword [ebp - 0x14]
mov al, byte [edx + ecx]
lea edx, [ebp - 0x120]
push eax
push 0xcc
push esi
push 0x4b2d01
push edx
call fcn.005fcc36
add esp, 0x18
lea ecx, [ebp - 0x120]
mov eax, dword [0x4d3b7c]
push 0x10
push 0x4b2ce5
push ecx
push eax
call fcn.00605520
cmp edi, 1
je 0x57110a
cmp edi, 2
je 0x57110a
cmp edi, 7
je 0x57110a
cmp edi, 8
je 0x57110a
cmp edi, 9
jne 0x5712b0
mov eax, dword [ebx + 0x16c]
test eax, eax
je 0x571127
mov edx, dword [ebp - 0x14]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
and eax, 0x1f
jmp 0x57112e
xor edx, edx
xor eax, eax
mov dword [ebp - 8], edx
cmp eax, 0x1d
je 0x571141
cmp eax, 0x1e
je 0x571141
cmp eax, 0x1f
jne 0x5713a1
cmp edi, 2
je 0x571150
cmp edi, 8
je 0x571150
cmp edi, 9
jne 0x571164
test byte [ebp - 8], 0x60
je 0x5713a1
test byte [ebp - 8], 0x80
je 0x5713a1
push esi
call fcn.0056fd82
test ah, 1
pop ecx
jne 0x5711ad
mov edx, dword [ebx + 0x174]
mov ecx, dword [ebp - 0x14]
test byte [edx + ecx], 2
jne 0x5711ad
mov eax, esi
sub eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
push dword [edx + eax]
mov ecx, dword [ebx + 0x178]
mov edx, dword [ebp - 0x14]
lea edx, [ecx + edx]
pop ecx
mov byte [edx], cl
mov edx, dword [ebp - 0x18]
mov byte [edx + eax], 0xcc
mov eax, dword [ebx + 0x174]
mov ecx, dword [ebp - 0x14]
or byte [eax + ecx], 2
cmp edi, 7
jne 0x5711d1
mov eax, dword [ebx + 0x174]
mov edx, dword [ebp - 0x14]
mov cl, byte [eax + edx]
and cl, 0xdf
or cl, 0xc0
push ecx
mov edx, dword [ebp - 0x14]
pop ecx
mov byte [eax + edx], cl
jmp 0x5713a1
cmp edi, 8
jne 0x57123a
mov eax, dword [ebp - 8]
and eax, 0x60
cmp eax, 0x20
je 0x5711fc
cmp eax, 0x60
je 0x5711fc
mov eax, dword [ebp - 8]
and eax, 0x1f
cmp eax, 0x1e
je 0x5711fc
mov edx, dword [ebp - 8]
and edx, 0x1f
cmp edx, 0x1f
jne 0x57121b
mov eax, dword [ebx + 0x174]
mov edx, dword [ebp - 0x14]
mov cl, byte [eax + edx]
and cl, 0xdf
or cl, 0xc0
push ecx
mov edx, dword [ebp - 0x14]
pop ecx
mov byte [eax + edx], cl
jmp 0x5713a1
mov eax, dword [ebx + 0x174]
mov edx, dword [ebp - 0x14]
mov cl, byte [eax + edx]
or cl, 0x80
and cl, 0xbf
push ecx
mov edx, dword [ebp - 0x14]
pop ecx
mov byte [eax + edx], cl
jmp 0x5713a1
cmp edi, 9
jne 0x57129e
mov eax, dword [ebp - 8]
and eax, 0x60
cmp eax, 0x20
je 0x571260
mov eax, dword [ebp - 8]
and eax, 0x60
cmp eax, 0x40
jne 0x57127f
mov edx, dword [ebp - 8]
and edx, 0x1f
cmp edx, 0x1f
jne 0x57127f
mov eax, dword [ebx + 0x174]
mov edx, dword [ebp - 0x14]
mov cl, byte [eax + edx]
and cl, 0xdf
or cl, 0xc0
push ecx
mov edx, dword [ebp - 0x14]
pop ecx
mov byte [eax + edx], cl
jmp 0x5713a1
mov eax, dword [ebx + 0x174]
mov edx, dword [ebp - 0x14]
mov cl, byte [eax + edx]
or cl, 0x80
and cl, 0xbf
push ecx
mov edx, dword [ebp - 0x14]
pop ecx
mov byte [eax + edx], cl
jmp 0x5713a1
mov eax, dword [ebx + 0x174]
mov edx, dword [ebp - 0x14]
or byte [eax + edx], 0x80
jmp 0x5713a1
cmp edi, 3
jne 0x57132a
mov eax, dword [ebx + 0x174]
mov ecx, dword [ebp - 0x14]
movzx eax, byte [eax + ecx]
and eax, 0x81
cmp eax, 0x81
jne 0x5713a1
push esi
call fcn.0056fd82
test ah, 1
pop ecx
jne 0x57131b
mov edx, dword [ebx + 0x174]
mov ecx, dword [ebp - 0x14]
test byte [edx + ecx], 2
jne 0x57131b
mov eax, esi
sub eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
push dword [edx + eax]
mov ecx, dword [ebx + 0x178]
mov edx, dword [ebp - 0x14]
lea edx, [ecx + edx]
pop ecx
mov byte [edx], cl
mov edx, dword [ebp - 0x18]
mov byte [edx + eax], 0xcc
mov eax, dword [ebx + 0x174]
mov ecx, dword [ebp - 0x14]
or byte [eax + ecx], 2
mov eax, dword [ebx + 0x174]
mov edx, dword [ebp - 0x14]
and byte [eax + edx], 0xfe
jmp 0x5713a1
cmp edi, 4
je 0x571334
cmp edi, 5
jne 0x571369
mov ecx, dword [ebx + 0x174]
mov eax, dword [ebp - 0x14]
test byte [ecx + eax], 2
je 0x57135a
mov edx, dword [ebx + 0x178]
mov ecx, dword [ebp - 0x14]
mov al, byte [edx + ecx]
mov edx, esi
sub edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
mov byte [ecx + edx], al
mov eax, dword [ebx + 0x174]
mov edx, dword [ebp - 0x14]
mov byte [eax + edx], 0
jmp 0x5713a1
cmp edi, 6
je 0x5713a1
cmp edi, 0xa
jne 0x571382
mov ecx, dword [ebx + 0x174]
mov eax, dword [ebp - 0x14]
and byte [ecx + eax], 0x9f
jmp 0x5713a1
cmp edi, 0xb
jne 0x5713a1
mov eax, dword [ebx + 0x174]
mov edx, dword [ebp - 0x14]
mov cl, byte [eax + edx]
or cl, 0x20
and cl, 0xbf
push ecx
mov edx, dword [ebp - 0x14]
pop ecx
mov byte [eax + edx], cl
inc esi
inc dword [ebp - 0x14]
cmp esi, dword [ebp + 0xc]
jb 0x570f4f
push 0
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x18]
push edx
call fcn.005b7732
add esp, 0x10
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00605100
cmp dword [ebp - 0x1c], 3
jne 0x57140f
mov esi, dword [0x4d7db0]
test esi, esi
je 0x57140f
cmp dword [ebp - 0xc], 0
je 0x5713eb
call fcn.0056f03e
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x571404
mov edx, dword [esi + 0xc]
push edx
call fcn.0060517e
inc dword [ebp - 4]
add esi, 0x66c
mov ecx, dword [ebp - 4]
cmp ecx, dword [0x4d7d98]
jl 0x5713f2
cmp dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x1c]
mov dword [0x4d5a5c], eax
je 0x57144a
cmp dword [0x4d5a5c], 3
jne 0x57144a
push 1
call fcn.0058a29a
pop ecx
cmp dword [0x4de924], 0
je 0x57143c
call fcn.005edbba
cmp dword [0x4e2f10], 0
je 0x57144a
call fcn.005f2d92
mov edx, dword [ebp - 0x20]
push edx
call fcn.00605592
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret