409cdf:	40                   	inc    %eax
409ce0:	50                   	push   %eax
409ce1:	56                   	push   %esi
409ce2:	57                   	push   %edi
409ce3:	ff 75 b8             	push   -0x48(%ebp)
409ce6:	e8 0b 7d 00 00       	call   0x4119f6
409ceb:	83 c4 10             	add    $0x10,%esp
409cee:	85 c0                	test   %eax,%eax
409cf0:	74 11                	je     0x409d03
409cf2:	33 f6                	xor    %esi,%esi
409cf4:	56                   	push   %esi
409cf5:	56                   	push   %esi
409cf6:	56                   	push   %esi
409cf7:	56                   	push   %esi
409cf8:	56                   	push   %esi
409cf9:	e8 56 d8 ff ff       	call   0x407554
409cfe:	83 c4 14             	add    $0x14,%esp
409d01:	eb 02                	jmp    0x409d05
409d03:	33 f6                	xor    %esi,%esi
409d05:	39 75 bc             	cmp    %esi,-0x44(%ebp)
409d08:	74 0e                	je     0x409d18
409d0a:	6a 06                	push   $0x6
409d0c:	53                   	push   %ebx
409d0d:	ff 75 bc             	push   -0x44(%ebp)
409d10:	e8 bb be ff ff       	call   0x405bd0
409d15:	83 c4 0c             	add    $0xc,%esp
409d18:	39 75 c0             	cmp    %esi,-0x40(%ebp)
409d1b:	74 10                	je     0x409d2d
409d1d:	6a 04                	push   $0x4
409d1f:	ff 75 b4             	push   -0x4c(%ebp)
409d22:	ff 75 c0             	push   -0x40(%ebp)
409d25:	e8 a6 be ff ff       	call   0x405bd0
409d2a:	83 c4 0c             	add    $0xc,%esp
409d2d:	ff 75 c8             	push   -0x38(%ebp)
409d30:	ff 75 70             	push   0x70(%ebp)
409d33:	ff 75 c4             	push   -0x3c(%ebp)
409d36:	e8 60 0f 00 00       	call   0x40ac9b
409d3b:	83 c4 0c             	add    $0xc,%esp
409d3e:	85 c0                	test   %eax,%eax
409d40:	74 0d                	je     0x409d4f
409d42:	56                   	push   %esi
409d43:	56                   	push   %esi
409d44:	56                   	push   %esi
409d45:	56                   	push   %esi
409d46:	56                   	push   %esi
409d47:	e8 08 d8 ff ff       	call   0x407554
409d4c:	83 c4 14             	add    $0x14,%esp
409d4f:	8b 45 c8             	mov    -0x38(%ebp),%eax
409d52:	eb 02                	jmp    0x409d56
409d54:	33 c0                	xor    %eax,%eax
409d56:	8b 4d 5c             	mov    0x5c(%ebp),%ecx
409d59:	5f                   	pop    %edi
409d5a:	5e                   	pop    %esi
409d5b:	33 cd                	xor    %ebp,%ecx
409d5d:	5b                   	pop    %ebx
409d5e:	e8 d2 c1 ff ff       	call   0x405f35
409d63:	83 c5 60             	add    $0x60,%ebp
409d66:	c9                   	leave
409d67:	c3                   	ret
409d68:	55                   	push   %ebp
409d69:	8d 6c 24 8c          	lea    -0x74(%esp),%ebp
409d6d:	81 ec c4 01 00 00    	sub    $0x1c4,%esp
409d73:	a1 20 c5 41 00       	mov    0x41c520,%eax
409d78:	33 c5                	xor    %ebp,%eax
409d7a:	89 45 70             	mov    %eax,0x70(%ebp)
409d7d:	53                   	push   %ebx
409d7e:	57                   	push   %edi
409d7f:	8b d9                	mov    %ecx,%ebx
409d81:	e8 c6 27 00 00       	call   0x40c54c
409d86:	ff 75 7c             	push   0x7c(%ebp)
409d89:	8b f8                	mov    %eax,%edi
409d8b:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
409d91:	50                   	push   %eax
409d92:	8d 85 c4 fe ff ff    	lea    -0x13c(%ebp),%eax
409d98:	50                   	push   %eax
409d99:	68 83 00 00 00       	push   $0x83
409d9e:	8d 45 ec             	lea    -0x14(%ebp),%eax
409da1:	50                   	push   %eax
409da2:	53                   	push   %ebx
409da3:	81 c7 d0 01 00 00    	add    $0x1d0,%edi
409da9:	e8 e6 fd ff ff       	call   0x409b94
409dae:	83 c4 18             	add    $0x18,%esp
409db1:	85 c0                	test   %eax,%eax
409db3:	75 07                	jne    0x409dbc
409db5:	33 c0                	xor    %eax,%eax
409db7:	e9 91 02 00 00       	jmp    0x40a04d
409dbc:	8b 45 7c             	mov    0x7c(%ebp),%eax
409dbf:	c1 e0 04             	shl    $0x4,%eax
409dc2:	8d 1c 30             	lea    (%eax,%esi,1),%ebx
409dc5:	ff 73 48             	push   0x48(%ebx)
409dc8:	8d 45 ec             	lea    -0x14(%ebp),%eax
409dcb:	50                   	push   %eax
409dcc:	e8 bf 10 00 00       	call   0x40ae90
409dd1:	85 c0                	test   %eax,%eax
409dd3:	59                   	pop    %ecx
409dd4:	59                   	pop    %ecx
409dd5:	0f 84 6f 02 00 00    	je     0x40a04a
409ddb:	8d 45 ec             	lea    -0x14(%ebp),%eax
409dde:	50                   	push   %eax
409ddf:	e8 7c c9 ff ff       	call   0x406760
409de4:	83 c0 05             	add    $0x5,%eax
409de7:	50                   	push   %eax
409de8:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
409dee:	e8 f9 f4 ff ff       	call   0x4092ec
409df3:	85 c0                	test   %eax,%eax
409df5:	59                   	pop    %ecx
409df6:	59                   	pop    %ecx
409df7:	89 85 e4 fe ff ff    	mov    %eax,-0x11c(%ebp)
409dfd:	74 b6                	je     0x409db5
409dff:	8b 43 48             	mov    0x48(%ebx),%eax
409e02:	8b 4d 7c             	mov    0x7c(%ebp),%ecx
409e05:	89 85 d0 fe ff ff    	mov    %eax,-0x130(%ebp)
409e0b:	8d 44 8e 0c          	lea    0xc(%esi,%ecx,4),%eax
409e0f:	83 c1 06             	add    $0x6,%ecx
409e12:	6b c9 06             	imul   $0x6,%ecx,%ecx
409e15:	89 85 e0 fe ff ff    	mov    %eax,-0x120(%ebp)
409e1b:	8b 00                	mov    (%eax),%eax
409e1d:	89 85 cc fe ff ff    	mov    %eax,-0x134(%ebp)
409e23:	8d 04 31             	lea    (%ecx,%esi,1),%eax
409e26:	6a 06                	push   $0x6
409e28:	50                   	push   %eax
409e29:	89 85 d8 fe ff ff    	mov    %eax,-0x128(%ebp)
409e2f:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
409e35:	50                   	push   %eax
409e36:	e8 95 bd ff ff       	call   0x405bd0
409e3b:	8b 46 04             	mov    0x4(%esi),%eax
409e3e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
409e41:	51                   	push   %ecx
409e42:	8b 8d e8 fe ff ff    	mov    -0x118(%ebp),%ecx
409e48:	89 85 c0 fe ff ff    	mov    %eax,-0x140(%ebp)
409e4e:	8b 85 e4 fe ff ff    	mov    -0x11c(%ebp),%eax
409e54:	83 c1 fc             	add    $0xfffffffc,%ecx
409e57:	83 c0 04             	add    $0x4,%eax
409e5a:	51                   	push   %ecx
409e5b:	50                   	push   %eax
409e5c:	e8 3a 0e 00 00       	call   0x40ac9b
409e61:	83 c4 18             	add    $0x18,%esp
409e64:	85 c0                	test   %eax,%eax
409e66:	74 0f                	je     0x409e77
409e68:	33 c0                	xor    %eax,%eax
409e6a:	50                   	push   %eax
409e6b:	50                   	push   %eax
409e6c:	50                   	push   %eax
409e6d:	50                   	push   %eax
409e6e:	50                   	push   %eax
409e6f:	e8 e0 d6 ff ff       	call   0x407554
409e74:	83 c4 14             	add    $0x14,%esp
409e77:	8b 85 e4 fe ff ff    	mov    -0x11c(%ebp),%eax
409e7d:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
409e83:	83 c0 04             	add    $0x4,%eax
409e86:	89 43 48             	mov    %eax,0x48(%ebx)
409e89:	0f b7 85 c4 fe ff ff 	movzwl -0x13c(%ebp),%eax
409e90:	89 01                	mov    %eax,(%ecx)
409e92:	6a 06                	push   $0x6
409e94:	8d 85 c4 fe ff ff    	lea    -0x13c(%ebp),%eax
409e9a:	50                   	push   %eax
409e9b:	ff b5 d8 fe ff ff    	push   -0x128(%ebp)
409ea1:	e8 2a bd ff ff       	call   0x405bd0
409ea6:	83 c4 0c             	add    $0xc,%esp
409ea9:	83 7d 7c 02          	cmpl   $0x2,0x7c(%ebp)
409ead:	0f 85 f4 00 00 00    	jne    0x409fa7
409eb3:	8b 85 dc fe ff ff    	mov    -0x124(%ebp),%eax
409eb9:	83 a5 e8 fe ff ff 00 	andl   $0x0,-0x118(%ebp)
409ec0:	89 46 04             	mov    %eax,0x4(%esi)
409ec3:	8b 47 24             	mov    0x24(%edi),%eax
409ec6:	8b 4f 20             	mov    0x20(%edi),%ecx
409ec9:	89 85 d8 fe ff ff    	mov    %eax,-0x128(%ebp)
409ecf:	8b c7                	mov    %edi,%eax
409ed1:	8b 56 04             	mov    0x4(%esi),%edx
409ed4:	3b 10                	cmp    (%eax),%edx
409ed6:	74 36                	je     0x409f0e
409ed8:	8b 10                	mov    (%eax),%edx
409eda:	ff 85 e8 fe ff ff    	incl   -0x118(%ebp)
409ee0:	89 08                	mov    %ecx,(%eax)
409ee2:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
409ee8:	89 95 b8 fe ff ff    	mov    %edx,-0x148(%ebp)
409eee:	8b 50 04             	mov    0x4(%eax),%edx
409ef1:	89 48 04             	mov    %ecx,0x4(%eax)
409ef4:	8b 8d b8 fe ff ff    	mov    -0x148(%ebp),%ecx
409efa:	83 c0 08             	add    $0x8,%eax
409efd:	83 bd e8 fe ff ff 05 	cmpl   $0x5,-0x118(%ebp)
409f04:	89 95 d8 fe ff ff    	mov    %edx,-0x128(%ebp)
409f0a:	7c c5                	jl     0x409ed1
409f0c:	eb 22                	jmp    0x409f30
409f0e:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
409f14:	85 c0                	test   %eax,%eax
409f16:	74 18                	je     0x409f30
409f18:	8d 04 c7             	lea    (%edi,%eax,8),%eax
409f1b:	8b 10                	mov    (%eax),%edx
409f1d:	89 17                	mov    %edx,(%edi)
409f1f:	8b 50 04             	mov    0x4(%eax),%edx
409f22:	89 57 04             	mov    %edx,0x4(%edi)
409f25:	89 08                	mov    %ecx,(%eax)
409f27:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
409f2d:	89 48 04             	mov    %ecx,0x4(%eax)
409f30:	83 bd e8 fe ff ff 05 	cmpl   $0x5,-0x118(%ebp)
409f37:	75 65                	jne    0x409f9e
409f39:	6a 01                	push   $0x1
409f3b:	ff 76 14             	push   0x14(%esi)
409f3e:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
409f44:	ff 76 04             	push   0x4(%esi)
409f47:	50                   	push   %eax
409f48:	6a 7f                	push   $0x7f
409f4a:	68 20 7f 41 00       	push   $0x417f20
409f4f:	6a 01                	push   $0x1
409f51:	6a 00                	push   $0x0
409f53:	e8 92 69 00 00       	call   0x4108ea
409f58:	83 c4 20             	add    $0x20,%esp
409f5b:	85 c0                	test   %eax,%eax
409f5d:	74 36                	je     0x409f95
409f5f:	33 c0                	xor    %eax,%eax
409f61:	66 81 a4 45 ec fe ff 	andw   $0x1ff,-0x114(%ebp,%eax,2)
409f68:	ff ff 01
409f6b:	40                   	inc    %eax
409f6c:	83 f8 7f             	cmp    $0x7f,%eax
409f6f:	72 f0                	jb     0x409f61
409f71:	68 fe 00 00 00       	push   $0xfe
409f76:	ff 35 60 c9 41 00    	push   0x41c960
409f7c:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
409f82:	50                   	push   %eax
409f83:	e8 7e 82 00 00       	call   0x412206
409f88:	83 c4 0c             	add    $0xc,%esp
409f8b:	f7 d8                	neg    %eax
409f8d:	1b c0                	sbb    %eax,%eax
409f8f:	40                   	inc    %eax
409f90:	89 47 04             	mov    %eax,0x4(%edi)
409f93:	eb 04                	jmp    0x409f99
409f95:	83 67 04 00          	andl   $0x0,0x4(%edi)
409f99:	8b 46 04             	mov    0x4(%esi),%eax
409f9c:	89 07                	mov    %eax,(%edi)
409f9e:	8b 47 04             	mov    0x4(%edi),%eax
409fa1:	89 86 a8 00 00 00    	mov    %eax,0xa8(%esi)
409fa7:	83 7d 7c 01          	cmpl   $0x1,0x7c(%ebp)
409fab:	75 09                	jne    0x409fb6
409fad:	8b 85 dc fe ff ff    	mov    -0x124(%ebp),%eax
409fb3:	89 46 08             	mov    %eax,0x8(%esi)
409fb6:	8b 45 7c             	mov    0x7c(%ebp),%eax
409fb9:	6b c0 0c             	imul   $0xc,%eax,%eax
409fbc:	56                   	push   %esi
409fbd:	ff 90 e0 7e 41 00    	call   *0x417ee0(%eax)
409fc3:	85 c0                	test   %eax,%eax
409fc5:	59                   	pop    %ecx
409fc6:	74 31                	je     0x409ff9
409fc8:	8b 85 d0 fe ff ff    	mov    -0x130(%ebp),%eax
409fce:	ff b5 e4 fe ff ff    	push   -0x11c(%ebp)
409fd4:	89 43 48             	mov    %eax,0x48(%ebx)
409fd7:	e8 77 c4 ff ff       	call   0x406453
409fdc:	8b 85 cc fe ff ff    	mov    -0x134(%ebp),%eax
409fe2:	59                   	pop    %ecx
409fe3:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
409fe9:	89 01                	mov    %eax,(%ecx)
409feb:	8b 85 c0 fe ff ff    	mov    -0x140(%ebp),%eax
409ff1:	89 46 04             	mov    %eax,0x4(%esi)
409ff4:	e9 bc fd ff ff       	jmp    0x409db5
409ff9:	81 bd d0 fe ff ff 40 	cmpl   $0x41d140,-0x130(%ebp)
40a000:	d1 41 00
40a003:	74 2d                	je     0x40a032
40a005:	8b 45 7c             	mov    0x7c(%ebp),%eax
40a008:	83 c0 05             	add    $0x5,%eax
40a00b:	c1 e0 04             	shl    $0x4,%eax
40a00e:	8d 3c 30             	lea    (%eax,%esi,1),%edi
40a011:	ff 37                	push   (%edi)
40a013:	ff 15 98 70 41 00    	call   *0x417098
40a019:	85 c0                	test   %eax,%eax
40a01b:	75 15                	jne    0x40a032
40a01d:	ff 37                	push   (%edi)
40a01f:	e8 2f c4 ff ff       	call   0x406453
40a024:	ff 73 54             	push   0x54(%ebx)
40a027:	e8 27 c4 ff ff       	call   0x406453
40a02c:	83 63 4c 00          	andl   $0x0,0x4c(%ebx)
40a030:	59                   	pop    %ecx
40a031:	59                   	pop    %ecx
40a032:	8b 4d 7c             	mov    0x7c(%ebp),%ecx
40a035:	8b 85 e4 fe ff ff    	mov    -0x11c(%ebp),%eax
40a03b:	83 c1 05             	add    $0x5,%ecx
40a03e:	c1 e1 04             	shl    $0x4,%ecx
40a041:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40a047:	89 04 31             	mov    %eax,(%ecx,%esi,1)
40a04a:	8b 43 48             	mov    0x48(%ebx),%eax
40a04d:	8b 4d 70             	mov    0x70(%ebp),%ecx
40a050:	5f                   	pop    %edi
40a051:	33 cd                	xor    %ebp,%ecx
40a053:	5b                   	pop    %ebx
40a054:	e8 dc be ff ff       	call   0x405f35
40a059:	83 c5 74             	add    $0x74,%ebp
40a05c:	c9                   	leave
40a05d:	c3                   	ret
40a05e:	55                   	push   %ebp
40a05f:	8d 6c 24 8c          	lea    -0x74(%esp),%ebp
40a063:	81 ec 98 00 00 00    	sub    $0x98,%esp
40a069:	a1 20 c5 41 00       	mov    0x41c520,%eax
40a06e:	33 c5                	xor    %ebp,%eax
40a070:	89 45 70             	mov    %eax,0x70(%ebp)
40a073:	8b 45 7c             	mov    0x7c(%ebp),%eax
40a076:	53                   	push   %ebx
40a077:	56                   	push   %esi
40a078:	33 db                	xor    %ebx,%ebx
40a07a:	3b c3                	cmp    %ebx,%eax
40a07c:	8b f2                	mov    %edx,%esi
40a07e:	57                   	push   %edi
40a07f:	89 75 dc             	mov    %esi,-0x24(%ebp)
40a082:	74 1c                	je     0x40a0a0
40a084:	3b cb                	cmp    %ebx,%ecx
40a086:	74 0c                	je     0x40a094
40a088:	50                   	push   %eax
40a089:	e8 da fc ff ff       	call   0x409d68
40a08e:	59                   	pop    %ecx
40a08f:	e9 86 01 00 00       	jmp    0x40a21a
40a094:	c1 e0 04             	shl    $0x4,%eax
40a097:	8b 44 30 48          	mov    0x48(%eax,%esi,1),%eax
40a09b:	e9 7a 01 00 00       	jmp    0x40a21a
40a0a0:	3b cb                	cmp    %ebx,%ecx
40a0a2:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
40a0a9:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40a0ac:	0f 84 63 01 00 00    	je     0x40a215
40a0b2:	80 39 4c             	cmpb   $0x4c,(%ecx)
40a0b5:	0f 85 fe 00 00 00    	jne    0x40a1b9
40a0bb:	80 79 01 43          	cmpb   $0x43,0x1(%ecx)
40a0bf:	0f 85 f4 00 00 00    	jne    0x40a1b9
40a0c5:	80 79 02 5f          	cmpb   $0x5f,0x2(%ecx)
40a0c9:	0f 85 ea 00 00 00    	jne    0x40a1b9
40a0cf:	8b f9                	mov    %ecx,%edi
40a0d1:	68 b4 7f 41 00       	push   $0x417fb4
40a0d6:	57                   	push   %edi
40a0d7:	e8 74 98 00 00       	call   0x413950
40a0dc:	8b d8                	mov    %eax,%ebx
40a0de:	85 db                	test   %ebx,%ebx
40a0e0:	59                   	pop    %ecx
40a0e1:	59                   	pop    %ecx
40a0e2:	0f 84 cd 00 00 00    	je     0x40a1b5
40a0e8:	2b c7                	sub    %edi,%eax
40a0ea:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40a0ed:	0f 84 c2 00 00 00    	je     0x40a1b5
40a0f3:	80 3b 3b             	cmpb   $0x3b,(%ebx)
40a0f6:	0f 84 b9 00 00 00    	je     0x40a1b5
40a0fc:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
40a103:	be e4 7e 41 00       	mov    $0x417ee4,%esi
40a108:	eb 03                	jmp    0x40a10d
40a10a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40a10d:	50                   	push   %eax
40a10e:	57                   	push   %edi
40a10f:	ff 36                	push   (%esi)
40a111:	e8 70 97 00 00       	call   0x413886
40a116:	83 c4 0c             	add    $0xc,%esp
40a119:	85 c0                	test   %eax,%eax
40a11b:	75 0d                	jne    0x40a12a
40a11d:	ff 36                	push   (%esi)
40a11f:	e8 3c c6 ff ff       	call   0x406760
40a124:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
40a127:	59                   	pop    %ecx