Function at 0x64e7b8
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x14
push 0
push 0
dec ecx
jne 0x64e7c0
push ecx
push ebx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00406be8
xor eax, eax
push ebp
push 0x64ecd6
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x436c2c]
call fcn.00443b94
mov dword [ebp - 0x18], eax
mov dl, 1
mov eax, dword [0x436c2c]
call fcn.00443b94
mov dword [ebp - 0x10], eax
mov dl, 1
mov eax, dword [0x436c2c]
call fcn.00443b94
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x64ec6c
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x64ec46
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x6c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
push eax
mov ecx, 0x64ecf0
mov edx, 0x64ed04
mov eax, dword [ebp - 0x38]
call fcn.0044e3bc
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea eax, [ebp - 0xc]
call fcn.00406b04
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jl 0x64ec3a
lea ecx, [ebp - 0x70]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x70]
lea edx, [ebp - 0x24]
call fcn.0041dba0
test al, al
je 0x64ec3a
mov eax, dword [ebp - 0x24]
cmp eax, 0xcd
jg 0x64e8de
je 0x64ea87
sub eax, 0xc8
je 0x64e900
dec eax
je 0x64e922
dec eax
je 0x64e94c
dec eax
je 0x64e976
jmp 0x64ec3a
sub eax, 0xce
je 0x64eb10
dec eax
je 0x64eb72
sub eax, 0x318
je 0x64eba2
jmp 0x64ec3a
lea ecx, [ebp - 0x74]
mov edx, 1
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x668878]
call fcn.00406ec4
jmp 0x64ec3a
lea ecx, [ebp - 0x78]
mov edx, 1
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x78]
mov edx, 0x64ed18
call fcn.00407b0c
sete al
mov byte [0x670099], al
jmp 0x64ec3a
lea ecx, [ebp - 0x7c]
mov edx, 1
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x7c]
mov edx, 0x64ed18
call fcn.00407b0c
sete al
mov byte [0x670098], al
jmp 0x64ec3a
lea ecx, [ebp - 0x80]
mov edx, 1
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x44]
push eax
mov ecx, 0x64ecf0
mov edx, 0x64ed28
mov eax, dword [ebp - 0x40]
call fcn.0044e3bc
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 3
jl 0x64ec3a
lea ecx, [ebp - 0x84]
mov edx, 1
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x20]
call fcn.0041dba0
test al, al
je 0x64ec3a
lea ecx, [ebp - 0x88]
mov edx, 2
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x88]
lea edx, [ebp - 0x1c]
call fcn.0041dba0
test al, al
je 0x64ec3a
mov ax, word [ebp - 0x20]
mov word [0x670088], ax
mov ax, word [ebp - 0x1c]
mov word [0x67008a], ax
cmp byte [0x67009a], 0
jne 0x64ec3a
lea ecx, [ebp - 0x94]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x94]
lea eax, [ebp - 0x90]
mov ecx, 0
call fcn.0040757c
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x8c]
mov edx, 0x64ed38
call fcn.004ee318
mov edx, dword [ebp - 0x8c]
mov eax, 0x66ff88
mov ecx, 0xff
call fcn.00407250
jmp 0x64ec3a
lea ecx, [ebp - 0x98]
mov edx, 1
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x98]
lea edx, [ebp - 0x30]
call fcn.0041dc38
test al, al
je 0x64ec3a
call fcn.0041ffc4
fstp qword [ebp - 0x50]
wait
push 0x40d8f840
push 0
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
call fcn.0044ffe8
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
fld qword [ebp - 0x50]
fcomp dword [0x64ed40]
wait
fnstsw ax
sahf
jae 0x64eaf3
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
neg eax
adc edx, 0
neg edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x58]
sbb edx, dword [ebp - 0x54]
mov dword [0x670090], eax
mov dword [0x670094], edx
jmp 0x64ec3a
lea ecx, [ebp - 0x9c]
mov edx, 1
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x9c]
mov eax, 0x67009b
mov ecx, 0xff
call fcn.00407884
mov eax, 0x67009b
mov edx, 0x64ed44
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004070f4
sete byte [0x6701a0]
push 0
push 0x1f5
push 0x40b
mov eax, dword [ebp - 4]
call fcn.00485c08
push eax
call sub.user32.dll_PostMessageW
jmp 0x64ec3a
lea ecx, [ebp - 0xa0]
mov edx, 1
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xa0]
mov edx, 0x64ed54
call fcn.00407b0c
setne al
mov byte [0x67009a], al
jmp 0x64ec3a
lea ecx, [ebp - 0xa4]
mov edx, 1
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xa4]
lea edx, [ebp - 0xc]
call fcn.0041d480
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x64ebda
mov eax, dword [ebp - 0x5c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x64ec3a
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x64ebf7
mov eax, dword [ebp - 0x60]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0xfa
jge 0x64ec3a
mov eax, dword [ebp - 4]
call fcn.00485c08
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x64]
push eax
mov ecx, 0x64ecf0
mov edx, 0x64ed64
mov eax, dword [ebp - 0xc]
call fcn.0044e3bc
push 0x40
push 0x64ed70
mov eax, dword [ebp - 0x64]
call fcn.00407770
push eax
mov eax, dword [ebp - 0x68]
push eax
call sub.user32.dll_MessageBoxW
inc dword [ebp - 0x28]
dec dword [ebp - 0x34]
jne 0x64e847
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x64ec73
mov eax, dword [ebp - 0x18]
call fcn.00405098
mov eax, dword [ebp - 0x10]
call fcn.00405098
mov eax, dword [ebp - 0x14]
call fcn.00405098
ret