40cd76:	a1 f4 51 41 00       	mov    0x4151f4,%eax
40cd7b:	33 c5                	xor    %ebp,%eax
40cd7d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cd80:	53                   	push   %ebx
40cd81:	8b 5d 08             	mov    0x8(%ebp),%ebx
40cd84:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
40cd8a:	56                   	push   %esi
40cd8b:	57                   	push   %edi
40cd8c:	8b 7d 0c             	mov    0xc(%ebp),%edi
40cd8f:	33 c9                	xor    %ecx,%ecx
40cd91:	50                   	push   %eax
40cd92:	8d 85 f4 fb ff ff    	lea    -0x40c(%ebp),%eax
40cd98:	89 8d f0 fb ff ff    	mov    %ecx,-0x410(%ebp)
40cd9e:	50                   	push   %eax
40cd9f:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
40cda5:	c7 85 f4 fb ff ff 00 	movl   $0x200,-0x40c(%ebp)
40cdac:	02 00 00
40cdaf:	50                   	push   %eax
40cdb0:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
40cdb6:	89 0f                	mov    %ecx,(%edi)
40cdb8:	50                   	push   %eax
40cdb9:	51                   	push   %ecx
40cdba:	53                   	push   %ebx
40cdbb:	ff 15 00 80 41 00    	call   *0x418000
40cdc1:	ff 15 68 61 41 00    	call   *0x416168
40cdc7:	8b f0                	mov    %eax,%esi
40cdc9:	83 fe 7a             	cmp    $0x7a,%esi
40cdcc:	74 11                	je     0x40cddf
40cdce:	6a 00                	push   $0x0
40cdd0:	68 40 37 40 00       	push   $0x403740
40cdd5:	68 a8 05 00 00       	push   $0x5a8
40cdda:	e9 81 00 00 00       	jmp    0x40ce60
40cddf:	ff b5 f0 fb ff ff    	push   -0x410(%ebp)
40cde5:	33 f6                	xor    %esi,%esi
40cde7:	56                   	push   %esi
40cde8:	ff 15 e0 60 41 00    	call   *0x4160e0
40cdee:	50                   	push   %eax
40cdef:	ff 15 dc 60 41 00    	call   *0x4160dc
40cdf5:	89 07                	mov    %eax,(%edi)
40cdf7:	85 c0                	test   %eax,%eax
40cdf9:	75 1f                	jne    0x40ce1a
40cdfb:	6a 08                	push   $0x8
40cdfd:	5e                   	pop    %esi
40cdfe:	68 0e 00 07 80       	push   $0x8007000e
40ce03:	68 40 37 40 00       	push   $0x403740
40ce08:	68 b1 05 00 00       	push   $0x5b1
40ce0d:	68 d0 34 40 00       	push   $0x4034d0
40ce12:	51                   	push   %ecx
40ce13:	e8 ba 41 00 00       	call   0x410fd2
40ce18:	eb 55                	jmp    0x40ce6f
40ce1a:	8d 8d ec fb ff ff    	lea    -0x414(%ebp),%ecx
40ce20:	c7 85 f4 fb ff ff 00 	movl   $0x200,-0x40c(%ebp)
40ce27:	02 00 00
40ce2a:	51                   	push   %ecx
40ce2b:	8d 8d f4 fb ff ff    	lea    -0x40c(%ebp),%ecx
40ce31:	51                   	push   %ecx
40ce32:	8d 8d f8 fb ff ff    	lea    -0x408(%ebp),%ecx
40ce38:	51                   	push   %ecx
40ce39:	8d 8d f0 fb ff ff    	lea    -0x410(%ebp),%ecx
40ce3f:	51                   	push   %ecx
40ce40:	50                   	push   %eax
40ce41:	53                   	push   %ebx
40ce42:	ff 15 00 80 41 00    	call   *0x418000
40ce48:	85 c0                	test   %eax,%eax
40ce4a:	75 3c                	jne    0x40ce88
40ce4c:	ff 15 68 61 41 00    	call   *0x416168
40ce52:	6a 00                	push   $0x0
40ce54:	68 40 37 40 00       	push   $0x403740
40ce59:	8b f0                	mov    %eax,%esi
40ce5b:	68 bf 05 00 00       	push   $0x5bf
40ce60:	68 d0 34 40 00       	push   $0x4034d0
40ce65:	51                   	push   %ecx
40ce66:	e8 67 41 00 00       	call   0x410fd2
40ce6b:	85 f6                	test   %esi,%esi
40ce6d:	74 19                	je     0x40ce88
40ce6f:	83 3f 00             	cmpl   $0x0,(%edi)
40ce72:	74 14                	je     0x40ce88
40ce74:	ff 37                	push   (%edi)
40ce76:	6a 00                	push   $0x0
40ce78:	ff 15 e0 60 41 00    	call   *0x4160e0
40ce7e:	50                   	push   %eax
40ce7f:	ff 15 e4 60 41 00    	call   *0x4160e4
40ce85:	83 27 00             	andl   $0x0,(%edi)
40ce88:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ce8b:	8b c6                	mov    %esi,%eax
40ce8d:	5f                   	pop    %edi
40ce8e:	5e                   	pop    %esi
40ce8f:	33 cd                	xor    %ebp,%ecx
40ce91:	5b                   	pop    %ebx
40ce92:	e8 59 51 00 00       	call   0x411ff0
40ce97:	c9                   	leave
40ce98:	c2 08 00             	ret    $0x8
40ce9b:	8b ff                	mov    %edi,%edi
40ce9d:	55                   	push   %ebp
40ce9e:	8b ec                	mov    %esp,%ebp
40cea0:	51                   	push   %ecx
40cea1:	51                   	push   %ecx
40cea2:	53                   	push   %ebx
40cea3:	56                   	push   %esi
40cea4:	57                   	push   %edi
40cea5:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cea8:	33 db                	xor    %ebx,%ebx
40ceaa:	50                   	push   %eax
40ceab:	ff 75 08             	push   0x8(%ebp)
40ceae:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40ceb1:	e8 b5 fe ff ff       	call   0x40cd6b
40ceb6:	8b 7d fc             	mov    -0x4(%ebp),%edi
40ceb9:	8b f0                	mov    %eax,%esi
40cebb:	85 f6                	test   %esi,%esi
40cebd:	74 18                	je     0x40ced7
40cebf:	53                   	push   %ebx
40cec0:	68 80 37 40 00       	push   $0x403780
40cec5:	68 d4 05 00 00       	push   $0x5d4
40ceca:	68 d0 34 40 00       	push   $0x4034d0
40cecf:	51                   	push   %ecx
40ced0:	e8 fd 40 00 00       	call   0x410fd2
40ced5:	eb 75                	jmp    0x40cf4c
40ced7:	57                   	push   %edi
40ced8:	68 30 3b 40 00       	push   $0x403b30
40cedd:	51                   	push   %ecx
40cede:	e8 b2 f0 ff ff       	call   0x40bf95
40cee3:	8b f0                	mov    %eax,%esi
40cee5:	85 f6                	test   %esi,%esi
40cee7:	74 0d                	je     0x40cef6
40cee9:	53                   	push   %ebx
40ceea:	68 80 37 40 00       	push   $0x403780
40ceef:	68 e0 05 00 00       	push   $0x5e0
40cef4:	eb d4                	jmp    0x40ceca
40cef6:	57                   	push   %edi
40cef7:	68 68 3a 40 00       	push   $0x403a68
40cefc:	51                   	push   %ecx
40cefd:	e8 93 f0 ff ff       	call   0x40bf95
40cf02:	8b f0                	mov    %eax,%esi
40cf04:	85 f6                	test   %esi,%esi
40cf06:	74 0d                	je     0x40cf15
40cf08:	53                   	push   %ebx
40cf09:	68 80 37 40 00       	push   $0x403780
40cf0e:	68 ec 05 00 00       	push   $0x5ec
40cf13:	eb b5                	jmp    0x40ceca
40cf15:	51                   	push   %ecx
40cf16:	51                   	push   %ecx
40cf17:	e8 21 f4 ff ff       	call   0x40c33d
40cf1c:	8b f0                	mov    %eax,%esi
40cf1e:	85 f6                	test   %esi,%esi
40cf20:	74 0d                	je     0x40cf2f
40cf22:	53                   	push   %ebx
40cf23:	68 80 37 40 00       	push   $0x403780
40cf28:	68 f8 05 00 00       	push   $0x5f8
40cf2d:	eb 9b                	jmp    0x40ceca
40cf2f:	57                   	push   %edi
40cf30:	51                   	push   %ecx
40cf31:	51                   	push   %ecx
40cf32:	e8 c8 f4 ff ff       	call   0x40c3ff
40cf37:	8b f0                	mov    %eax,%esi
40cf39:	85 f6                	test   %esi,%esi
40cf3b:	74 0d                	je     0x40cf4a
40cf3d:	53                   	push   %ebx
40cf3e:	68 80 37 40 00       	push   $0x403780
40cf43:	68 04 06 00 00       	push   $0x604
40cf48:	eb 80                	jmp    0x40ceca
40cf4a:	8b f3                	mov    %ebx,%esi
40cf4c:	85 ff                	test   %edi,%edi
40cf4e:	74 0f                	je     0x40cf5f
40cf50:	57                   	push   %edi
40cf51:	53                   	push   %ebx
40cf52:	ff 15 e0 60 41 00    	call   *0x4160e0
40cf58:	50                   	push   %eax
40cf59:	ff 15 e4 60 41 00    	call   *0x4160e4
40cf5f:	5f                   	pop    %edi
40cf60:	8b c6                	mov    %esi,%eax
40cf62:	5e                   	pop    %esi
40cf63:	5b                   	pop    %ebx
40cf64:	c9                   	leave
40cf65:	c2 04 00             	ret    $0x4
40cf68:	8b ff                	mov    %edi,%edi
40cf6a:	55                   	push   %ebp
40cf6b:	8b ec                	mov    %esp,%ebp
40cf6d:	51                   	push   %ecx
40cf6e:	51                   	push   %ecx
40cf6f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cf73:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cf76:	57                   	push   %edi
40cf77:	50                   	push   %eax
40cf78:	ff 75 08             	push   0x8(%ebp)
40cf7b:	e8 eb fd ff ff       	call   0x40cd6b
40cf80:	8b f8                	mov    %eax,%edi
40cf82:	85 ff                	test   %edi,%edi
40cf84:	74 19                	je     0x40cf9f
40cf86:	6a 00                	push   $0x0
40cf88:	68 d8 37 40 00       	push   $0x4037d8
40cf8d:	68 1a 06 00 00       	push   $0x61a
40cf92:	68 d0 34 40 00       	push   $0x4034d0
40cf97:	51                   	push   %ecx
40cf98:	e8 35 40 00 00       	call   0x410fd2
40cf9d:	eb 22                	jmp    0x40cfc1
40cf9f:	ff 75 fc             	push   -0x4(%ebp)
40cfa2:	51                   	push   %ecx
40cfa3:	51                   	push   %ecx
40cfa4:	e8 cb f7 ff ff       	call   0x40c774
40cfa9:	68 30 3b 40 00       	push   $0x403b30
40cfae:	51                   	push   %ecx
40cfaf:	e8 42 fa ff ff       	call   0x40c9f6
40cfb4:	68 68 3a 40 00       	push   $0x403a68
40cfb9:	51                   	push   %ecx
40cfba:	e8 37 fa ff ff       	call   0x40c9f6
40cfbf:	33 ff                	xor    %edi,%edi
40cfc1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40cfc5:	74 12                	je     0x40cfd9
40cfc7:	ff 75 fc             	push   -0x4(%ebp)
40cfca:	6a 00                	push   $0x0
40cfcc:	ff 15 e0 60 41 00    	call   *0x4160e0
40cfd2:	50                   	push   %eax
40cfd3:	ff 15 e4 60 41 00    	call   *0x4160e4
40cfd9:	8b c7                	mov    %edi,%eax
40cfdb:	5f                   	pop    %edi
40cfdc:	c9                   	leave
40cfdd:	c2 04 00             	ret    $0x4
40cfe0:	8b ff                	mov    %edi,%edi
40cfe2:	55                   	push   %ebp
40cfe3:	8b ec                	mov    %esp,%ebp
40cfe5:	51                   	push   %ecx
40cfe6:	51                   	push   %ecx
40cfe7:	53                   	push   %ebx
40cfe8:	56                   	push   %esi
40cfe9:	57                   	push   %edi
40cfea:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cfed:	33 ff                	xor    %edi,%edi
40cfef:	50                   	push   %eax
40cff0:	47                   	inc    %edi
40cff1:	57                   	push   %edi
40cff2:	ff 75 08             	push   0x8(%ebp)
40cff5:	6a 00                	push   $0x0
40cff7:	ff 15 18 63 41 00    	call   *0x416318
40cffd:	8b d8                	mov    %eax,%ebx
40cfff:	be d0 34 40 00       	mov    $0x4034d0,%esi
40d004:	56                   	push   %esi
40d005:	85 db                	test   %ebx,%ebx
40d007:	75 20                	jne    0x40d029
40d009:	68 4b 06 00 00       	push   $0x64b
40d00e:	68 f8 2a 40 00       	push   $0x402af8
40d013:	e8 05 3f 00 00       	call   0x410f1d
40d018:	ff 75 fc             	push   -0x4(%ebp)
40d01b:	ff 15 04 63 41 00    	call   *0x416304
40d021:	56                   	push   %esi
40d022:	68 4e 06 00 00       	push   $0x64e
40d027:	eb 1e                	jmp    0x40d047
40d029:	68 51 06 00 00       	push   $0x651
40d02e:	68 f8 2a 40 00       	push   $0x402af8
40d033:	e8 e5 3e 00 00       	call   0x410f1d
40d038:	53                   	push   %ebx
40d039:	ff 15 20 61 41 00    	call   *0x416120
40d03f:	56                   	push   %esi
40d040:	33 ff                	xor    %edi,%edi
40d042:	68 54 06 00 00       	push   $0x654
40d047:	68 68 2c 40 00       	push   $0x402c68
40d04c:	e8 cc 3e 00 00       	call   0x410f1d
40d051:	8b c7                	mov    %edi,%eax
40d053:	5f                   	pop    %edi
40d054:	5e                   	pop    %esi
40d055:	5b                   	pop    %ebx
40d056:	c9                   	leave
40d057:	c2 04 00             	ret    $0x4
40d05a:	8b ff                	mov    %edi,%edi
40d05c:	55                   	push   %ebp
40d05d:	8b ec                	mov    %esp,%ebp
40d05f:	51                   	push   %ecx
40d060:	51                   	push   %ecx
40d061:	8b 45 08             	mov    0x8(%ebp),%eax
40d064:	56                   	push   %esi
40d065:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d068:	33 f6                	xor    %esi,%esi
40d06a:	8b 45 0c             	mov    0xc(%ebp),%eax
40d06d:	56                   	push   %esi
40d06e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d071:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d074:	50                   	push   %eax
40d075:	6a 01                	push   $0x1
40d077:	56                   	push   %esi
40d078:	ff 15 14 63 41 00    	call   *0x416314
40d07e:	85 c0                	test   %eax,%eax
40d080:	74 29                	je     0x40d0ab
40d082:	3d af 08 00 00       	cmp    $0x8af,%eax
40d087:	74 22                	je     0x40d0ab
40d089:	3d 63 05 00 00       	cmp    $0x563,%eax
40d08e:	74 1b                	je     0x40d0ab
40d090:	56                   	push   %esi
40d091:	68 2c 38 40 00       	push   $0x40382c
40d096:	68 6c 06 00 00       	push   $0x66c
40d09b:	68 d0 34 40 00       	push   $0x4034d0
40d0a0:	51                   	push   %ecx
40d0a1:	e8 2c 3f 00 00       	call   0x410fd2
40d0a6:	be 05 40 00 80       	mov    $0x80004005,%esi
40d0ab:	8b c6                	mov    %esi,%eax
40d0ad:	5e                   	pop    %esi
40d0ae:	c9                   	leave
40d0af:	c2 08 00             	ret    $0x8
40d0b2:	8b ff                	mov    %edi,%edi
40d0b4:	55                   	push   %ebp
40d0b5:	8b ec                	mov    %esp,%ebp
40d0b7:	81 ec 1c 06 00 00    	sub    $0x61c,%esp
40d0bd:	a1 f4 51 41 00       	mov    0x4151f4,%eax
40d0c2:	33 c5                	xor    %ebp,%eax
40d0c4:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d0c7:	53                   	push   %ebx
40d0c8:	56                   	push   %esi
40d0c9:	57                   	push   %edi
40d0ca:	68 05 01 00 00       	push   $0x105
40d0cf:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
40d0d5:	50                   	push   %eax
40d0d6:	ff 15 24 61 41 00    	call   *0x416124
40d0dc:	85 c0                	test   %eax,%eax
40d0de:	75 20                	jne    0x40d100
40d0e0:	50                   	push   %eax
40d0e1:	68 70 38 40 00       	push   $0x403870
40d0e6:	68 b0 06 00 00       	push   $0x6b0
40d0eb:	68 d0 34 40 00       	push   $0x4034d0
40d0f0:	51                   	push   %ecx
40d0f1:	e8 dc 3e 00 00       	call   0x410fd2
40d0f6:	be 05 40 00 80       	mov    $0x80004005,%esi
40d0fb:	e9 3e 01 00 00       	jmp    0x40d23e
40d100:	68 dc 39 40 00       	push   $0x4039dc
40d105:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
40d10b:	50                   	push   %eax
40d10c:	68 b8 38 40 00       	push   $0x4038b8
40d111:	68 04 01 00 00       	push   $0x104
40d116:	50                   	push   %eax
40d117:	e8 b6 df ff ff       	call   0x40b0d2
40d11c:	8b f0                	mov    %eax,%esi
40d11e:	83 c4 14             	add    $0x14,%esp
40d121:	85 f6                	test   %esi,%esi
40d123:	79 1c                	jns    0x40d141
40d125:	6a 00                	push   $0x0
40d127:	68 70 38 40 00       	push   $0x403870
40d12c:	68 bc 06 00 00       	push   $0x6bc
40d131:	68 d0 34 40 00       	push   $0x4034d0
40d136:	51                   	push   %ecx
40d137:	e8 96 3e 00 00       	call   0x410fd2
40d13c:	e9 fd 00 00 00       	jmp    0x40d23e
40d141:	6a 02                	push   $0x2
40d143:	33 db                	xor    %ebx,%ebx
40d145:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
40d14b:	53                   	push   %ebx
40d14c:	50                   	push   %eax
40d14d:	ff 15 d8 60 41 00    	call   *0x4160d8
40d153:	8b f8                	mov    %eax,%edi
40d155:	85 ff                	test   %edi,%edi
40d157:	75 0d                	jne    0x40d166
40d159:	53                   	push   %ebx
40d15a:	68 70 38 40 00       	push   $0x403870
40d15f:	68 c5 06 00 00       	push   $0x6c5