40cc27:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cc2a:	8b 45 dc             	mov    -0x24(%ebp),%eax
40cc2d:	8b 40 f8             	mov    -0x8(%eax),%eax
40cc30:	40                   	inc    %eax
40cc31:	50                   	push   %eax
40cc32:	ff 15 78 33 42 00    	call   *0x423378
40cc38:	8b 8f 08 01 00 00    	mov    0x108(%edi),%ecx
40cc3e:	85 c0                	test   %eax,%eax
40cc40:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40cc43:	8d 45 a8             	lea    -0x58(%ebp),%eax
40cc46:	50                   	push   %eax
40cc47:	6a 01                	push   $0x1
40cc49:	56                   	push   %esi
40cc4a:	51                   	push   %ecx
40cc4b:	74 12                	je     0x40cc5f
40cc4d:	ff 15 40 34 42 00    	call   *0x423440
40cc53:	53                   	push   %ebx
40cc54:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cc57:	ff 15 7c 33 42 00    	call   *0x42337c
40cc5d:	eb 0d                	jmp    0x40cc6c
40cc5f:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
40cc66:	ff 15 40 34 42 00    	call   *0x423440
40cc6c:	6a 7e                	push   $0x7e
40cc6e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cc71:	ff 15 74 33 42 00    	call   *0x423374
40cc77:	8b 45 e8             	mov    -0x18(%ebp),%eax
40cc7a:	2b 45 e0             	sub    -0x20(%ebp),%eax
40cc7d:	89 45 d8             	mov    %eax,-0x28(%ebp)
40cc80:	db 45 d8             	fildl  -0x28(%ebp)
40cc83:	c7 45 bc 02 00 00 00 	movl   $0x2,-0x44(%ebp)
40cc8a:	dd 5d d4             	fstpl  -0x2c(%ebp)
40cc8d:	dd 45 d4             	fldl   -0x2c(%ebp)
40cc90:	dc 0d 88 62 40 00    	fmull  0x406288
40cc96:	e8 74 f9 00 00       	call   0x41c60f
40cc9b:	89 45 b0             	mov    %eax,-0x50(%ebp)
40cc9e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cca1:	8b 45 dc             	mov    -0x24(%ebp),%eax
40cca4:	8b 40 f8             	mov    -0x8(%eax),%eax
40cca7:	40                   	inc    %eax
40cca8:	50                   	push   %eax
40cca9:	ff 15 78 33 42 00    	call   *0x423378
40ccaf:	8b 8f 08 01 00 00    	mov    0x108(%edi),%ecx
40ccb5:	85 c0                	test   %eax,%eax
40ccb7:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40ccba:	8d 45 a8             	lea    -0x58(%ebp),%eax
40ccbd:	50                   	push   %eax
40ccbe:	6a 02                	push   $0x2
40ccc0:	56                   	push   %esi
40ccc1:	51                   	push   %ecx
40ccc2:	74 12                	je     0x40ccd6
40ccc4:	ff 15 40 34 42 00    	call   *0x423440
40ccca:	53                   	push   %ebx
40cccb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40ccce:	ff 15 7c 33 42 00    	call   *0x42337c
40ccd4:	eb 0d                	jmp    0x40cce3
40ccd6:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
40ccdd:	ff 15 40 34 42 00    	call   *0x423440
40cce3:	6a 7f                	push   $0x7f
40cce5:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cce8:	ff 15 74 33 42 00    	call   *0x423374
40ccee:	8b 45 e8             	mov    -0x18(%ebp),%eax
40ccf1:	2b 45 e0             	sub    -0x20(%ebp),%eax
40ccf4:	89 45 d8             	mov    %eax,-0x28(%ebp)
40ccf7:	db 45 d8             	fildl  -0x28(%ebp)
40ccfa:	c7 45 bc 03 00 00 00 	movl   $0x3,-0x44(%ebp)
40cd01:	dd 5d d4             	fstpl  -0x2c(%ebp)
40cd04:	dd 45 d4             	fldl   -0x2c(%ebp)
40cd07:	dc 0d 68 62 40 00    	fmull  0x406268
40cd0d:	e8 fd f8 00 00       	call   0x41c60f
40cd12:	89 45 b0             	mov    %eax,-0x50(%ebp)
40cd15:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cd18:	8b 45 dc             	mov    -0x24(%ebp),%eax
40cd1b:	8b 40 f8             	mov    -0x8(%eax),%eax
40cd1e:	40                   	inc    %eax
40cd1f:	50                   	push   %eax
40cd20:	ff 15 78 33 42 00    	call   *0x423378
40cd26:	8b 8f 08 01 00 00    	mov    0x108(%edi),%ecx
40cd2c:	85 c0                	test   %eax,%eax
40cd2e:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40cd31:	8d 45 a8             	lea    -0x58(%ebp),%eax
40cd34:	50                   	push   %eax
40cd35:	6a 03                	push   $0x3
40cd37:	56                   	push   %esi
40cd38:	51                   	push   %ecx
40cd39:	74 12                	je     0x40cd4d
40cd3b:	ff 15 40 34 42 00    	call   *0x423440
40cd41:	53                   	push   %ebx
40cd42:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cd45:	ff 15 7c 33 42 00    	call   *0x42337c
40cd4b:	eb 0d                	jmp    0x40cd5a
40cd4d:	ff 15 40 34 42 00    	call   *0x423440
40cd53:	c7 45 b4 34 1f 42 00 	movl   $0x421f34,-0x4c(%ebp)
40cd5a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40cd5d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40cd60:	ff 15 44 32 42 00    	call   *0x423244
40cd66:	e8 af f6 00 00       	call   0x41c41a
40cd6b:	c3                   	ret
40cd6c:	8b ff                	mov    %edi,%edi
40cd6e:	55                   	push   %ebp
40cd6f:	8b ec                	mov    %esp,%ebp
40cd71:	83 ec 3c             	sub    $0x3c,%esp
40cd74:	53                   	push   %ebx
40cd75:	56                   	push   %esi
40cd76:	57                   	push   %edi
40cd77:	6a 3c                	push   $0x3c
40cd79:	33 db                	xor    %ebx,%ebx
40cd7b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40cd7e:	53                   	push   %ebx
40cd7f:	50                   	push   %eax
40cd80:	8b f9                	mov    %ecx,%edi
40cd82:	e8 9a f8 00 00       	call   0x41c621
40cd87:	8b 45 08             	mov    0x8(%ebp),%eax
40cd8a:	83 c4 0c             	add    $0xc,%esp
40cd8d:	c7 45 d8 34 1f 42 00 	movl   $0x421f34,-0x28(%ebp)
40cd94:	c7 45 c4 05 00 00 00 	movl   $0x5,-0x3c(%ebp)
40cd9b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40cd9e:	53                   	push   %ebx
40cd9f:	53                   	push   %ebx
40cda0:	68 04 10 00 00       	push   $0x1004
40cda5:	ff b7 08 01 00 00    	push   0x108(%edi)
40cdab:	ff 15 40 34 42 00    	call   *0x423440
40cdb1:	89 45 c8             	mov    %eax,-0x38(%ebp)
40cdb4:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40cdb7:	50                   	push   %eax
40cdb8:	53                   	push   %ebx
40cdb9:	68 4d 10 00 00       	push   $0x104d
40cdbe:	ff b7 08 01 00 00    	push   0x108(%edi)
40cdc4:	ff 15 40 34 42 00    	call   *0x423440
40cdca:	8b f0                	mov    %eax,%esi
40cdcc:	85 f6                	test   %esi,%esi
40cdce:	0f 88 f0 00 00 00    	js     0x40cec4
40cdd4:	53                   	push   %ebx
40cdd5:	56                   	push   %esi
40cdd6:	8d 8f e8 00 00 00    	lea    0xe8(%edi),%ecx
40cddc:	ff 15 1c 31 42 00    	call   *0x42311c
40cde2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40cde5:	8b 43 08             	mov    0x8(%ebx),%eax
40cde8:	8d 4b 08             	lea    0x8(%ebx),%ecx
40cdeb:	8b 40 f8             	mov    -0x8(%eax),%eax
40cdee:	40                   	inc    %eax
40cdef:	50                   	push   %eax
40cdf0:	ff 15 78 33 42 00    	call   *0x423378
40cdf6:	89 45 d8             	mov    %eax,-0x28(%ebp)
40cdf9:	85 c0                	test   %eax,%eax
40cdfb:	0f 84 c3 00 00 00    	je     0x40cec4
40ce01:	33 c0                	xor    %eax,%eax
40ce03:	89 75 c8             	mov    %esi,-0x38(%ebp)
40ce06:	40                   	inc    %eax
40ce07:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40ce0a:	89 45 cc             	mov    %eax,-0x34(%ebp)
40ce0d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40ce10:	50                   	push   %eax
40ce11:	6a 00                	push   $0x0
40ce13:	68 4c 10 00 00       	push   $0x104c
40ce18:	ff b7 08 01 00 00    	push   0x108(%edi)
40ce1e:	ff 15 40 34 42 00    	call   *0x423440
40ce24:	6a ff                	push   $0xffffffff
40ce26:	8d 4b 08             	lea    0x8(%ebx),%ecx
40ce29:	ff 15 7c 33 42 00    	call   *0x42337c
40ce2f:	8d 4b 20             	lea    0x20(%ebx),%ecx
40ce32:	8b 01                	mov    (%ecx),%eax
40ce34:	8b 40 f8             	mov    -0x8(%eax),%eax
40ce37:	40                   	inc    %eax
40ce38:	50                   	push   %eax
40ce39:	ff 15 78 33 42 00    	call   *0x423378
40ce3f:	89 45 d8             	mov    %eax,-0x28(%ebp)
40ce42:	85 c0                	test   %eax,%eax
40ce44:	74 7e                	je     0x40cec4
40ce46:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40ce49:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
40ce50:	50                   	push   %eax
40ce51:	6a 00                	push   $0x0
40ce53:	68 4c 10 00 00       	push   $0x104c
40ce58:	ff b7 08 01 00 00    	push   0x108(%edi)
40ce5e:	89 75 c8             	mov    %esi,-0x38(%ebp)
40ce61:	c7 45 cc 02 00 00 00 	movl   $0x2,-0x34(%ebp)
40ce68:	ff 15 40 34 42 00    	call   *0x423440
40ce6e:	6a ff                	push   $0xffffffff
40ce70:	8d 4b 20             	lea    0x20(%ebx),%ecx
40ce73:	ff 15 7c 33 42 00    	call   *0x42337c
40ce79:	8b 43 24             	mov    0x24(%ebx),%eax
40ce7c:	8d 4b 24             	lea    0x24(%ebx),%ecx
40ce7f:	8b 40 f8             	mov    -0x8(%eax),%eax
40ce82:	40                   	inc    %eax
40ce83:	50                   	push   %eax
40ce84:	ff 15 78 33 42 00    	call   *0x423378
40ce8a:	89 45 d8             	mov    %eax,-0x28(%ebp)
40ce8d:	85 c0                	test   %eax,%eax
40ce8f:	74 33                	je     0x40cec4
40ce91:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40ce94:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
40ce9b:	50                   	push   %eax
40ce9c:	6a 00                	push   $0x0
40ce9e:	68 4c 10 00 00       	push   $0x104c
40cea3:	ff b7 08 01 00 00    	push   0x108(%edi)
40cea9:	89 75 c8             	mov    %esi,-0x38(%ebp)
40ceac:	c7 45 cc 03 00 00 00 	movl   $0x3,-0x34(%ebp)
40ceb3:	ff 15 40 34 42 00    	call   *0x423440
40ceb9:	6a ff                	push   $0xffffffff
40cebb:	8d 4b 24             	lea    0x24(%ebx),%ecx
40cebe:	ff 15 7c 33 42 00    	call   *0x42337c
40cec4:	5f                   	pop    %edi
40cec5:	8b c6                	mov    %esi,%eax
40cec7:	5e                   	pop    %esi
40cec8:	5b                   	pop    %ebx
40cec9:	c9                   	leave
40ceca:	c2 08 00             	ret    $0x8
40cecd:	83 b9 94 00 00 00 00 	cmpl   $0x0,0x94(%ecx)
40ced4:	8b 81 08 01 00 00    	mov    0x108(%ecx),%eax
40ceda:	74 07                	je     0x40cee3
40cedc:	68 00 cf 40 00       	push   $0x40cf00
40cee1:	eb 05                	jmp    0x40cee8
40cee3:	68 c0 cf 40 00       	push   $0x40cfc0
40cee8:	51                   	push   %ecx
40cee9:	68 30 10 00 00       	push   $0x1030
40ceee:	50                   	push   %eax
40ceef:	ff 15 40 34 42 00    	call   *0x423440
40cef5:	c3                   	ret
40cef6:	cc                   	int3
40cef7:	cc                   	int3
40cef8:	cc                   	int3
40cef9:	cc                   	int3
40cefa:	cc                   	int3
40cefb:	cc                   	int3
40cefc:	cc                   	int3
40cefd:	cc                   	int3
40cefe:	cc                   	int3
40ceff:	cc                   	int3
40cf00:	6a 08                	push   $0x8
40cf02:	b8 d0 c7 41 00       	mov    $0x41c7d0,%eax
40cf07:	e8 2c f5 00 00       	call   0x41c438
40cf0c:	33 db                	xor    %ebx,%ebx
40cf0e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40cf11:	8b f3                	mov    %ebx,%esi
40cf13:	ff 15 40 32 42 00    	call   *0x423240
40cf19:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40cf1c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40cf1f:	ff 15 40 32 42 00    	call   *0x423240
40cf25:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40cf29:	8d 45 ec             	lea    -0x14(%ebp),%eax
40cf2c:	8b 7d 10             	mov    0x10(%ebp),%edi
40cf2f:	8b cf                	mov    %edi,%ecx
40cf31:	50                   	push   %eax
40cf32:	ff 75 08             	push   0x8(%ebp)
40cf35:	e8 32 01 00 00       	call   0x40d06c
40cf3a:	85 c0                	test   %eax,%eax
40cf3c:	74 51                	je     0x40cf8f
40cf3e:	8d 45 f0             	lea    -0x10(%ebp),%eax
40cf41:	8b cf                	mov    %edi,%ecx
40cf43:	50                   	push   %eax
40cf44:	ff 75 0c             	push   0xc(%ebp)
40cf47:	e8 20 01 00 00       	call   0x40d06c
40cf4c:	85 c0                	test   %eax,%eax
40cf4e:	74 3f                	je     0x40cf8f
40cf50:	ff 75 f0             	push   -0x10(%ebp)
40cf53:	ff 75 ec             	push   -0x14(%ebp)
40cf56:	ff 15 64 35 42 00    	call   *0x423564
40cf5c:	8b f0                	mov    %eax,%esi
40cf5e:	8b 87 94 00 00 00    	mov    0x94(%edi),%eax
40cf64:	59                   	pop    %ecx
40cf65:	59                   	pop    %ecx
40cf66:	83 e8 01             	sub    $0x1,%eax
40cf69:	74 1a                	je     0x40cf85
40cf6b:	83 e8 01             	sub    $0x1,%eax
40cf6e:	74 0d                	je     0x40cf7d
40cf70:	83 e8 01             	sub    $0x1,%eax
40cf73:	75 1a                	jne    0x40cf8f
40cf75:	39 9f a4 00 00 00    	cmp    %ebx,0xa4(%edi)
40cf7b:	eb 0e                	jmp    0x40cf8b
40cf7d:	39 9f a0 00 00 00    	cmp    %ebx,0xa0(%edi)
40cf83:	eb 06                	jmp    0x40cf8b
40cf85:	39 9f 9c 00 00 00    	cmp    %ebx,0x9c(%edi)
40cf8b:	74 02                	je     0x40cf8f
40cf8d:	f7 de                	neg    %esi
40cf8f:	88 5d fc             	mov    %bl,-0x4(%ebp)
40cf92:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40cf95:	ff 15 44 32 42 00    	call   *0x423244
40cf9b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40cf9f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40cfa2:	ff 15 44 32 42 00    	call   *0x423244
40cfa8:	8b c6                	mov    %esi,%eax
40cfaa:	e8 57 f4 00 00       	call   0x41c406
40cfaf:	c2 0c 00             	ret    $0xc
40cfb2:	cc                   	int3
40cfb3:	cc                   	int3
40cfb4:	cc                   	int3
40cfb5:	cc                   	int3
40cfb6:	cc                   	int3
40cfb7:	cc                   	int3
40cfb8:	cc                   	int3
40cfb9:	cc                   	int3
40cfba:	cc                   	int3
40cfbb:	cc                   	int3
40cfbc:	cc                   	int3
40cfbd:	cc                   	int3
40cfbe:	cc                   	int3
40cfbf:	cc                   	int3
40cfc0:	8b ff                	mov    %edi,%edi
40cfc2:	55                   	push   %ebp
40cfc3:	8b ec                	mov    %esp,%ebp
40cfc5:	83 ec 18             	sub    $0x18,%esp
40cfc8:	53                   	push   %ebx
40cfc9:	56                   	push   %esi
40cfca:	8b 75 10             	mov    0x10(%ebp),%esi
40cfcd:	33 c0                	xor    %eax,%eax
40cfcf:	57                   	push   %edi
40cfd0:	6a 06                	push   $0x6
40cfd2:	59                   	pop    %ecx
40cfd3:	8d 7d e8             	lea    -0x18(%ebp),%edi
40cfd6:	33 db                	xor    %ebx,%ebx
40cfd8:	f3 ab                	rep stos %eax,%es:(%edi)
40cfda:	8b 45 08             	mov    0x8(%ebp),%eax
40cfdd:	89 45 f0             	mov    %eax,-0x10(%ebp)
40cfe0:	8d 45 e8             	lea    -0x18(%ebp),%eax
40cfe3:	50                   	push   %eax
40cfe4:	6a ff                	push   $0xffffffff
40cfe6:	68 53 10 00 00       	push   $0x1053
40cfeb:	ff b6 08 01 00 00    	push   0x108(%esi)
40cff1:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40cff8:	ff 15 40 34 42 00    	call   *0x423440
40cffe:	8b c8                	mov    %eax,%ecx
40d000:	85 c9                	test   %ecx,%ecx
40d002:	78 5f                	js     0x40d063
40d004:	51                   	push   %ecx
40d005:	8d 8e e8 00 00 00    	lea    0xe8(%esi),%ecx
40d00b:	ff 15 20 31 42 00    	call   *0x423120
40d011:	8b f8                	mov    %eax,%edi
40d013:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40d01a:	8b 45 0c             	mov    0xc(%ebp),%eax
40d01d:	89 45 f0             	mov    %eax,-0x10(%ebp)
40d020:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d023:	50                   	push   %eax
40d024:	6a ff                	push   $0xffffffff
40d026:	68 53 10 00 00       	push   $0x1053
40d02b:	ff b6 08 01 00 00    	push   0x108(%esi)
40d031:	ff 15 40 34 42 00    	call   *0x423440
40d037:	85 c0                	test   %eax,%eax
40d039:	78 28                	js     0x40d063
40d03b:	50                   	push   %eax
40d03c:	8d 8e e8 00 00 00    	lea    0xe8(%esi),%ecx
40d042:	ff 15 20 31 42 00    	call   *0x423120
40d048:	3b f8                	cmp    %eax,%edi
40d04a:	74 17                	je     0x40d063
40d04c:	85 ff                	test   %edi,%edi
40d04e:	0f 95 c3             	setne  %bl
40d051:	83 be 98 00 00 00 00 	cmpl   $0x0,0x98(%esi)
40d058:	8d 1c 5d ff ff ff ff 	lea    -0x1(,%ebx,2),%ebx
40d05f:	74 02                	je     0x40d063
40d061:	f7 db                	neg    %ebx
40d063:	5f                   	pop    %edi