Function at 0x101563f0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 8], ecx
jmp 0x1015640c
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1015642b
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ecx + 0xc]
jle 0x1015642b
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
sub ecx, dword [eax + 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x10156404
cmp dword [ebp - 8], 0
jne 0x10156438
xor eax, eax
jmp 0x10156602
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0xc]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 2
je 0x10156531
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.10155cb0
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x10156477
xor eax, eax
jmp 0x10156602
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x18], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
sub ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x20], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x10]
and eax, 1
je 0x101564ab
jmp 0x10156591
cmp dword [ebp - 0x10], 0xcc
jbe 0x10156514
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
add edx, 0xcc
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
xor ecx, ecx
jne 0x101564b4
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.101563f0
add esp, 0xc
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 0
jne 0x10156500
mov ecx, dword [ebp - 4]
push ecx
call fcn.10155d70
add esp, 4
xor eax, eax
jmp 0x10156602
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], 0
mov eax, dword [ebp - 4]
jmp 0x10156602
mov eax, 0xcc
sub eax, dword [ebp - 0x10]
and eax, 0xfffffffc
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 8], eax
xor eax, eax
jne 0x10156514
jmp 0x10156591
cmp dword [ebp - 0x10], 0
jne 0x10156552
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
mov dword [eax], 0
mov eax, dword [ebp - 4]
jmp 0x10156602
mov ecx, dword [ebp - 8]
movzx edx, word [ecx + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.10155d10
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x10156576
xor eax, eax
jmp 0x10156602
mov ecx, 0xe8
sub ecx, dword [ebp - 0x10]
and ecx, 0xfffffffc
mov edx, dword [ebp - 4]
add ecx, dword [edx + 8]
mov eax, dword [ebp - 4]
mov dword [eax + 8], ecx
xor ecx, ecx
jne 0x10156576
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x10]
and eax, 1
je 0x101565bd
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 8]
add edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.10157c50
add esp, 8
jmp 0x101565da
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 8]
add edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
push ecx
call fcn.10316b20
add esp, 0xc
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 8]
mov dword [eax], 0
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret