Function at 0x4065c9
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov esi, dword [ebp + 8]
push 2
push 0x104
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x18], eax
mov edi, dword [0x44c104]
push dword [esi + 4]
push dword [ebp - 0x18]
call edi
push 0x4411b8
push dword [ebp - 0x18]
call edi
push dword [ebp + 0xc]
push dword [ebp - 0x18]
call edi
push dword [ebp - 0x18]
call fcn.004090a1
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0x8df67443
mov eax, 0x8df67443
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], ecx
cmp eax, 0xdcf2ba7c
jg 0x40665c
cmp eax, 0xa64c72d1
jle 0x4066a1
cmp eax, 0xcc362a7c
jg 0x4066f2
cmp eax, 0xa64c72d2
je 0x406783
cmp eax, 0xbc090d02
jne 0x406627
popal
jmp 0x406653
cmp eax, 0x2752c168
jle 0x4066c7
cmp eax, 0x5df9003b
jg 0x406746
cmp eax, 0x2752c169
je 0x4067e7
cmp eax, 0x3eb92da4
jne 0x406627
mov ecx, dword [ebp - 0x1c]
shl ecx, 0xf
add ecx, 0x7dff9f
shr ecx, 8
mov eax, 0xa64c72d2
and ecx, 0xffc000
mov dword [ebp - 0x1c], ecx
je 0x406627
jmp 0x4066e8
cmp eax, 0x8df67443
je 0x406836
cmp eax, 0x901d2ac4
je 0x406866
cmp eax, 0x927b6d05
je 0x4068ae
jmp 0x406627
cmp eax, 0xdcf2ba7d
je 0x40684f
cmp eax, 0xde8dcad1
je 0x4068c2
cmp eax, 0x25574862
jne 0x406627
mov eax, 0x2752c169
jmp 0x406627
cmp eax, 0xcc362a7d
je 0x40687e
cmp eax, 0xda35ffc3
jne 0x406627
imul ecx, dword [ebp - 0x10], 0x89
add ecx, 0x139
mov eax, ecx
shr eax, 9
imul ecx, ecx
imul edx, ecx, 0x56f7
dec edx
imul eax, eax, 0x62
add eax, 0xe2a
mov dword [ebp - 0x10], eax
mov eax, 0x3eb92da4
cmp ecx, edx
je 0x406627
mov eax, 0x600ad2e7
jmp 0x406627
cmp eax, 0x5df9003c
jne 0x4068f5
mov eax, dword [ebp - 0x10]
shr eax, 0xc
add eax, 0xfffffe47
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x4e0d
dec edx
shl eax, 0xa
add eax, 0xffffffb7
mov dword [ebp - 0x10], eax
mov eax, 0xa64c72d2
cmp edx, ecx
je 0x406627
jmp 0x4068b8
push 2
push 0x104
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x14], eax
mov esi, dword [ebp + 8]
push dword [esi]
push dword [ebp - 0x14]
mov edi, dword [0x44c104]
call edi
mov ebx, 0x441172
push ebx
push dword [ebp - 0x14]
call edi
push dword [esi + 8]
push dword [ebp - 0x14]
call edi
push ebx
push dword [ebp - 0x14]
call edi
push dword [ebp + 0xc]
push dword [ebp - 0x14]
call edi
mov eax, dword [ebp + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0xcc
mov eax, 0xbc090d02
je 0x406627
mov eax, 0xde8dcad1
jmp 0x406627
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x18]
call fcn.00408f28
add esp, 0xc
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x14]
push dword [ebp + 0x10]
call fcn.0041298b
add esp, 0x10
push dword [ebp - 0x14]
call fcn.0042c64b
add esp, 4
push dword [ebp - 0x18]
call fcn.0042c64b
add esp, 4
mov eax, 0xda35ffc3
jmp 0x406627
cmp dword [ebp - 0x34], 0
mov eax, 0x600ad2e7
je 0x406627
mov eax, 0xa64c72d2
jmp 0x406627
mov eax, dword [ebp - 0x28]
movzx eax, word [eax]
cmp eax, 0xcd03
je 0x40687e
movzx eax, ax
cmp eax, 0xf0b
jne 0x4068ae
mov eax, dword [ebp - 0x10]
shl eax, 6
and eax, 0x3ffffc0
imul eax, eax, 0x78
add eax, 0x2286
mov dword [ebp - 0x10], eax
jmp 0x4068a4
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0xea]
imul ecx, ecx
imul edx, ecx, 0x6915
dec edx
add eax, 0x6b
mov dword [ebp - 0x10], eax
mov eax, 0xdcf2ba7d
cmp edx, ecx
je 0x406627
mov eax, 0xbc090d02
jmp 0x406627
imul eax, dword [ebp - 0x10], 0x68
add eax, 0xffffffb2
mov dword [ebp - 0x10], eax
mov eax, 0x25574862
jmp 0x406627
mov ecx, dword [ebp - 0x10]
shr ecx, 0x11
imul eax, ecx, 0xf6
imul ecx, ecx
shr eax, 2
imul edx, ecx, 0x5f25
dec edx
mov dword [ebp - 0x10], eax
mov eax, 0xa64c72d2
cmp ecx, edx
je 0x406627
mov eax, 0xdcf2ba7d
jmp 0x406627
cmp eax, 0x600ad2e7
jne 0x406627
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret