Function at 0x408a8c
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov esi, dword [ebp + 8]
mov edi, 0x104
push 2
push edi
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x24], eax
push 0x442b32
push 0x7328f505
call fcn.004204d4
add esp, 8
push edi
push dword [ebp - 0x24]
push esi
call eax
mov dword [ebp - 0x20], 0
xor esi, esi
inc esi
mov edi, 8
push esi
push edi
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x1c], eax
push esi
push edi
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x38], eax
push esi
push 0x18
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov al, byte [eax]
mov byte [ebp - 0x15], al
mov dword [ebp - 0x30], 0xec1ae820
mov eax, 0xec1ae820
mov edi, dword [ebp - 0x34]
cmp eax, 0xf9b8cbee
jg 0x408b5d
cmp eax, 0xb9a360cc
jle 0x408bc3
cmp eax, 0xd6e2ff17
jle 0x408c5b
cmp eax, 0xd6e2ff18
je 0x408d7e
cmp eax, 0xec1ae820
jne 0x408e46
mov cl, byte [ebp - 0x15]
mov eax, 0x6bc14ec9
cmp cl, 0xcc
je 0x408b18
jmp 0x408c51
cmp eax, 0x25e6dbdd
jg 0x408c02
cmp eax, 0x17d19e4a
jg 0x408ca0
cmp eax, 0xf9b8cbef
je 0x408da6
cmp eax, 0xfad1b1b1
jne 0x408b18
imul esi, edi, 0x54f5
add esi, 0xfffffef4
mov edi, esi
shr edi, 0xe
push edi
call fcn.004090a1
add esp, 4
push edi
call fcn.004090a1
add esp, 4
mov eax, 0x74d3974c
cmp esi, 0xcc000
jae 0x408b18
mov eax, 0xa3ca849d
jmp 0x408b18
cmp eax, 0xa3ca849c
jg 0x408cef
cmp eax, 0x971633db
je 0x408de0
cmp eax, 0x9ca3797c
jne 0x408b18
lea eax, [edi*8 - 0x30]
shr eax, 0xf
imul edi, eax, 0x4c
add edi, 0xffffe8d8
push edi
call fcn.004090a1
jmp 0x408e05
cmp eax, 0x6bc14ec8
jg 0x408d06
cmp eax, 0x25e6dbde
je 0x408d40
cmp eax, 0x3dfa35e2
jne 0x408b18
shr edi, 0xc
add edi, 0x84
shr edi, 0x14
add edi, 0xffffff47
push 0xd99
push edi
push 0x4390
call fcn.00408f28
add esp, 0xc
push edi
call fcn.00408a8c
add esp, 4
mov eax, 0x74d3974c
jmp 0x408b18
cmp eax, 0xb9a360cd
je 0x408d33
cmp eax, 0xcb46c623
jne 0x408b18
shl edi, 0x15
add edi, 0x3ff3c0
push edi
call fcn.00408a8c
add esp, 4
push 0x4944
push edi
push 0x3d5f
call fcn.00408f28
add esp, 0xc
mov eax, 0x1c399552
jmp 0x408b18
cmp eax, 0x17d19e4b
je 0x408de8
cmp eax, 0x1c399552
jne 0x408b18
lea edi, [edi*8 - 0x480]
push edi
push 0x73c
push 0x5809
call fcn.00408f28
add esp, 0xc
push edi
call fcn.004090a1
add esp, 4
mov eax, 0x9ca3797c
cmp edi, 0xe8
jl 0x408b18
jmp 0x408e08
cmp eax, 0xa3ca849d
je 0x408e12
cmp eax, 0xb1bc8a42
je 0x408d55
jmp 0x408b18
cmp eax, 0x6bc14ec9
je 0x408e33
cmp eax, 0x74d3974c
jne 0x408b18
mov eax, dword [ebp - 0x28]
movzx eax, word [eax]
cmp eax, 0xcd03
je 0x408d40
movzx eax, ax
cmp eax, 0xf0b
jne 0x408d55
mov eax, dword [ebp - 0x10]
shl eax, 0x17
or eax, 0x1b5c
jmp 0x408d4d
mov eax, dword [ebp - 0x10]
mov ecx, 0xfffffc00
and eax, ecx
add eax, 0xffffff88
mov dword [ebp - 0x10], eax
jmp 0x408e08
mov ecx, dword [ebp - 0x10]
mov eax, 0xffffff0c
add ecx, eax
imul eax, ecx, 0xc100
imul ecx, ecx
imul edx, ecx, 0x6e31
dec edx
add eax, 0xffff1e3e
mov dword [ebp - 0x10], eax
mov eax, 0x74d3974c
jmp 0x408dce
imul edi, edi, 0x15c
add edi, 0xfffffdd1
push edi
call fcn.004090a1
add esp, 4
push edi
call fcn.00408a8c
add esp, 4
mov eax, 0x17d19e4b
jmp 0x408b18
mov ecx, dword [ebp - 0x10]
mov eax, 0xffffff20
add ecx, eax
shr ecx, 9
imul eax, ecx, 0x22c00
imul ecx, ecx
imul edx, ecx, 0x6033
dec edx
add eax, 0xffffffd1
mov dword [ebp - 0x10], eax
mov eax, 0xcb46c623
cmp edx, ecx
je 0x408b18
mov eax, 0xdbb36fbb
jmp 0x408b18
imul edi, edi, 0x69
shr edi, 0x11
jmp 0x408e08
lea eax, [edi + edi*2]
shl eax, 3
sub eax, edi
shr eax, 9
imul edi, eax, 0xc5
add edi, 0x382d
push edi
call fcn.00408a8c
add esp, 4
mov eax, 0x6bc14ec9
jmp 0x408b18
shr edi, 3
imul edi, edi, 0x5200
mov eax, 0x74d3974c
cmp edi, 0x29
jge 0x408b18
mov eax, 0x3dfa35e2
jmp 0x408b18
mov dword [ebp - 0x2c], edi
popal
jmp 0x408e37
cmp eax, 0xdbb36fbb
jne 0x408b18
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], edi
push 2
push 0x118
call fcn.0042bc6e
add esp, 8
mov esi, eax
mov edi, dword [0x44c104]
push 0x442db4
push eax
call edi
push dword [ebp - 0x24]
push esi
call edi
mov edi, dword [0x44c110]
push esi
call edi
add eax, eax
mov ecx, dword [ebp - 0x1c]
mov word [ecx], ax
push esi
call edi
add eax, eax
add eax, 2
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 2], ax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], 0x18
mov eax, dword [ebp - 0x14]
xor esi, esi
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xc], 0x40
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], esi
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x14], esi
mov ebx, 0x442dbe
push ebx
push 0xb5ca9f40
call fcn.004204d4
add esp, 8
lea ecx, [ebp - 0x20]
push esi
push esi
push 0x20
push 1
push 3
push 0x80
push esi
push dword [ebp - 0x38]
push dword [ebp - 0x14]
push 0x120089
push ecx
call eax
mov edi, eax
push ebx
push 0x77bf809f
call fcn.004204d4
add esp, 8
push edi
call eax
test edi, edi
js 0x408f1e
mov esi, dword [ebp - 0x20]
mov eax, esi
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret