Function at 0x10065470
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
lea eax, [ecx + 0xa08]
mov dword [ebp - 0x10], edx
push 0
push eax
mov dword [ebp - 0xc], ecx
call fcn.1012e0c0
add esp, 8
test eax, eax
je 0x100654b2
push ecx
mov ecx, dword [ebp - 0xc]
mov edx, 6
push eax
call fcn.10063f30
add esp, 8
mov eax, 6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov eax, dword [esi + 0x9d0]
test eax, eax
je 0x100654f5
cmp ebx, eax
jbe 0x100654df
sub ebx, eax
mov dword [esi + 0x9d0], 0
add ecx, eax
mov dword [ebp - 8], ecx
jmp 0x100654e9
sub eax, ebx
xor ebx, ebx
mov dword [esi + 0x9d0], eax
mov eax, dword [esi + 0x9c0]
mov dword [esi + 0x9c8], eax
test ebx, ebx
je 0x100659d9
nop dword [eax]
mov ecx, dword [esi + 0x9c8]
mov edx, dword [esi + 0x9c0]
cmp ecx, edx
jbe 0x10065541
mov edi, dword [esi + 0x9cc]
mov eax, edi
sub eax, edx
add eax, ecx
add eax, ebx
cmp eax, dword [esi + 0x9c4]
jbe 0x10065541
test edi, edi
je 0x10065535
push edi
push ecx
push edx
call fcn.1012d9d0
add esp, 0xc
mov eax, dword [esi + 0x9c0]
mov dword [esi + 0x9c8], eax
mov ecx, dword [esi + 0x9cc]
mov edi, dword [esi + 0x9c4]
lea eax, [ecx + ebx]
cmp eax, edi
ja 0x10065578
mov eax, dword [esi + 0x9c8]
push ebx
push dword [ebp - 8]
add eax, ecx
push eax
call fcn.1012d9d0
add esp, 0xc
mov dword [ebp - 4], 0
add dword [esi + 0x9cc], ebx
jmp 0x100655a3
sub edi, ecx
je 0x10065a1d
mov eax, dword [esi + 0x9c8]
push edi
push dword [ebp - 8]
add eax, ecx
push eax
call fcn.1012d9d0
add dword [esi + 0x9cc], edi
sub ebx, edi
add esp, 0xc
mov dword [ebp - 4], ebx
add dword [ebp - 8], edi
mov eax, dword [esi + 0x9a0]
mov ecx, dword [eax + 0x18]
mov eax, dword [esi + 0x9c8]
mov dword [ecx], eax
mov eax, dword [esi + 0x9a0]
mov ecx, dword [eax + 0x18]
mov eax, dword [esi + 0x9cc]
mov dword [ecx + 4], eax
cmp byte [esi + 0x9ec], 0
jne 0x100656c9
push 1
push dword [esi + 0x9a0]
call fcn.10030390
add esp, 8
test eax, eax
je 0x1006569f
mov edi, dword [esi + 0x9a0]
mov byte [esi + 0x9ec], 1
mov eax, dword [edi + 0x1c]
cmp eax, dword [esi + 0x13c]
jne 0x100659ff
mov eax, dword [edi + 0x20]
cmp eax, dword [esi + 0x140]
jne 0x100659ff
cmp dword [edi + 0x28], 1
jne 0x100659ff
mov eax, dword [edi + 0x14]
cmp eax, 0xca
jl 0x10065631
cmp eax, 0xd2
jle 0x1006564c
mov eax, dword [edi]
push edi
mov dword [eax + 0x14], 0x15
mov ecx, dword [edi]
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x18], eax
mov eax, dword [edi]
mov eax, dword [eax]
call eax
add esp, 4
mov eax, dword [edi + 0x1a0]
mov al, byte [eax + 0x10]
mov byte [esi + 0x9ef], al
test al, al
jne 0x100659ff
mov eax, dword [esi + 0x9a0]
cmp dword [eax + 0x28], 3
mov eax, dword [eax + 0x1c]
jne 0x10065675
lea eax, [eax + eax*2]
mov dword [esi + 0x9e0], eax
push eax
mov eax, dword [esi + 0x98]
call eax
add esp, 4
mov dword [esi + 0x9dc], eax
test eax, eax
je 0x100659e2
mov dword [esi + 0x9fc], 0
cmp byte [esi + 0x9ec], 0
mov ecx, dword [esi + 0x9a0]
mov eax, dword [ecx + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x9c8], eax
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x9cc], eax
je 0x100659ce
cmp byte [esi + 0x9ed], 0
jne 0x1006571a
cmp byte [esi + 0x9ef], 0
je 0x100656e5
mov eax, dword [esi + 0x9a0]
mov byte [eax + 0x40], 1
push dword [esi + 0x9a0]
call fcn.10031470
add esp, 4
cmp al, 1
jne 0x100656fd
mov byte [esi + 0x9ed], al
mov ecx, dword [esi + 0x9a0]
mov eax, dword [ecx + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x9c8], eax
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x9cc], eax
cmp byte [esi + 0x9ec], 0
je 0x100659ce
cmp byte [esi + 0x9ed], 0
je 0x10065909
mov edi, dword [esi + 0x9a0]
mov eax, dword [edi + 0x14]
cmp eax, 0xc8
jl 0x1006574b
cmp eax, 0xd2
jle 0x10065766
mov eax, dword [edi]
push edi
mov dword [eax + 0x14], 0x15
mov ecx, dword [edi]
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x18], eax
mov eax, dword [edi]
mov eax, dword [eax]
call eax
add esp, 4
mov eax, dword [edi + 0x1a0]
cmp byte [eax + 0x11], 0
je 0x10065790
mov ecx, dword [esi + 0x9a0]
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x60]
jae 0x10065909
nop dword [eax]
nop dword [eax + eax]
cmp byte [esi + 0x9ef], 0
mov eax, dword [esi + 0x9dc]
mov dword [ebp - 0x14], eax
je 0x10065830
cmp byte [esi + 0x9ee], 0
je 0x100657bd
mov ecx, dword [esi + 0x9a0]
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x60]
jb 0x10065830
mov edi, dword [esi + 0x9a0]
mov byte [esi + 0x9ee], 1
mov eax, dword [edi + 0x14]
mov ebx, dword [edi + 0x7c]
cmp eax, 0xcf
je 0x100657f9
cmp eax, 0xcc
je 0x100657f9
mov eax, dword [edi]
push edi
mov dword [eax + 0x14], 0x15
mov ecx, dword [edi]
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x18], eax
mov eax, dword [edi]
mov eax, dword [eax]
call eax
add esp, 4
test ebx, ebx
mov eax, 1
cmovle ebx, eax
mov eax, dword [edi + 0x1a0]
cmp byte [eax + 0x11], 0
je 0x10065816
cmp ebx, dword [edi + 0x7c]
cmovg ebx, dword [edi + 0x7c]
mov ecx, edi
mov dword [edi + 0x84], ebx
call fcn.10031580
mov dword [esi + 0x9f8], 0
nop dword [eax]
push 1
lea eax, [ebp - 0x14]
push eax
push dword [esi + 0x9a0]
call fcn.10031650
mov edx, dword [esi + 0x9a0]
mov ebx, eax
add esp, 0xc
mov ecx, dword [edx + 0x18]
mov ecx, dword [ecx]
mov dword [esi + 0x9c8], ecx
mov ecx, dword [edx + 0x18]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x9cc], ecx
test ebx, ebx
jle 0x1006587f
mov eax, dword [esi + 0x9f4]
test eax, eax
je 0x1006587f
push esi
call eax
add esp, 4
test eax, eax
jne 0x100659db
mov ecx, dword [esi + 0x9a0]
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x60]
jae 0x10065891
test ebx, ebx
jg 0x10065830
cmp byte [esi + 0x9ef], 0
je 0x100658c3
mov ecx, dword [esi + 0x9a0]
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x60]
jb 0x100658c3
call fcn.100317b0
test al, al
jne 0x100658bc
mov ecx, dword [esi + 0x9a0]
call fcn.100317b0
mov byte [esi + 0x9ee], 0
mov edi, dword [esi + 0x9a0]
mov eax, dword [edi + 0x14]
cmp eax, 0xc8
jl 0x100658da
cmp eax, 0xd2
jle 0x100658f5
mov eax, dword [edi]
push edi
mov dword [eax + 0x14], 0x15
mov ecx, dword [edi]
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x18], eax
mov eax, dword [edi]
mov eax, dword [eax]
call eax
add esp, 4
mov eax, dword [edi + 0x1a0]
cmp byte [eax + 0x11], 0
jne 0x10065909
test ebx, ebx
jg 0x10065790
cmp byte [esi + 0x9ec], 0
je 0x100659ce
cmp byte [esi + 0x9ed], 0
je 0x100659ce
mov edi, dword [esi + 0x9a0]
mov eax, dword [edi + 0x14]
cmp eax, 0xc8
jl 0x1006593a
cmp eax, 0xd2
jle 0x10065955
mov eax, dword [edi]
push edi
mov dword [eax + 0x14], 0x15
mov ecx, dword [edi]
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x18], eax
mov eax, dword [edi]
mov eax, dword [eax]
call eax
add esp, 4
mov eax, dword [edi + 0x1a0]
cmp byte [eax + 0x11], 0
je 0x100659ce
mov ecx, dword [esi + 0x9a0]
mov eax, dword [ecx + 0x7c]
cmp eax, dword [ecx + 0x84]
jne 0x100659ce
push ecx
call fcn.10030500
add esp, 4
cmp al, 1
jne 0x100659ce
mov ecx, dword [esi + 0x9a0]
mov word [esi + 0x9ec], 0
mov eax, dword [ecx + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x9c8], eax
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x9cc], eax
test eax, eax
jne 0x100659b0
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x100659d1
push ecx
push 0
mov edx, 0x41f
mov ecx, esi
call fcn.10063f30
add esp, 8
mov eax, 0x41f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 4]
test ebx, ebx
jne 0x10065500
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov ebx, 1
mov ecx, esi
push 0
mov edx, ebx
call fcn.10063f30
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
push 0
mov edx, 0x420
mov ecx, esi
call fcn.10063f30
add esp, 8
mov eax, 0x420
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
push 0
mov edx, 0xd
mov ecx, esi
call fcn.10063f30
add esp, 8
mov eax, 0xd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret