Function at 0x40bd29
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
mov dword [ebp - 0x10], 0xc0e8a4b4
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
cmp eax, 0xf884ad7e
jle 0x40bd7e
cmp eax, 0x330f3696
jg 0x40bdb7
cmp eax, 0xfcc75bdf
jle 0x40bea5
cmp eax, 0x1e738788
jg 0x40bfc8
cmp eax, 0xfcc75be0
je 0x40c103
cmp eax, 0x1c54db40
jne 0x40bd3c
mov dword [ebp - 0x10], 0xc3e74681
jmp 0x40bd3c
cmp eax, 0xc0e8a4b3
jle 0x40be15
cmp eax, 0xdf892bd1
jle 0x40bedb
cmp eax, 0xf6c95840
jg 0x40c00f
cmp eax, 0xdf892bd2
je 0x40c141
cmp eax, 0xf3a5ca91
je 0x40becf
jmp 0x40bd3c
cmp eax, 0x69ab8b65
jg 0x40bf2c
cmp eax, 0x666363fd
jle 0x40c0c7
cmp eax, 0x666363fe
je 0x40c094
cmp eax, 0x68d27ac5
jne 0x40bd3c
mov dword [esp + 4], 1
mov dword [esp], 8
call fcn.00447c47
mov dword [ebp - 0x20], eax
mov dword [esp], 0x18
call fcn.00448a24
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0xf3a5ca91
jmp 0x40bd3c
cmp eax, 0x972b7563
jg 0x40bf59
cmp eax, 0x80249ff4
je 0x40c0a9
cmp eax, 0x84d55917
je 0x40c169
cmp eax, 0x884ae913
jne 0x40bd3c
mov esi, edi
shl esi, 5
sub esi, edi
sub esi, edi
add esi, 0xffffffe1
mov edi, esi
shr edi, 9
mov dword [esp], edi
mov dword [esp + 8], 0x2eef
mov dword [esp + 4], 0x1f9
call fcn.0040bd29
mov dword [esp], edi
mov dword [esp + 0xc], 0x3297
mov dword [esp + 8], 0x5f40
mov dword [esp + 4], 0x2b69
call fcn.0040c41c
mov eax, 0x1e738789
cmp esi, 0x2600
jae 0x40c346
mov eax, 0xf946f9cd
jmp 0x40c346
cmp eax, 0xf884ad7f
je 0x40c184
cmp eax, 0xf8f83abb
je 0x40c1b2
cmp eax, 0xf946f9cd
jne 0x40bd3c
imul edi, edi, 0x6aa40000
add edi, 0xffffff96
mov dword [ebp - 0x10], 0xf87de6dd
jmp 0x40bd3c
cmp eax, 0xc0e8a4b4
je 0x40c201
cmp eax, 0xc3e74681
je 0x40c21b
cmp eax, 0xccfc78f4
jne 0x40bd3c
mov eax, dword [ebp - 0x14]
shr eax, 3
add eax, 0x47
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x654f
shl eax, 6
lea eax, [eax + eax*2]
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0xf87de6dd
cmp edx, ecx
jne 0x40c261
jmp 0x40c346
cmp eax, 0x69ab8b66
je 0x40c246
cmp eax, 0x6ea7539c
je 0x40c26b
cmp eax, 0x7db0b7c6
jne 0x40bd3c
mov dword [ebp - 0x10], 0x68d27ac5
jmp 0x40bd3c
cmp eax, 0x972b7564
je 0x40bf95
cmp eax, 0x9dde28c2
je 0x40c2ab
cmp eax, 0xb053617b
jne 0x40bd3c
mov eax, dword [ebp - 0x28]
movzx eax, word [eax]
cmp eax, 0xcd03
je 0x40c094
movzx eax, ax
cmp eax, 0xf0b
jne 0x40c0a9
mov eax, dword [ebp - 0x14]
imul ecx, eax, 0xed
imul ecx, ecx
imul edx, ecx, 0x3849
dec edx
imul eax, eax, 0x2491800
mov dword [ebp - 0x14], eax
mov eax, 0x884ae913
cmp ecx, edx
je 0x40c346
mov eax, 0x666363fe
jmp 0x40c346
cmp eax, 0x1e738789
je 0x40c2d3
cmp eax, 0x218043f0
jne 0x40bd3c
add edi, 0xa7
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5cc7
mov dword [esp], 0x4e96
call fcn.0040bd29
mov eax, 0x666363fe
cmp edi, 5
jb 0x40c341
jmp 0x40c346
cmp eax, 0xf6c95841
je 0x40c310
cmp eax, 0xf87de6dd
jne 0x40bd3c
mov dword [esp + 4], 0x45fd82
mov dword [esp], 0x8e2e05fe
call fcn.00439a28
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], 0x18
call eax
sub esp, 0x14
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov dword [esp], eax
call fcn.00448a24
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 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 - 0x10], 0xccfc78f4
jmp 0x40bd3c
mov dword [ebp - 0x2c], edi
popal
jmp 0x40c098
imul eax, dword [ebp - 0x14], 0x1960
shr eax, 4
and eax, 0xfffff00
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x1c54db40
jmp 0x40bd3c
cmp eax, 0x330f3697
jne 0x40c34e
mov eax, dword [ebp - 0x14]
shr eax, 0xc
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x24b3
add eax, 0xc7
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0x84d55917
cmp edx, ecx
je 0x40c346
mov eax, 0xb053617b
jmp 0x40c346
mov eax, dword [ebp - 0x14]
mov ecx, 0xc3
add eax, ecx
mov ecx, eax
shr ecx, 6
imul eax, eax
imul edx, eax, 0x1d2b
dec edx
imul ecx, ecx, 0xaf
add ecx, 0x9506
mov dword [ebp - 0x14], ecx
mov ecx, 0xf8f83abb
cmp eax, edx
je 0x40c139
mov ecx, 0x666363fe
mov dword [ebp - 0x10], ecx
jmp 0x40bd3c
shl edi, 0xd
add edi, 0x2284000
and edi, 0xfffc0000
or edi, 0xa3
mov eax, 0x69ab8b66
cmp edi, 0x20
jge 0x40c341
jmp 0x40c346
mov cl, byte [ebp - 0x15]
mov eax, 0xfcc75be0
cmp cl, 0xcc
je 0x40c346
mov eax, 0x330f3697
jmp 0x40c346
mov esi, edi
add esi, 0x26
mov edi, esi
shr edi, 4
add edi, 0xac
mov dword [esp], edi
call fcn.0040b528
mov eax, 0xf87de6dd
cmp esi, 0x310
jae 0x40c261
jmp 0x40c346
add edi, 0xffffffa1
shr edi, 3
imul edi, edi, 0x63
add edi, 0x15a2
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0x4ef5
mov dword [esp + 4], 0x5dee
mov dword [esp], 0x10b2
call fcn.0040c41c
mov dword [esp], edi
call fcn.0040c3bb
mov eax, 0xf884ad7f
cmp edi, 0x2d
jb 0x40c346
mov eax, 0xf6c95841
jmp 0x40c346
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0040b528
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0x7db0b7c6
jmp 0x40bd3c
mov dword [esp + 4], 0x45fd82
mov dword [esp], 0x7c6afafe
call fcn.00439a28
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0x433b5a8b
jmp 0x40bd3c
shr edi, 0xd
lea edi, [edi*4 - 0x269]
mov eax, 0x218043f0
cmp edi, 0xbf
je 0x40c346
mov eax, 0x84d55917
jmp 0x40c346
shr edi, 0xa
imul edi, edi, 0x2c
add edi, 0x2547
mov dword [esp], edi
mov dword [esp + 0xc], 0x1a2f
mov dword [esp + 8], 0x5b59
mov dword [esp + 4], 0x545b
call fcn.0040c41c
mov dword [esp], edi
call fcn.0040b528
mov dword [ebp - 0x10], 0xb053617b
jmp 0x40bd3c
mov eax, dword [ebp - 0x14]
shr eax, 0xf
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x2f6d
dec edx
add eax, 0x41
mov dword [ebp - 0x14], eax
mov eax, 0xdf892bd2
cmp ecx, edx
je 0x40c346
mov eax, 0x1c54db40
jmp 0x40c346
shl edi, 7
mov dword [esp + 0xc], 0x1eca
mov dword [esp + 4], 0x2f9b
mov dword [esp], 0x1b85
mov esi, 0x84d55917
add edi, 0x6b00
mov dword [esp + 8], edi
je 0x40c303
mov esi, 0xf87de6dd
call fcn.0040c41c
mov dword [ebp - 0x10], esi
jmp 0x40bd3c
shr edi, 4
imul edi, edi, 0xf8
add edi, 0x43d0
mov dword [esp + 8], edi
mov dword [esp + 4], 0x4b4c
mov dword [esp], 0x2acd
call fcn.0040bd29
mov eax, 0x84d55917
cmp edi, 0x75
jge 0x40c346
mov eax, 0x68d27ac5
mov dword [ebp - 0x10], eax
jmp 0x40bd3c
cmp eax, 0x433b5a8b
jne 0x40bd3c
mov dword [ebp - 0x30], edi
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x38]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
xor edx, edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov dword [esp + 4], edx
mov dword [esp], eax
call ecx
sub esp, 0x24
mov dword [esp + 4], 0x45fd82
mov dword [esp], 0xee81f141
call fcn.00439a28
mov ecx, dword [ebp - 0x1c]
mov dword [esp], ecx
call eax
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret