409d4a:	51                   	push   %ecx
409d4b:	56                   	push   %esi
409d4c:	8b f1                	mov    %ecx,%esi
409d4e:	8b 46 0c             	mov    0xc(%esi),%eax
409d51:	48                   	dec    %eax
409d52:	74 37                	je     0x409d8b
409d54:	48                   	dec    %eax
409d55:	74 50                	je     0x409da7
409d57:	48                   	dec    %eax
409d58:	74 1e                	je     0x409d78
409d5a:	48                   	dec    %eax
409d5b:	0f 85 8b 5f 03 00    	jne    0x43fcec
409d61:	8b 56 08             	mov    0x8(%esi),%edx
409d64:	8b 02                	mov    (%edx),%eax
409d66:	66 83 38 30          	cmpw   $0x30,(%eax)
409d6a:	74 24                	je     0x409d90
409d6c:	50                   	push   %eax
409d6d:	e8 61 9a 01 00       	call   0x4237d3
409d72:	59                   	pop    %ecx
409d73:	5e                   	pop    %esi
409d74:	8b e5                	mov    %ebp,%esp
409d76:	5d                   	pop    %ebp
409d77:	c3                   	ret
409d78:	dd 06                	fldl   (%esi)
409d7a:	83 ec 10             	sub    $0x10,%esp
409d7d:	dd 5c 24 08          	fstpl  0x8(%esp)
409d81:	e8 4e 5f 01 00       	call   0x41fcd4
409d86:	83 c4 10             	add    $0x10,%esp
409d89:	eb e8                	jmp    0x409d73
409d8b:	8b 06                	mov    (%esi),%eax
409d8d:	99                   	cltd
409d8e:	eb e3                	jmp    0x409d73
409d90:	0f b7 48 02          	movzwl 0x2(%eax),%ecx
409d94:	83 f9 78             	cmp    $0x78,%ecx
409d97:	0f 84 a9 5f 03 00    	je     0x43fd46
409d9d:	83 f9 58             	cmp    $0x58,%ecx
409da0:	75 ca                	jne    0x409d6c
409da2:	e9 9f 5f 03 00       	jmp    0x43fd46
409da7:	8b 06                	mov    (%esi),%eax
409da9:	8b 56 04             	mov    0x4(%esi),%edx
409dac:	eb c5                	jmp    0x409d73
409dae:	55                   	push   %ebp
409daf:	8b ec                	mov    %esp,%ebp
409db1:	83 79 0c 0a          	cmpl   $0xa,0xc(%ecx)
409db5:	74 06                	je     0x409dbd
409db7:	33 c0                	xor    %eax,%eax
409db9:	5d                   	pop    %ebp
409dba:	c2 04 00             	ret    $0x4
409dbd:	8b 01                	mov    (%ecx),%eax
409dbf:	8b 00                	mov    (%eax),%eax
409dc1:	3b 45 08             	cmp    0x8(%ebp),%eax
409dc4:	75 f1                	jne    0x409db7
409dc6:	33 c0                	xor    %eax,%eax
409dc8:	40                   	inc    %eax
409dc9:	eb ee                	jmp    0x409db9
409dcb:	55                   	push   %ebp
409dcc:	8b ec                	mov    %esp,%ebp
409dce:	56                   	push   %esi
409dcf:	ff 75 08             	push   0x8(%ebp)
409dd2:	8b f1                	mov    %ecx,%esi
409dd4:	83 66 08 00          	andl   $0x0,0x8(%esi)
409dd8:	e8 e3 fc ff ff       	call   0x409ac0
409ddd:	8b c6                	mov    %esi,%eax
409ddf:	5e                   	pop    %esi
409de0:	5d                   	pop    %ebp
409de1:	c2 04 00             	ret    $0x4
409de4:	cc                   	int3
409de5:	cc                   	int3
409de6:	cc                   	int3
409de7:	cc                   	int3
409de8:	cc                   	int3
409de9:	cc                   	int3
409dea:	cc                   	int3
409deb:	cc                   	int3
409dec:	cc                   	int3
409ded:	cc                   	int3
409dee:	cc                   	int3
409def:	cc                   	int3
409df0:	56                   	push   %esi
409df1:	8b f1                	mov    %ecx,%esi
409df3:	57                   	push   %edi
409df4:	8b 7e 08             	mov    0x8(%esi),%edi
409df7:	85 ff                	test   %edi,%edi
409df9:	74 2f                	je     0x409e2a
409dfb:	8b 47 0c             	mov    0xc(%edi),%eax
409dfe:	ff 08                	decl   (%eax)
409e00:	8b 47 0c             	mov    0xc(%edi),%eax
409e03:	83 38 00             	cmpl   $0x0,(%eax)
409e06:	75 12                	jne    0x409e1a
409e08:	ff 37                	push   (%edi)
409e0a:	e8 5d 72 01 00       	call   0x42106c
409e0f:	ff 77 0c             	push   0xc(%edi)
409e12:	e8 55 72 01 00       	call   0x42106c
409e17:	83 c4 08             	add    $0x8,%esp
409e1a:	57                   	push   %edi
409e1b:	e8 4c 72 01 00       	call   0x42106c
409e20:	83 c4 04             	add    $0x4,%esp
409e23:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
409e2a:	8b 46 0c             	mov    0xc(%esi),%eax
409e2d:	83 f8 05             	cmp    $0x5,%eax
409e30:	7d 10                	jge    0x409e42
409e32:	5f                   	pop    %edi
409e33:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
409e3a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
409e40:	5e                   	pop    %esi
409e41:	c3                   	ret
409e42:	83 e8 05             	sub    $0x5,%eax
409e45:	83 f8 0a             	cmp    $0xa,%eax
409e48:	77 e8                	ja     0x409e32
409e4a:	ff 24 85 70 9e 40 00 	jmp    *0x409e70(,%eax,4)
409e51:	8b 0e                	mov    (%esi),%ecx
409e53:	85 c9                	test   %ecx,%ecx
409e55:	74 db                	je     0x409e32
409e57:	51                   	push   %ecx
409e58:	e8 d7 ef ff ff       	call   0x408e34
409e5d:	5f                   	pop    %edi
409e5e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
409e65:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
409e6b:	5e                   	pop    %esi
409e6c:	c3                   	ret
409e6d:	8d 49 00             	lea    0x0(%ecx),%ecx
409e70:	51                   	push   %ecx
409e71:	9e                   	sahf
409e72:	40                   	inc    %eax
409e73:	00 32                	add    %dh,(%edx)
409e75:	9e                   	sahf
409e76:	40                   	inc    %eax
409e77:	00 32                	add    %dh,(%edx)
409e79:	9e                   	sahf
409e7a:	40                   	inc    %eax
409e7b:	00 76 fd             	add    %dh,-0x3(%esi)
409e7e:	43                   	inc    %ebx
409e7f:	00 32                	add    %dh,(%edx)
409e81:	9e                   	sahf
409e82:	40                   	inc    %eax
409e83:	00 8b fd 43 00 9a    	add    %cl,-0x65ffbc03(%ebx)
409e89:	fd                   	std
409e8a:	43                   	inc    %ebx
409e8b:	00 b3 fd 43 00 dd    	add    %dh,-0x22ffbc03(%ebx)
409e91:	fd                   	std
409e92:	43                   	inc    %ebx
409e93:	00 dd                	add    %bl,%ch
409e95:	fd                   	std
409e96:	43                   	inc    %ebx
409e97:	00 c8                	add    %cl,%al
409e99:	fd                   	std
409e9a:	43                   	inc    %ebx
409e9b:	00 55 8b             	add    %dl,-0x75(%ebp)
409e9e:	ec                   	in     (%dx),%al
409e9f:	53                   	push   %ebx
409ea0:	8b 5d 08             	mov    0x8(%ebp),%ebx
409ea3:	56                   	push   %esi
409ea4:	8b f1                	mov    %ecx,%esi
409ea6:	3b f3                	cmp    %ebx,%esi
409ea8:	74 45                	je     0x409eef
409eaa:	83 7e 0c 04          	cmpl   $0x4,0xc(%esi)
409eae:	74 47                	je     0x409ef7
409eb0:	57                   	push   %edi
409eb1:	8b 7e 08             	mov    0x8(%esi),%edi
409eb4:	85 ff                	test   %edi,%edi
409eb6:	75 52                	jne    0x409f0a
409eb8:	8b 46 0c             	mov    0xc(%esi),%eax
409ebb:	83 f8 0b             	cmp    $0xb,%eax
409ebe:	0f 8f 74 5f 03 00    	jg     0x43fe38
409ec4:	0f 84 56 5f 03 00    	je     0x43fe20
409eca:	83 e8 05             	sub    $0x5,%eax
409ecd:	74 5d                	je     0x409f2c
409ecf:	83 e8 03             	sub    $0x3,%eax
409ed2:	0f 84 2e 5f 03 00    	je     0x43fe06
409ed8:	48                   	dec    %eax
409ed9:	48                   	dec    %eax
409eda:	74 42                	je     0x409f1e
409edc:	83 26 00             	andl   $0x0,(%esi)
409edf:	8b ce                	mov    %esi,%ecx
409ee1:	53                   	push   %ebx
409ee2:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
409ee9:	e8 d2 fb ff ff       	call   0x409ac0
409eee:	5f                   	pop    %edi
409eef:	8b c6                	mov    %esi,%eax
409ef1:	5e                   	pop    %esi
409ef2:	5b                   	pop    %ebx
409ef3:	5d                   	pop    %ebp
409ef4:	c2 04 00             	ret    $0x4
409ef7:	83 7b 0c 04          	cmpl   $0x4,0xc(%ebx)
409efb:	75 b3                	jne    0x409eb0
409efd:	ff 73 08             	push   0x8(%ebx)
409f00:	8b 4e 08             	mov    0x8(%esi),%ecx
409f03:	e8 9f e2 ff ff       	call   0x4081a7
409f08:	eb e5                	jmp    0x409eef
409f0a:	8b cf                	mov    %edi,%ecx
409f0c:	e8 53 bb ff ff       	call   0x405a64
409f11:	57                   	push   %edi
409f12:	e8 55 71 01 00       	call   0x42106c
409f17:	83 66 08 00          	andl   $0x0,0x8(%esi)
409f1b:	59                   	pop    %ecx
409f1c:	eb 9a                	jmp    0x409eb8
409f1e:	8b 3e                	mov    (%esi),%edi
409f20:	85 ff                	test   %edi,%edi
409f22:	74 b8                	je     0x409edc
409f24:	8d 4f 08             	lea    0x8(%edi),%ecx
409f27:	e9 d2 5e 03 00       	jmp    0x43fdfe
409f2c:	8b 0e                	mov    (%esi),%ecx
409f2e:	85 c9                	test   %ecx,%ecx
409f30:	74 aa                	je     0x409edc
409f32:	51                   	push   %ecx
409f33:	e8 fc ee ff ff       	call   0x408e34
409f38:	eb a2                	jmp    0x409edc
409f3a:	55                   	push   %ebp
409f3b:	8b ec                	mov    %esp,%ebp
409f3d:	56                   	push   %esi
409f3e:	6a 10                	push   $0x10
409f40:	8b f1                	mov    %ecx,%esi
409f42:	e8 af 70 01 00       	call   0x420ff6
409f47:	59                   	pop    %ecx
409f48:	85 c0                	test   %eax,%eax
409f4a:	74 1b                	je     0x409f67
409f4c:	ff 75 08             	push   0x8(%ebp)
409f4f:	8b c8                	mov    %eax,%ecx
409f51:	e8 eb df ff ff       	call   0x407f41
409f56:	89 46 08             	mov    %eax,0x8(%esi)
409f59:	8b c6                	mov    %esi,%eax
409f5b:	c7 46 0c 04 00 00 00 	movl   $0x4,0xc(%esi)
409f62:	5e                   	pop    %esi
409f63:	5d                   	pop    %ebp
409f64:	c2 04 00             	ret    $0x4
409f67:	33 c0                	xor    %eax,%eax
409f69:	eb eb                	jmp    0x409f56
409f6b:	55                   	push   %ebp
409f6c:	8b ec                	mov    %esp,%ebp
409f6e:	83 ec 18             	sub    $0x18,%esp
409f71:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
409f75:	8d 45 ec             	lea    -0x14(%ebp),%eax
409f78:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
409f7c:	56                   	push   %esi
409f7d:	83 ce ff             	or     $0xffffffff,%esi
409f80:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
409f87:	56                   	push   %esi
409f88:	50                   	push   %eax
409f89:	ff 75 0c             	push   0xc(%ebp)
409f8c:	ff 75 08             	push   0x8(%ebp)
409f8f:	e8 6c 00 00 00       	call   0x40a000
409f94:	85 c0                	test   %eax,%eax
409f96:	78 14                	js     0x409fac
409f98:	8d 4d ec             	lea    -0x14(%ebp),%ecx
409f9b:	e8 f9 f3 ff ff       	call   0x409399
409fa0:	84 c0                	test   %al,%al
409fa2:	8b 45 10             	mov    0x10(%ebp),%eax
409fa5:	0f 95 c1             	setne  %cl
409fa8:	33 f6                	xor    %esi,%esi
409faa:	88 08                	mov    %cl,(%eax)
409fac:	8d 4d ec             	lea    -0x14(%ebp),%ecx
409faf:	e8 6c fa ff ff       	call   0x409a20
409fb4:	8b c6                	mov    %esi,%eax
409fb6:	5e                   	pop    %esi
409fb7:	8b e5                	mov    %ebp,%esp
409fb9:	5d                   	pop    %ebp
409fba:	c2 0c 00             	ret    $0xc
409fbd:	55                   	push   %ebp
409fbe:	8b ec                	mov    %esp,%ebp
409fc0:	8b 55 08             	mov    0x8(%ebp),%edx
409fc3:	81 c1 34 01 00 00    	add    $0x134,%ecx
409fc9:	56                   	push   %esi
409fca:	83 ec 10             	sub    $0x10,%esp
409fcd:	8b f4                	mov    %esp,%esi
409fcf:	8b 02                	mov    (%edx),%eax
409fd1:	89 06                	mov    %eax,(%esi)
409fd3:	8b 42 04             	mov    0x4(%edx),%eax
409fd6:	89 46 04             	mov    %eax,0x4(%esi)
409fd9:	8b 42 08             	mov    0x8(%edx),%eax
409fdc:	89 46 08             	mov    %eax,0x8(%esi)
409fdf:	8b 42 0c             	mov    0xc(%edx),%eax
409fe2:	89 46 0c             	mov    %eax,0xc(%esi)
409fe5:	ff 00                	incl   (%eax)
409fe7:	e8 f4 e2 ff ff       	call   0x4082e0
409fec:	5e                   	pop    %esi
409fed:	5d                   	pop    %ebp
409fee:	c2 04 00             	ret    $0x4
409ff1:	cc                   	int3
409ff2:	cc                   	int3
409ff3:	cc                   	int3
409ff4:	cc                   	int3
409ff5:	cc                   	int3
409ff6:	cc                   	int3
409ff7:	cc                   	int3
409ff8:	cc                   	int3
409ff9:	cc                   	int3
409ffa:	cc                   	int3
409ffb:	cc                   	int3
409ffc:	cc                   	int3
409ffd:	cc                   	int3
409ffe:	cc                   	int3
409fff:	cc                   	int3
40a000:	55                   	push   %ebp
40a001:	8b ec                	mov    %esp,%ebp
40a003:	83 e4 f8             	and    $0xfffffff8,%esp
40a006:	81 ec 18 01 00 00    	sub    $0x118,%esp
40a00c:	a1 80 74 4c 00       	mov    0x4c7480,%eax
40a011:	89 4c 24 04          	mov    %ecx,0x4(%esp)
40a015:	56                   	push   %esi
40a016:	57                   	push   %edi
40a017:	a8 01                	test   $0x1,%al
40a019:	0f 84 17 15 00 00    	je     0x40b536
40a01f:	8b 7d 10             	mov    0x10(%ebp),%edi
40a022:	33 c0                	xor    %eax,%eax
40a024:	6a 08                	push   $0x8
40a026:	66 c7 44 24 5c 01 00 	movw   $0x1,0x5c(%esp)
40a02d:	89 7c 24 24          	mov    %edi,0x24(%esp)
40a031:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
40a038:	00
40a039:	89 44 24 0c          	mov    %eax,0xc(%esp)
40a03d:	89 44 24 2c          	mov    %eax,0x2c(%esp)
40a041:	66 c7 44 24 30 01 00 	movw   $0x1,0x30(%esp)
40a048:	e8 a9 6f 01 00       	call   0x420ff6
40a04d:	8b d0                	mov    %eax,%edx
40a04f:	89 44 24 20          	mov    %eax,0x20(%esp)
40a053:	83 c4 04             	add    $0x4,%esp
40a056:	85 d2                	test   %edx,%edx
40a058:	0f 84 2c 16 00 00    	je     0x40b68a
40a05e:	c7 02 14 00 00 00    	movl   $0x14,(%edx)
40a064:	8b 75 0c             	mov    0xc(%ebp),%esi
40a067:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
40a06e:	89 54 24 54          	mov    %edx,0x54(%esp)
40a072:	8b 55 08             	mov    0x8(%ebp),%edx
40a075:	8b 0e                	mov    (%esi),%ecx
40a077:	c7 44 24 50 01 00 00 	movl   $0x1,0x50(%esp)
40a07e:	00
40a07f:	c7 44 24 10 17 00 00 	movl   $0x17,0x10(%esp)
40a086:	00
40a087:	8b 42 04             	mov    0x4(%edx),%eax
40a08a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40a08d:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40a091:	89 44 24 5c          	mov    %eax,0x5c(%esp)
40a095:	eb 73                	jmp    0x40a10a
40a097:	c6 44 24 17 01       	movb   $0x1,0x17(%esp)
40a09c:	80 7c 24 17 00       	cmpb   $0x0,0x17(%esp)
40a0a1:	8b 06                	mov    (%esi),%eax
40a0a3:	8b 4c 24 60          	mov    0x60(%esp),%ecx
40a0a7:	8b 40 18             	mov    0x18(%eax),%eax
40a0aa:	89 41 1c             	mov    %eax,0x1c(%ecx)
40a0ad:	8b 06                	mov    (%esi),%eax
40a0af:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
40a0b3:	8b 40 1c             	mov    0x1c(%eax),%eax
40a0b6:	89 41 18             	mov    %eax,0x18(%ecx)
40a0b9:	8b 0e                	mov    (%esi),%ecx
40a0bb:	a1 60 74 4c 00       	mov    0x4c7460,%eax
40a0c0:	89 41 18             	mov    %eax,0x18(%ecx)
40a0c3:	8b 0e                	mov    (%esi),%ecx
40a0c5:	a1 5c 74 4c 00       	mov    0x4c745c,%eax
40a0ca:	89 41 1c             	mov    %eax,0x1c(%ecx)
40a0cd:	0f 84 d9 04 00 00    	je     0x40a5ac