4109de:	8b cf                	mov    %edi,%ecx
4109e0:	e8 3b 90 ff ff       	call   0x409a20
4109e5:	8b cf                	mov    %edi,%ecx
4109e7:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
4109ee:	89 37                	mov    %esi,(%edi)
4109f0:	e8 a7 92 ff ff       	call   0x409c9c
4109f5:	85 c0                	test   %eax,%eax
4109f7:	0f 84 bf 46 03 00    	je     0x4450bc
4109fd:	83 7d 08 1d          	cmpl   $0x1d,0x8(%ebp)
410a01:	74 07                	je     0x410a0a
410a03:	53                   	push   %ebx
410a04:	e8 63 06 01 00       	call   0x42106c
410a09:	59                   	pop    %ecx
410a0a:	33 f6                	xor    %esi,%esi
410a0c:	8d 4c 24 30          	lea    0x30(%esp),%ecx
410a10:	e8 0b 90 ff ff       	call   0x409a20
410a15:	5f                   	pop    %edi
410a16:	8b c6                	mov    %esi,%eax
410a18:	5e                   	pop    %esi
410a19:	5b                   	pop    %ebx
410a1a:	8b e5                	mov    %ebp,%esp
410a1c:	5d                   	pop    %ebp
410a1d:	c2 0c 00             	ret    $0xc
410a20:	6a 07                	push   $0x7
410a22:	5f                   	pop    %edi
410a23:	e9 e8 45 03 00       	jmp    0x445010
410a28:	6a 07                	push   $0x7
410a2a:	5f                   	pop    %edi
410a2b:	33 db                	xor    %ebx,%ebx
410a2d:	e9 e8 fe ff ff       	jmp    0x41091a
410a32:	6a 07                	push   $0x7
410a34:	5f                   	pop    %edi
410a35:	e9 d8 fe ff ff       	jmp    0x410912
410a3a:	90                   	nop
410a3b:	0d 50 44 00 0a       	or     $0xa004450,%eax
410a40:	50                   	push   %eax
410a41:	44                   	inc    %esp
410a42:	00 14 50             	add    %dl,(%eax,%edx,2)
410a45:	44                   	inc    %esp
410a46:	00 12                	add    %dl,(%edx)
410a48:	09 41 00             	or     %eax,0x0(%ecx)
410a4b:	15 09 41 00 07       	adc    $0x7004109,%eax
410a50:	50                   	push   %eax
410a51:	44                   	inc    %esp
410a52:	00 32                	add    %dh,(%edx)
410a54:	0a 41 00             	or     0x0(%ecx),%al
410a57:	20 0a                	and    %cl,(%edx)
410a59:	41                   	inc    %ecx
410a5a:	00 28                	add    %ch,(%eax)
410a5c:	0a 41 00             	or     0x0(%ecx),%al
410a5f:	49                   	dec    %ecx
410a60:	50                   	push   %eax
410a61:	44                   	inc    %esp
410a62:	00 10                	add    %dl,(%eax)
410a64:	50                   	push   %eax
410a65:	44                   	inc    %esp
410a66:	00 77 50             	add    %dh,0x50(%edi)
410a69:	44                   	inc    %esp
410a6a:	00 1a                	add    %bl,(%edx)
410a6c:	09 41 00             	or     %eax,0x0(%ecx)
410a6f:	00 00                	add    %al,(%eax)
410a71:	00 00                	add    %al,(%eax)
410a73:	00 00                	add    %al,(%eax)
410a75:	01 02                	add    %eax,(%edx)
410a77:	03 02                	add    (%edx),%eax
410a79:	04 05                	add    $0x5,%al
410a7b:	06                   	push   %es
410a7c:	0c 05                	or     $0x5,%al
410a7e:	05 04 07 03 00       	add    $0x30704,%eax
410a83:	07                   	pop    %es
410a84:	08 09                	or     %cl,(%ecx)
410a86:	0a 0a                	or     (%edx),%cl
410a88:	0a 0a                	or     (%edx),%cl
410a8a:	03 00                	add    (%eax),%eax
410a8c:	0b 55 8b             	or     -0x75(%ebp),%edx
410a8f:	ec                   	in     (%dx),%al
410a90:	b8 08 00 01 00       	mov    $0x10008,%eax
410a95:	e8 f6 10 02 00       	call   0x431b90
410a9a:	e8 41 64 ff ff       	call   0x406ee0
410a9f:	84 c0                	test   %al,%al
410aa1:	0f 84 82 00 00 00    	je     0x410b29
410aa7:	e8 52 08 00 00       	call   0x4112fe
410aac:	85 c0                	test   %eax,%eax
410aae:	78 79                	js     0x410b29
410ab0:	e8 92 35 00 00       	call   0x414047
410ab5:	85 c0                	test   %eax,%eax
410ab7:	78 70                	js     0x410b29
410ab9:	8d 45 fc             	lea    -0x4(%ebp),%eax
410abc:	50                   	push   %eax
410abd:	8d 85 f8 ff fe ff    	lea    -0x10008(%ebp),%eax
410ac3:	50                   	push   %eax
410ac4:	8b 45 08             	mov    0x8(%ebp),%eax
410ac7:	68 ff 7f 00 00       	push   $0x7fff
410acc:	ff 30                	push   (%eax)
410ace:	ff 15 60 f3 48 00    	call   *0x48f360
410ad4:	8d 85 f8 ff fe ff    	lea    -0x10008(%ebp),%eax
410ada:	b9 d8 63 4c 00       	mov    $0x4c63d8,%ecx
410adf:	50                   	push   %eax
410ae0:	e8 47 72 ff ff       	call   0x407d2c
410ae5:	ff 75 fc             	push   -0x4(%ebp)
410ae8:	b9 c8 63 4c 00       	mov    $0x4c63c8,%ecx
410aed:	e8 3a 72 ff ff       	call   0x407d2c
410af2:	8b 45 fc             	mov    -0x4(%ebp),%eax
410af5:	33 c9                	xor    %ecx,%ecx
410af7:	66 89 48 fe          	mov    %cx,-0x2(%eax)
410afb:	66 39 8d fc ff fe ff 	cmp    %cx,-0x10004(%ebp)
410b02:	0f 84 cd 45 03 00    	je     0x4450d5
410b08:	8d 85 f8 ff fe ff    	lea    -0x10008(%ebp),%eax
410b0e:	b9 e8 63 4c 00       	mov    $0x4c63e8,%ecx
410b13:	50                   	push   %eax
410b14:	e8 13 72 ff ff       	call   0x407d2c
410b19:	8b 45 0c             	mov    0xc(%ebp),%eax
410b1c:	a3 c4 63 4c 00       	mov    %eax,0x4c63c4
410b21:	33 c0                	xor    %eax,%eax
410b23:	8b e5                	mov    %ebp,%esp
410b25:	5d                   	pop    %ebp
410b26:	c2 08 00             	ret    $0x8
410b29:	83 c8 ff             	or     $0xffffffff,%eax
410b2c:	eb f5                	jmp    0x410b23
410b2e:	cc                   	int3
410b2f:	cc                   	int3
410b30:	55                   	push   %ebp
410b31:	8b ec                	mov    %esp,%ebp
410b33:	83 e4 f8             	and    $0xfffffff8,%esp
410b36:	81 ec 60 01 00 00    	sub    $0x160,%esp
410b3c:	56                   	push   %esi
410b3d:	57                   	push   %edi
410b3e:	8b f9                	mov    %ecx,%edi
410b40:	89 7c 24 44          	mov    %edi,0x44(%esp)
410b44:	8b 87 ec 00 00 00    	mov    0xec(%edi),%eax
410b4a:	3d d8 0e 00 00       	cmp    $0xed8,%eax
410b4f:	0f 8d 98 45 03 00    	jge    0x4450ed
410b55:	40                   	inc    %eax
410b56:	89 87 ec 00 00 00    	mov    %eax,0xec(%edi)
410b5c:	83 f8 01             	cmp    $0x1,%eax
410b5f:	0f 84 be 04 00 00    	je     0x411023
410b65:	80 bf fc 00 00 00 00 	cmpb   $0x0,0xfc(%edi)
410b6c:	c6 87 44 01 00 00 00 	movb   $0x0,0x144(%edi)
410b73:	0f 85 cb 02 00 00    	jne    0x410e44
410b79:	8b 35 f0 f6 48 00    	mov    0x48f6f0,%esi
410b7f:	80 bf 44 01 00 00 00 	cmpb   $0x0,0x144(%edi)
410b86:	ba 02 00 00 00       	mov    $0x2,%edx
410b8b:	0f 85 b3 02 00 00    	jne    0x410e44
410b91:	80 3d 81 62 4c 00 00 	cmpb   $0x0,0x4c6281
410b98:	0f 85 9c 45 03 00    	jne    0x44513a
410b9e:	80 3d e8 67 4c 00 00 	cmpb   $0x0,0x4c67e8
410ba5:	0f 85 a1 45 03 00    	jne    0x44514c
410bab:	6a 01                	push   $0x1
410bad:	6a 00                	push   $0x0
410baf:	6a 00                	push   $0x0
410bb1:	6a 00                	push   $0x0
410bb3:	8d 84 24 a4 00 00 00 	lea    0xa4(%esp),%eax
410bba:	50                   	push   %eax
410bbb:	ff d6                	call   *%esi
410bbd:	85 c0                	test   %eax,%eax
410bbf:	0f 85 ab 03 00 00    	jne    0x410f70
410bc5:	80 3d 82 62 4c 00 01 	cmpb   $0x1,0x4c6282
410bcc:	0f 84 ef 45 03 00    	je     0x4451c1
410bd2:	83 bf f8 00 00 00 01 	cmpl   $0x1,0xf8(%edi)
410bd9:	0f 84 84 54 03 00    	je     0x446063
410bdf:	ba 02 00 00 00       	mov    $0x2,%edx
410be4:	83 3d a8 74 4c 00 00 	cmpl   $0x0,0x4c74a8
410beb:	0f 85 ed 45 03 00    	jne    0x4451de
410bf1:	80 3d 87 62 4c 00 01 	cmpb   $0x1,0x4c6287
410bf8:	0f 84 a0 46 03 00    	je     0x44529e
410bfe:	83 bf 54 04 00 00 00 	cmpl   $0x0,0x454(%edi)
410c05:	74 5d                	je     0x410c64
410c07:	80 3d 1c 74 4c 00 00 	cmpb   $0x0,0x4c741c
410c0e:	75 54                	jne    0x410c64
410c10:	8b b7 4c 04 00 00    	mov    0x44c(%edi),%esi
410c16:	8d 87 4c 04 00 00    	lea    0x44c(%edi),%eax
410c1c:	c6 05 1c 74 4c 00 01 	movb   $0x1,0x4c741c
410c23:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
410c2a:	00
410c2b:	89 44 24 08          	mov    %eax,0x8(%esp)
410c2f:	90                   	nop
410c30:	85 f6                	test   %esi,%esi
410c32:	0f 85 33 02 00 00    	jne    0x410e6b
410c38:	8b 7c 24 08          	mov    0x8(%esp),%edi
410c3c:	8d 64 24 00          	lea    0x0(%esp),%esp
410c40:	8b 07                	mov    (%edi),%eax
410c42:	89 44 24 18          	mov    %eax,0x18(%esp)
410c46:	85 c0                	test   %eax,%eax
410c48:	0f 85 66 02 00 00    	jne    0x410eb4
410c4e:	8b 7c 24 44          	mov    0x44(%esp),%edi
410c52:	a2 1c 74 4c 00       	mov    %al,0x4c741c
410c57:	39 44 24 14          	cmp    %eax,0x14(%esp)
410c5b:	0f 8f d0 01 00 00    	jg     0x410e31
410c61:	8d 50 02             	lea    0x2(%eax),%edx
410c64:	80 3d bc 67 4c 00 00 	cmpb   $0x0,0x4c67bc
410c6b:	0f 84 bc 00 00 00    	je     0x410d2d
410c71:	80 bf 58 04 00 00 01 	cmpb   $0x1,0x458(%edi)
410c78:	0f 84 af 00 00 00    	je     0x410d2d
410c7e:	80 3d e8 67 4c 00 01 	cmpb   $0x1,0x4c67e8
410c85:	0f 84 a2 00 00 00    	je     0x410d2d
410c8b:	33 c9                	xor    %ecx,%ecx
410c8d:	c7 84 24 9c 00 00 00 	movl   $0x0,0x9c(%esp)
410c94:	00 00 00 00
410c98:	b8 08 00 00 00       	mov    $0x8,%eax
410c9d:	c7 84 24 a0 00 00 00 	movl   $0x8,0xa0(%esp)
410ca4:	08 00 00 00
410ca8:	f7 e2                	mul    %edx
410caa:	0f 90 c1             	seto   %cl
410cad:	f7 d9                	neg    %ecx
410caf:	0b c8                	or     %eax,%ecx
410cb1:	51                   	push   %ecx
410cb2:	e8 3f 03 01 00       	call   0x420ff6
410cb7:	83 c4 04             	add    $0x4,%esp
410cba:	89 84 24 98 00 00 00 	mov    %eax,0x98(%esp)
410cc1:	33 c9                	xor    %ecx,%ecx
410cc3:	66 89 08             	mov    %cx,(%eax)
410cc6:	6a 04                	push   $0x4
410cc8:	e8 29 03 01 00       	call   0x420ff6
410ccd:	83 c4 04             	add    $0x4,%esp
410cd0:	85 c0                	test   %eax,%eax
410cd2:	0f 84 24 04 00 00    	je     0x4110fc
410cd8:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
410cde:	89 84 24 a4 00 00 00 	mov    %eax,0xa4(%esp)
410ce5:	eb 09                	jmp    0x410cf0
410ce7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
410cee:	8b ff                	mov    %edi,%edi
410cf0:	83 3d dc 67 4c 00 00 	cmpl   $0x0,0x4c67dc
410cf7:	0f 85 dd 45 03 00    	jne    0x4452da
410cfd:	80 3d bc 67 4c 00 00 	cmpb   $0x0,0x4c67bc
410d04:	0f 84 7a 47 03 00    	je     0x445484
410d0a:	8b b4 24 a4 00 00 00 	mov    0xa4(%esp),%esi
410d11:	ff 0e                	decl   (%esi)
410d13:	75 18                	jne    0x410d2d
410d15:	ff b4 24 98 00 00 00 	push   0x98(%esp)
410d1c:	e8 4b 03 01 00       	call   0x42106c
410d21:	83 c4 04             	add    $0x4,%esp
410d24:	56                   	push   %esi
410d25:	e8 42 03 01 00       	call   0x42106c
410d2a:	83 c4 04             	add    $0x4,%esp
410d2d:	83 bf 84 01 00 00 00 	cmpl   $0x0,0x184(%edi)
410d34:	0f 85 73 47 03 00    	jne    0x4454ad
410d3a:	80 3d 30 69 4c 00 00 	cmpb   $0x0,0x4c6930
410d41:	0f 85 e5 4d 03 00    	jne    0x445b2c
410d47:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
410d4d:	83 f8 07             	cmp    $0x7,%eax
410d50:	0f 84 f3 4e 03 00    	je     0x445c49
410d56:	83 f8 02             	cmp    $0x2,%eax
410d59:	0f 84 7e 02 00 00    	je     0x410fdd
410d5f:	83 f8 08             	cmp    $0x8,%eax
410d62:	0f 84 ba 51 03 00    	je     0x445f22
410d68:	83 f8 09             	cmp    $0x9,%eax
410d6b:	0f 84 b1 51 03 00    	je     0x445f22
410d71:	83 f8 03             	cmp    $0x3,%eax
410d74:	0f 84 63 02 00 00    	je     0x410fdd
410d7a:	83 f8 04             	cmp    $0x4,%eax
410d7d:	0f 84 5a 02 00 00    	je     0x410fdd
410d83:	83 f8 05             	cmp    $0x5,%eax
410d86:	0f 84 51 02 00 00    	je     0x410fdd
410d8c:	83 f8 06             	cmp    $0x6,%eax
410d8f:	0f 84 48 02 00 00    	je     0x410fdd
410d95:	8b 75 08             	mov    0x8(%ebp),%esi
410d98:	ff 45 08             	incl   0x8(%ebp)
410d9b:	89 b7 f4 00 00 00    	mov    %esi,0xf4(%edi)
410da1:	3b 35 a0 72 4c 00    	cmp    0x4c72a0,%esi
410da7:	0f 8f 48 50 03 00    	jg     0x445df5
410dad:	85 f6                	test   %esi,%esi
410daf:	0f 8e 40 50 03 00    	jle    0x445df5
410db5:	c1 e6 04             	shl    $0x4,%esi
410db8:	03 35 dc 72 4c 00    	add    0x4c72dc,%esi
410dbe:	0f 84 31 50 03 00    	je     0x445df5
410dc4:	8b 46 04             	mov    0x4(%esi),%eax
410dc7:	33 d2                	xor    %edx,%edx
410dc9:	b9 01 00 00 00       	mov    $0x1,%ecx
410dce:	89 54 24 50          	mov    %edx,0x50(%esp)
410dd2:	89 54 24 58          	mov    %edx,0x58(%esp)
410dd6:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
410dda:	8b 00                	mov    (%eax),%eax
410ddc:	89 44 24 08          	mov    %eax,0x8(%esp)
410de0:	89 54 24 14          	mov    %edx,0x14(%esp)
410de4:	89 54 24 20          	mov    %edx,0x20(%esp)
410de8:	0f bf 40 08          	movswl 0x8(%eax),%eax
410dec:	85 c0                	test   %eax,%eax
410dee:	0f 85 d4 00 00 00    	jne    0x410ec8
410df4:	8d 45 08             	lea    0x8(%ebp),%eax
410df7:	8b cf                	mov    %edi,%ecx
410df9:	50                   	push   %eax
410dfa:	56                   	push   %esi
410dfb:	e8 80 d7 ff ff       	call   0x40e580
410e00:	8b 74 24 58          	mov    0x58(%esp),%esi
410e04:	85 f6                	test   %esi,%esi
410e06:	0f 85 37 01 00 00    	jne    0x410f43
410e0c:	8b 54 24 50          	mov    0x50(%esp),%edx
410e10:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
410e14:	89 54 24 14          	mov    %edx,0x14(%esp)
410e18:	83 f9 05             	cmp    $0x5,%ecx
410e1b:	0f 8d c8 02 00 00    	jge    0x4110e9
410e21:	c7 44 24 5c 01 00 00 	movl   $0x1,0x5c(%esp)
410e28:	00
410e29:	c7 44 24 50 00 00 00 	movl   $0x0,0x50(%esp)
410e30:	00
410e31:	8b 35 f0 f6 48 00    	mov    0x48f6f0,%esi
410e37:	80 bf fc 00 00 00 00 	cmpb   $0x0,0xfc(%edi)
410e3e:	0f 84 3b fd ff ff    	je     0x410b7f
410e44:	8b 87 ec 00 00 00    	mov    0xec(%edi),%eax
410e4a:	c6 87 44 01 00 00 00 	movb   $0x0,0x144(%edi)
410e51:	83 f8 01             	cmp    $0x1,%eax
410e54:	0f 84 e3 01 00 00    	je     0x41103d
410e5a:	48                   	dec    %eax
410e5b:	89 87 ec 00 00 00    	mov    %eax,0xec(%edi)
410e61:	33 c0                	xor    %eax,%eax
410e63:	5f                   	pop    %edi
410e64:	5e                   	pop    %esi
410e65:	8b e5                	mov    %ebp,%esp
410e67:	5d                   	pop    %ebp
410e68:	c2 04 00             	ret    $0x4
410e6b:	8b 06                	mov    (%esi),%eax
410e6d:	80 78 11 00          	cmpb   $0x0,0x11(%eax)
410e71:	75 39                	jne    0x410eac
410e73:	8b 78 14             	mov    0x14(%eax),%edi
410e76:	ff 15 b8 f7 48 00    	call   *0x48f7b8
410e7c:	8b c8                	mov    %eax,%ecx
410e7e:	33 d2                	xor    %edx,%edx
410e80:	2b c7                	sub    %edi,%eax
410e82:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
410e88:	0f 87 2a 44 03 00    	ja     0x4452b8
410e8e:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
410e94:	77 01                	ja     0x410e97
410e96:	99                   	cltd
410e97:	8b 3e                	mov    (%esi),%edi
410e99:	85 d2                	test   %edx,%edx
410e9b:	7c 0f                	jl     0x410eac
410e9d:	0f 8f 0b 02 00 00    	jg     0x4110ae
410ea3:	3b 47 18             	cmp    0x18(%edi),%eax
410ea6:	0f 83 02 02 00 00    	jae    0x4110ae
410eac:	8b 76 04             	mov    0x4(%esi),%esi
410eaf:	e9 7c fd ff ff       	jmp    0x410c30
410eb4:	8b 08                	mov    (%eax),%ecx
410eb6:	80 79 11 00          	cmpb   $0x0,0x11(%ecx)
410eba:	0f 85 09 44 03 00    	jne    0x4452c9
410ec0:	8b 40 04             	mov    0x4(%eax),%eax
410ec3:	e9 7a fd ff ff       	jmp    0x410c42
410ec8:	83 f8 33             	cmp    $0x33,%eax
410ecb:	75 0d                	jne    0x410eda
410ecd:	56                   	push   %esi
410ece:	8b cf                	mov    %edi,%ecx
410ed0:	e8 2b d9 ff ff       	call   0x40e800
410ed5:	e9 26 ff ff ff       	jmp    0x410e00
410eda:	48                   	dec    %eax
410edb:	83 f8 7e             	cmp    $0x7e,%eax
410ede:	0f 87 30 4e 03 00    	ja     0x445d14
410ee4:	0f b6 80 24 11 41 00 	movzbl 0x411124(%eax),%eax
410eeb:	ff 24 85 10 11 41 00 	jmp    *0x411110(,%eax,4)
410ef2:	8d 44 24 50          	lea    0x50(%esp),%eax
410ef6:	8b cf                	mov    %edi,%ecx
410ef8:	50                   	push   %eax