Function at 0x10064c80
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
lea eax, [ecx + 0xa08]
mov dword [ebp - 0x14], edx
push 0
push eax
mov dword [ebp - 0xc], ecx
call fcn.1012e0c0
add esp, 8
test eax, eax
je 0x10064cc2
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 - 0x14]
mov dword [ebp - 8], ecx
mov eax, dword [esi + 0x9bc]
test eax, eax
je 0x10064d05
cmp ebx, eax
jbe 0x10064cef
sub ebx, eax
mov dword [esi + 0x9bc], 0
add ecx, eax
mov dword [ebp - 8], ecx
jmp 0x10064cf9
sub eax, ebx
xor ebx, ebx
mov dword [esi + 0x9bc], eax
mov eax, dword [esi + 0x9ac]
mov dword [esi + 0x9b4], eax
test ebx, ebx
je 0x10065256
nop dword [eax]
mov ecx, dword [esi + 0x9b4]
mov edx, dword [esi + 0x9ac]
cmp ecx, edx
jbe 0x10064d51
mov edi, dword [esi + 0x9b8]
mov eax, edi
sub eax, edx
add eax, ecx
add eax, ebx
cmp eax, dword [esi + 0x9b0]
jbe 0x10064d51
test edi, edi
je 0x10064d45
push edi
push ecx
push edx
call fcn.1012d9d0
add esp, 0xc
mov eax, dword [esi + 0x9ac]
mov dword [esi + 0x9b4], eax
mov ecx, dword [esi + 0x9b8]
mov edi, dword [esi + 0x9b0]
lea eax, [ecx + ebx]
cmp eax, edi
ja 0x10064d88
mov eax, dword [esi + 0x9b4]
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 + 0x9b8], ebx
jmp 0x10064db3
sub edi, ecx
je 0x1006529a
mov eax, dword [esi + 0x9b4]
push edi
push dword [ebp - 8]
add eax, ecx
push eax
call fcn.1012d9d0
add dword [esi + 0x9b8], edi
sub ebx, edi
add esp, 0xc
mov dword [ebp - 4], ebx
add dword [ebp - 8], edi
mov eax, dword [esi + 0x994]
mov ecx, dword [eax + 0x18]
mov eax, dword [esi + 0x9b4]
mov dword [ecx], eax
mov eax, dword [esi + 0x994]
mov ecx, dword [eax + 0x18]
mov eax, dword [esi + 0x9b8]
mov dword [ecx + 4], eax
cmp byte [esi + 0x9e6], 0
jne 0x10064f0d
push 1
push dword [esi + 0x994]
call fcn.10030390
add esp, 8
test eax, eax
je 0x10064ee3
mov edi, dword [esi + 0x994]
mov byte [esi + 0x9e6], 1
mov eax, dword [edi + 0x1c]
cmp eax, dword [esi + 0x13c]
jne 0x1006527c
mov eax, dword [edi + 0x20]
cmp eax, dword [esi + 0x140]
jne 0x1006527c
mov al, byte [esi + 0x150]
cmp al, 8
je 0x10064e34
cmp al, 0xc
jne 0x10064e3e
cmp dword [edi + 0x28], 1
jne 0x1006527c
cmp al, 0xa
je 0x10064e46
cmp al, 0xe
jne 0x10064e50
cmp dword [edi + 0x28], 3
jne 0x1006527c
mov eax, dword [edi + 0x14]
cmp eax, 0xca
jl 0x10064e61
cmp eax, 0xd2
jle 0x10064e7c
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 + 0x9ea], al
test al, al
je 0x10064ea7
mov al, byte [esi + 0x150]
cmp al, 0xc
je 0x10064e9d
cmp al, 0xe
jne 0x10064ea7
mov dword [esi + 0x3c8], 0
mov eax, dword [esi + 0x994]
cmp dword [eax + 0x28], 3
mov eax, dword [eax + 0x1c]
jne 0x10064eb9
lea eax, [eax + eax*2]
mov dword [esi + 0x9d8], eax
push eax
mov eax, dword [esi + 0x98]
call eax
add esp, 4
mov dword [esi + 0x9d4], eax
test eax, eax
je 0x1006525f
mov dword [esi + 0xa00], 0
cmp byte [esi + 0x9e6], 0
mov ecx, dword [esi + 0x994]
mov eax, dword [ecx + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x9b4], eax
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x9b8], eax
je 0x1006524b
cmp byte [esi + 0x9e7], 0
jne 0x10064f5e
cmp byte [esi + 0x9ea], 0
je 0x10064f29
mov eax, dword [esi + 0x994]
mov byte [eax + 0x40], 1
push dword [esi + 0x994]
call fcn.10031470
add esp, 4
cmp al, 1
jne 0x10064f41
mov byte [esi + 0x9e7], al
mov ecx, dword [esi + 0x994]
mov eax, dword [ecx + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x9b4], eax
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x9b8], eax
cmp byte [esi + 0x9e6], 0
je 0x1006524b
cmp byte [esi + 0x9e7], 0
je 0x10065179
mov edi, dword [esi + 0x994]
mov eax, dword [edi + 0x14]
cmp eax, 0xc8
jl 0x10064f8f
cmp eax, 0xd2
jle 0x10064faa
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 0x10064fde
mov ecx, dword [esi + 0x994]
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x60]
jb 0x10064fde
cmp byte [esi + 0x9ea], 0
je 0x10065179
cmp byte [esi + 0x9e9], 0
je 0x10065179
xor ebx, ebx
mov dword [ebp - 0x10], ebx
nop dword [eax]
nop word [eax + eax]
cmp byte [esi + 0x9ea], 0
mov eax, dword [esi + 0x9d4]
mov dword [ebp - 0x18], eax
je 0x10065094
cmp byte [esi + 0x9e8], 0
jne 0x10065082
mov edi, dword [esi + 0x994]
mov byte [esi + 0x9e8], 1
mov eax, dword [edi + 0x14]
mov ebx, dword [edi + 0x7c]
cmp eax, 0xcf
je 0x1006504b
cmp eax, 0xcc
je 0x1006504b
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 0x10065068
cmp ebx, dword [edi + 0x7c]
cmovg ebx, dword [edi + 0x7c]
mov ecx, edi
mov dword [edi + 0x84], ebx
call fcn.10031580
mov ebx, dword [ebp - 0x10]
mov dword [esi + 0x9f8], 0
cmp byte [esi + 0x9ea], 0
je 0x10065094
cmp byte [esi + 0x9e9], 0
jne 0x100650f8
push 1
lea eax, [ebp - 0x18]
push eax
push dword [esi + 0x994]
call fcn.10031650
mov edx, dword [esi + 0x994]
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x10], ebx
mov ecx, dword [edx + 0x18]
mov ecx, dword [ecx]
mov dword [esi + 0x9b4], ecx
mov ecx, dword [edx + 0x18]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x9b8], ecx
test ebx, ebx
jle 0x100650e6
mov eax, dword [esi + 0x9f0]
test eax, eax
je 0x100650e6
push esi
call eax
add esp, 4
test eax, eax
jne 0x10065258
mov ecx, dword [esi + 0x994]
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x60]
jae 0x100650f8
test ebx, ebx
jg 0x10065094
cmp byte [esi + 0x9ea], 0
je 0x1006512a
mov ecx, dword [esi + 0x994]
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x60]
jb 0x1006512a
call fcn.100317b0
test al, al
je 0x10065123
mov word [esi + 0x9e8], 0
jmp 0x1006512a
mov byte [esi + 0x9e9], 1
mov edi, dword [esi + 0x994]
mov eax, dword [edi + 0x14]
cmp eax, 0xc8
jl 0x10065141
cmp eax, 0xd2
jle 0x1006515c
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 0x10065179
test ebx, ebx
jle 0x10065179
cmp byte [esi + 0x9e9], 0
je 0x10064ff0
cmp byte [esi + 0x9e6], 0
je 0x1006524b
cmp byte [esi + 0x9e7], 0
je 0x1006524b
cmp byte [esi + 0x9e9], 0
jne 0x1006524b
mov edi, dword [esi + 0x994]
mov eax, dword [edi + 0x14]
cmp eax, 0xc8
jl 0x100651b7
cmp eax, 0xd2
jle 0x100651d2
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 0x1006524b
mov ecx, dword [esi + 0x994]
mov eax, dword [ecx + 0x7c]
cmp eax, dword [ecx + 0x84]
jne 0x1006524b
push ecx
call fcn.10030500
add esp, 4
cmp al, 1
jne 0x1006524b
mov ecx, dword [esi + 0x994]
mov word [esi + 0x9e6], 0
mov eax, dword [ecx + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x9b4], eax
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x9b8], eax
test eax, eax
jne 0x1006522d
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x1006524e
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 0x10064d10
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