Function at 0x56a960
Capabilities:
Check for software breakpoints

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x56aede
sub esp, 0x48
lea eax, [0x5cbc60]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
lea edx, [0x5df215]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xe
call fcn.0040f660
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
cmp edx, 1
jle 0x56a9bc
mov ebx, dword [ecx]
mov ebp, dword [ecx + 4]
jmp 0x56abfb
movzx ebx, byte [esp + 0x4c]
test bl, bl
je 0x56a9ff
mov ebp, dword [esp + 0x58]
cmp ebp, 4
jne 0x56a9ff
mov ebp, dword [esp + 0x54]
cmp dword [ebp], 0x44414548
jne 0x56a9ff
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
add esp, 0x48
ret
mov eax, 0x51eb851f
mov ebp, dword [esp + 0x50]
mov esi, edx
imul ebp
sar edx, 5
mov edi, ebp
sar ebp, 0x1f
sub edx, ebp
cmp edx, 1
je 0x56aa91
cmp edi, 0xcc
je 0x56aa6d
cmp edi, 0x130
je 0x56aa6d
movzx eax, byte [esp + 0x60]
test al, al
jne 0x56aa49
cmp esi, 1
jne 0x56aa43
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x56aba2
xor eax, eax
xor ecx, ecx
jmp 0x56aab5
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
add esp, 0x48
ret
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
add esp, 0x48
ret
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
add esp, 0x48
ret
test eax, eax
je 0x56ab15
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0056c0a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
test eax, eax
je 0x56aaf9
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
add esp, 0x48
ret
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
add esp, 0x48
ret
nop
lea eax, [0x5df215]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.0054f400
lea eax, [0x5c4a60]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.00410080
movzx eax, byte [esp + 0x4c]
test al, al
je 0x56ab6f
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
add esp, 0x48
ret
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
add esp, 0x48
ret
dec ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add eax, ecx
mov ecx, edx
test ecx, ecx
je 0x56abc0
movzx edx, byte [eax]
cmp dl, 0x20
je 0x56ab93
cmp dl, 9
je 0x56ab93
cmp dl, 0xa
je 0x56ab93
cmp dl, 0xd
je 0x56ab93
jmp 0x56abc0
dec ecx
test ecx, ecx
je 0x56abdd
movzx edx, byte [ecx + eax - 1]
cmp dl, 0x20
je 0x56abbf
cmp dl, 9
je 0x56abbf
cmp dl, 0xa
je 0x56abbf
cmp dl, 0xd
je 0x56abbf
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x56aab5
dec ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebx, ebp
mov ebp, esi
test ebp, ebp
je 0x56ac21
movzx esi, byte [ebx]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x56abe8
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x56abe8
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x56abe8
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x56abe8
jmp 0x56ac21
dec ebp
test ebp, ebp
je 0x56ac46
movzx esi, byte [ebx + ebp - 1]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x56ac20
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x56ac20
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x56ac20
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x56ac20
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x38], ecx
lea esi, [edx - 1]
mov dword [esp + 0x30], esi
xor edi, edi
jmp 0x56ac84
mov eax, dword [esp + 0x2c]
lea edi, [eax + 1]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x20]
cmp edi, esi
jge 0x56accd
lea esi, [ecx + edi*8 + 8]
mov eax, dword [esi]
mov esi, dword [esi + 4]
jmp 0x56ae03
mov edx, dword [esp + 0x24]
jmp 0x56ae28
mov edx, dword [esp + 0x24]
cmp esi, ebp
jne 0x56ae56
mov dword [esp + 0x2c], edi
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x56ac65
jmp 0x56ae4e
nop
lea eax, [0x5df215]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.0054f400
lea eax, [0x5c4a60]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
call fcn.00410080
nop
lea eax, [0x5df215]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.0054f400
lea eax, [0x5c4a60]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
call fcn.0040fcf0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
inc ebx
cmp edx, ebx
jae 0x56ad8a
mov dword [esp + 0x3c], eax
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5a6c60]
mov dword [esp + 0x10], eax
call fcn.00449e30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x3c]
mov dword [edi + 8], edx
mov edx, dword [0x7adde0]
test edx, edx
jne 0x56ad7f
mov dword [edi], eax
jmp 0x56ad84
call fcn.00462400
mov ebx, ecx
mov ecx, eax
mov eax, edi
mov dword [eax + 4], ebx
lea edx, [ecx + ebx*8 - 4]
mov ebp, dword [esp + 0x20]
mov dword [edx], ebp
lea edi, [ecx + ebx*8 - 8]
mov ecx, dword [0x7adde0]
test ecx, ecx
jne 0x56adad
mov eax, dword [esp + 0x34]
mov dword [edi], eax
jmp 0x56adb6
mov eax, dword [esp + 0x34]
call fcn.00462400
lea eax, [0x5cbc60]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
lea ecx, [0x5df215]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xe
call fcn.0040f660
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
jmp 0x56a9bc
dec esi
mov edx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add eax, esi
mov esi, edx
mov edx, dword [esp + 0x24]
test esi, esi
je 0x56ae28
movzx edx, byte [eax]
cmp dl, 0x20
je 0x56adec
cmp dl, 9
je 0x56adec
cmp dl, 0xa
je 0x56adec
cmp dl, 0xd
je 0x56adec
jmp 0x56ac96
dec esi
mov edx, dword [esp + 0x24]
test esi, esi
je 0x56aca3
movzx edx, byte [eax + esi - 1]
cmp dl, 0x20
je 0x56ae23
cmp dl, 9
je 0x56ae23
cmp dl, 0xa
je 0x56ae23
cmp dl, 0xd
je 0x56ae23
jmp 0x56ac9f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp], ecx
mov dword [esp + 4], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
call fcn.00409610
mov eax, dword [esp + 0xc]
lea ecx, [0x59f280]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
lea eax, [0x5efc13]
mov dword [esp], eax
mov dword [esp + 4], 0x44
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004af570
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
add esp, 0x48
ret
call fcn.00460ff0
jmp fcn.0056a960