414d5f:	8b c8                	mov    %eax,%ecx
414d61:	89 45 f4             	mov    %eax,-0xc(%ebp)
414d64:	8d 41 02             	lea    0x2(%ecx),%eax
414d67:	89 45 f8             	mov    %eax,-0x8(%ebp)
414d6a:	66 8b 01             	mov    (%ecx),%ax
414d6d:	83 c1 02             	add    $0x2,%ecx
414d70:	66 3b c6             	cmp    %si,%ax
414d73:	75 f5                	jne    0x414d6a
414d75:	2b 4d f8             	sub    -0x8(%ebp),%ecx
414d78:	8b 73 0c             	mov    0xc(%ebx),%esi
414d7b:	d1 f9                	sar    $1,%ecx
414d7d:	85 f6                	test   %esi,%esi
414d7f:	0f 84 08 bf 00 00    	je     0x420c8d
414d85:	2b 33                	sub    (%ebx),%esi
414d87:	8d 42 01             	lea    0x1(%edx),%eax
414d8a:	d1 fe                	sar    $1,%esi
414d8c:	46                   	inc    %esi
414d8d:	3b c7                	cmp    %edi,%eax
414d8f:	7d 3a                	jge    0x414dcb
414d91:	3b f7                	cmp    %edi,%esi
414d93:	7d 36                	jge    0x414dcb
414d95:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
414d98:	3b c7                	cmp    %edi,%eax
414d9a:	7d 2f                	jge    0x414dcb
414d9c:	ff 33                	push   (%ebx)
414d9e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414da1:	8b d7                	mov    %edi,%edx
414da3:	e8 f8 a5 ff ff       	call   0x40f3a0
414da8:	8b 43 04             	mov    0x4(%ebx),%eax
414dab:	33 c9                	xor    %ecx,%ecx
414dad:	8b d7                	mov    %edi,%edx
414daf:	66 89 0c 70          	mov    %cx,(%eax,%esi,2)
414db3:	8b 43 18             	mov    0x18(%ebx),%eax
414db6:	8b 4b 04             	mov    0x4(%ebx),%ecx
414db9:	83 c0 2c             	add    $0x2c,%eax
414dbc:	50                   	push   %eax
414dbd:	e8 7e ae ff ff       	call   0x40fc40
414dc2:	33 c0                	xor    %eax,%eax
414dc4:	5f                   	pop    %edi
414dc5:	5e                   	pop    %esi
414dc6:	5b                   	pop    %ebx
414dc7:	c9                   	leave
414dc8:	c2 04 00             	ret    $0x4
414dcb:	33 c0                	xor    %eax,%eax
414dcd:	40                   	inc    %eax
414dce:	eb f4                	jmp    0x414dc4
414dd0:	8b ff                	mov    %edi,%edi
414dd2:	53                   	push   %ebx
414dd3:	56                   	push   %esi
414dd4:	33 f6                	xor    %esi,%esi
414dd6:	8b d9                	mov    %ecx,%ebx
414dd8:	46                   	inc    %esi
414dd9:	57                   	push   %edi
414dda:	8b fa                	mov    %edx,%edi
414ddc:	3b de                	cmp    %esi,%ebx
414dde:	0f 82 a5 00 00 00    	jb     0x414e89
414de4:	8b 07                	mov    (%edi),%eax
414de6:	b9 70 26 40 00       	mov    $0x402670,%ecx
414deb:	66 8b 10             	mov    (%eax),%dx
414dee:	66 3b 11             	cmp    (%ecx),%dx
414df1:	0f 85 98 00 00 00    	jne    0x414e8f
414df7:	66 85 d2             	test   %dx,%dx
414dfa:	74 19                	je     0x414e15
414dfc:	66 8b 50 02          	mov    0x2(%eax),%dx
414e00:	66 3b 51 02          	cmp    0x2(%ecx),%dx
414e04:	0f 85 85 00 00 00    	jne    0x414e8f
414e0a:	83 c0 04             	add    $0x4,%eax
414e0d:	83 c1 04             	add    $0x4,%ecx
414e10:	66 85 d2             	test   %dx,%dx
414e13:	75 d6                	jne    0x414deb
414e15:	33 c0                	xor    %eax,%eax
414e17:	85 c0                	test   %eax,%eax
414e19:	0f 84 85 00 00 00    	je     0x414ea4
414e1f:	8b 07                	mov    (%edi),%eax
414e21:	b9 68 26 40 00       	mov    $0x402668,%ecx
414e26:	66 8b 10             	mov    (%eax),%dx
414e29:	66 3b 11             	cmp    (%ecx),%dx
414e2c:	75 68                	jne    0x414e96
414e2e:	66 85 d2             	test   %dx,%dx
414e31:	74 15                	je     0x414e48
414e33:	66 8b 50 02          	mov    0x2(%eax),%dx
414e37:	66 3b 51 02          	cmp    0x2(%ecx),%dx
414e3b:	75 59                	jne    0x414e96
414e3d:	83 c0 04             	add    $0x4,%eax
414e40:	83 c1 04             	add    $0x4,%ecx
414e43:	66 85 d2             	test   %dx,%dx
414e46:	75 de                	jne    0x414e26
414e48:	33 c0                	xor    %eax,%eax
414e4a:	85 c0                	test   %eax,%eax
414e4c:	74 56                	je     0x414ea4
414e4e:	8b 07                	mov    (%edi),%eax
414e50:	b9 4c 26 40 00       	mov    $0x40264c,%ecx
414e55:	66 8b 10             	mov    (%eax),%dx
414e58:	66 3b 11             	cmp    (%ecx),%dx
414e5b:	75 40                	jne    0x414e9d
414e5d:	66 85 d2             	test   %dx,%dx
414e60:	74 15                	je     0x414e77
414e62:	66 8b 50 02          	mov    0x2(%eax),%dx
414e66:	66 3b 51 02          	cmp    0x2(%ecx),%dx
414e6a:	75 31                	jne    0x414e9d
414e6c:	83 c0 04             	add    $0x4,%eax
414e6f:	83 c1 04             	add    $0x4,%ecx
414e72:	66 85 d2             	test   %dx,%dx
414e75:	75 de                	jne    0x414e55
414e77:	33 c0                	xor    %eax,%eax
414e79:	85 c0                	test   %eax,%eax
414e7b:	74 27                	je     0x414ea4
414e7d:	8b 7f 0c             	mov    0xc(%edi),%edi
414e80:	46                   	inc    %esi
414e81:	3b f3                	cmp    %ebx,%esi
414e83:	0f 86 5b ff ff ff    	jbe    0x414de4
414e89:	33 c0                	xor    %eax,%eax
414e8b:	5f                   	pop    %edi
414e8c:	5e                   	pop    %esi
414e8d:	5b                   	pop    %ebx
414e8e:	c3                   	ret
414e8f:	1b c0                	sbb    %eax,%eax
414e91:	83 c8 01             	or     $0x1,%eax
414e94:	eb 81                	jmp    0x414e17
414e96:	1b c0                	sbb    %eax,%eax
414e98:	83 c8 01             	or     $0x1,%eax
414e9b:	eb ad                	jmp    0x414e4a
414e9d:	1b c0                	sbb    %eax,%eax
414e9f:	83 c8 01             	or     $0x1,%eax
414ea2:	eb d5                	jmp    0x414e79
414ea4:	8b 07                	mov    (%edi),%eax
414ea6:	eb e3                	jmp    0x414e8b
414ea8:	8b ff                	mov    %edi,%edi
414eaa:	56                   	push   %esi
414eab:	8b d1                	mov    %ecx,%edx
414ead:	8b c1                	mov    %ecx,%eax
414eaf:	33 f6                	xor    %esi,%esi
414eb1:	eb 07                	jmp    0x414eba
414eb3:	8b c2                	mov    %edx,%eax
414eb5:	8b d1                	mov    %ecx,%edx
414eb7:	83 c1 02             	add    $0x2,%ecx
414eba:	66 39 31             	cmp    %si,(%ecx)
414ebd:	75 f4                	jne    0x414eb3
414ebf:	5e                   	pop    %esi
414ec0:	c3                   	ret
414ec1:	8b ff                	mov    %edi,%edi
414ec3:	55                   	push   %ebp
414ec4:	8b ec                	mov    %esp,%ebp
414ec6:	81 ec 84 04 00 00    	sub    $0x484,%esp
414ecc:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
414ed1:	33 c5                	xor    %ebp,%eax
414ed3:	89 45 fc             	mov    %eax,-0x4(%ebp)
414ed6:	53                   	push   %ebx
414ed7:	56                   	push   %esi
414ed8:	57                   	push   %edi
414ed9:	33 c0                	xor    %eax,%eax
414edb:	c6 45 ec 01          	movb   $0x1,-0x14(%ebp)
414edf:	bf 04 01 00 00       	mov    $0x104,%edi
414ee4:	89 45 e8             	mov    %eax,-0x18(%ebp)
414ee7:	57                   	push   %edi
414ee8:	50                   	push   %eax
414ee9:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
414eef:	89 7d f0             	mov    %edi,-0x10(%ebp)
414ef2:	8b f2                	mov    %edx,%esi
414ef4:	8b d9                	mov    %ecx,%ebx
414ef6:	50                   	push   %eax
414ef7:	89 b5 88 fb ff ff    	mov    %esi,-0x478(%ebp)
414efd:	89 9d 8c fb ff ff    	mov    %ebx,-0x474(%ebp)
414f03:	e8 b5 30 00 00       	call   0x417fbd
414f08:	33 c0                	xor    %eax,%eax
414f0a:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
414f10:	83 c4 0c             	add    $0xc,%esp
414f13:	38 45 ec             	cmp    %al,-0x14(%ebp)
414f16:	0f 94 c0             	sete   %al
414f19:	48                   	dec    %eax
414f1a:	25 e3 7e 00 00       	and    $0x7ee3,%eax
414f1f:	03 c7                	add    %edi,%eax
414f21:	50                   	push   %eax
414f22:	e8 c9 94 ff ff       	call   0x40e3f0
414f27:	33 ff                	xor    %edi,%edi
414f29:	85 c0                	test   %eax,%eax
414f2b:	0f 88 3b 02 00 00    	js     0x41516c
414f31:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
414f37:	8b f3                	mov    %ebx,%esi
414f39:	8d 4e 02             	lea    0x2(%esi),%ecx
414f3c:	66 8b 06             	mov    (%esi),%ax
414f3f:	83 c6 02             	add    $0x2,%esi
414f42:	66 3b c7             	cmp    %di,%ax
414f45:	75 f5                	jne    0x414f3c
414f47:	2b f1                	sub    %ecx,%esi
414f49:	d1 fe                	sar    $1,%esi
414f4b:	0f 84 4e bd 00 00    	je     0x420c9f
414f51:	8d 46 03             	lea    0x3(%esi),%eax
414f54:	3d e7 7f 00 00       	cmp    $0x7fe7,%eax
414f59:	0f 87 ce 01 00 00    	ja     0x41512d
414f5f:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
414f65:	50                   	push   %eax
414f66:	53                   	push   %ebx
414f67:	ff 15 cc a0 44 00    	call   *0x44a0cc
414f6d:	83 f8 ff             	cmp    $0xffffffff,%eax
414f70:	0f 84 33 bd 00 00    	je     0x420ca9
414f76:	50                   	push   %eax
414f77:	ff 15 d8 a0 44 00    	call   *0x44a0d8
414f7d:	8b 8d b4 fb ff ff    	mov    -0x44c(%ebp),%ecx
414f83:	8b 85 90 fb ff ff    	mov    -0x470(%ebp),%eax
414f89:	a8 10                	test   $0x10,%al
414f8b:	0f 84 9c 01 00 00    	je     0x41512d
414f91:	a9 00 04 00 00       	test   $0x400,%eax
414f96:	0f 85 23 bd 00 00    	jne    0x420cbf
414f9c:	53                   	push   %ebx
414f9d:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
414fa3:	e8 99 56 ff ff       	call   0x40a641
414fa8:	0f b7 44 73 fe       	movzwl -0x2(%ebx,%esi,2),%eax
414fad:	83 f8 3a             	cmp    $0x3a,%eax
414fb0:	74 16                	je     0x414fc8
414fb2:	83 f8 5c             	cmp    $0x5c,%eax
414fb5:	74 11                	je     0x414fc8
414fb7:	68 0c 25 40 00       	push   $0x40250c
414fbc:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
414fc2:	e8 65 d3 ff ff       	call   0x41232c
414fc7:	46                   	inc    %esi
414fc8:	68 70 26 40 00       	push   $0x402670
414fcd:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
414fd3:	e8 54 d3 ff ff       	call   0x41232c
414fd8:	8b 45 e8             	mov    -0x18(%ebp),%eax
414fdb:	85 c0                	test   %eax,%eax
414fdd:	0f 84 ed bc 00 00    	je     0x420cd0
414fe3:	8d 8d 90 fb ff ff    	lea    -0x470(%ebp),%ecx
414fe9:	51                   	push   %ecx
414fea:	50                   	push   %eax
414feb:	ff 15 cc a0 44 00    	call   *0x44a0cc
414ff1:	89 85 84 fb ff ff    	mov    %eax,-0x47c(%ebp)
414ff7:	83 f8 ff             	cmp    $0xffffffff,%eax
414ffa:	0f 84 2d 01 00 00    	je     0x41512d
415000:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
415007:	0f 85 04 01 00 00    	jne    0x415111
41500d:	8d 95 c4 fd ff ff    	lea    -0x23c(%ebp),%edx
415013:	33 db                	xor    %ebx,%ebx
415015:	8b ca                	mov    %edx,%ecx
415017:	8d 79 02             	lea    0x2(%ecx),%edi
41501a:	66 8b 01             	mov    (%ecx),%ax
41501d:	83 c1 02             	add    $0x2,%ecx
415020:	66 3b c3             	cmp    %bx,%ax
415023:	75 f5                	jne    0x41501a
415025:	2b cf                	sub    %edi,%ecx
415027:	d1 f9                	sar    $1,%ecx
415029:	75 1a                	jne    0x415045
41502b:	8d 95 bc fb ff ff    	lea    -0x444(%ebp),%edx
415031:	8b ca                	mov    %edx,%ecx
415033:	8d 79 02             	lea    0x2(%ecx),%edi
415036:	66 8b 01             	mov    (%ecx),%ax
415039:	83 c1 02             	add    $0x2,%ecx
41503c:	66 3b c3             	cmp    %bx,%ax
41503f:	75 f5                	jne    0x415036
415041:	2b cf                	sub    %edi,%ecx
415043:	d1 f9                	sar    $1,%ecx
415045:	8d 04 31             	lea    (%ecx,%esi,1),%eax
415048:	3d e7 7f 00 00       	cmp    $0x7fe7,%eax
41504d:	0f 83 af be 00 00    	jae    0x420f02
415053:	8b 45 e8             	mov    -0x18(%ebp),%eax
415056:	85 c0                	test   %eax,%eax
415058:	0f 84 7d bc 00 00    	je     0x420cdb
41505e:	52                   	push   %edx
41505f:	8b 55 f0             	mov    -0x10(%ebp),%edx
415062:	8d 0c 70             	lea    (%eax,%esi,2),%ecx
415065:	2b d6                	sub    %esi,%edx
415067:	e8 34 a3 ff ff       	call   0x40f3a0
41506c:	8b 9d 90 fb ff ff    	mov    -0x470(%ebp),%ebx
415072:	f6 c3 10             	test   $0x10,%bl
415075:	0f 84 e5 bc 00 00    	je     0x420d60
41507b:	6a 04                	push   $0x4
41507d:	b9 34 24 40 00       	mov    $0x402434,%ecx
415082:	8d 85 bc fb ff ff    	lea    -0x444(%ebp),%eax
415088:	5b                   	pop    %ebx
415089:	66 8b 10             	mov    (%eax),%dx
41508c:	66 3b 11             	cmp    (%ecx),%dx
41508f:	0f 85 c4 00 00 00    	jne    0x415159
415095:	66 85 d2             	test   %dx,%dx
415098:	74 17                	je     0x4150b1
41509a:	66 8b 50 02          	mov    0x2(%eax),%dx
41509e:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4150a2:	0f 85 b1 00 00 00    	jne    0x415159
4150a8:	03 c3                	add    %ebx,%eax
4150aa:	03 cb                	add    %ebx,%ecx
4150ac:	66 85 d2             	test   %dx,%dx
4150af:	75 d8                	jne    0x415089
4150b1:	33 ff                	xor    %edi,%edi
4150b3:	8b c7                	mov    %edi,%eax
4150b5:	85 c0                	test   %eax,%eax
4150b7:	74 3d                	je     0x4150f6
4150b9:	b9 10 25 40 00       	mov    $0x402510,%ecx
4150be:	8d 85 bc fb ff ff    	lea    -0x444(%ebp),%eax
4150c4:	66 8b 10             	mov    (%eax),%dx
4150c7:	66 3b 11             	cmp    (%ecx),%dx
4150ca:	0f 85 95 00 00 00    	jne    0x415165
4150d0:	66 85 d2             	test   %dx,%dx
4150d3:	74 17                	je     0x4150ec
4150d5:	66 8b 50 02          	mov    0x2(%eax),%dx
4150d9:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4150dd:	0f 85 82 00 00 00    	jne    0x415165
4150e3:	03 c3                	add    %ebx,%eax
4150e5:	03 cb                	add    %ebx,%ecx
4150e7:	66 85 d2             	test   %dx,%dx
4150ea:	75 d8                	jne    0x4150c4
4150ec:	8b c7                	mov    %edi,%eax
4150ee:	85 c0                	test   %eax,%eax
4150f0:	0f 85 f0 bb 00 00    	jne    0x420ce6
4150f6:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
4150fc:	50                   	push   %eax
4150fd:	ff b5 84 fb ff ff    	push   -0x47c(%ebp)
415103:	ff 15 d4 a0 44 00    	call   *0x44a0d4
415109:	85 c0                	test   %eax,%eax
41510b:	0f 85 ef fe ff ff    	jne    0x415000
415111:	8b 9d 8c fb ff ff    	mov    -0x474(%ebp),%ebx
415117:	8b 85 84 fb ff ff    	mov    -0x47c(%ebp),%eax
41511d:	50                   	push   %eax
41511e:	ff 15 d8 a0 44 00    	call   *0x44a0d8
415124:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
41512b:	75 44                	jne    0x415171
41512d:	8b cb                	mov    %ebx,%ecx
41512f:	e8 3d 01 00 00       	call   0x415271
415134:	8b f0                	mov    %eax,%esi
415136:	8b 45 e8             	mov    -0x18(%ebp),%eax
415139:	89 7d e8             	mov    %edi,-0x18(%ebp)
41513c:	85 c0                	test   %eax,%eax
41513e:	74 08                	je     0x415148
415140:	50                   	push   %eax
415141:	ff 15 e0 a3 44 00    	call   *0x44a3e0
415147:	59                   	pop    %ecx
415148:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41514b:	8b c6                	mov    %esi,%eax
41514d:	5f                   	pop    %edi
41514e:	5e                   	pop    %esi
41514f:	33 cd                	xor    %ebp,%ecx
415151:	5b                   	pop    %ebx
415152:	e8 d9 19 00 00       	call   0x416b30
415157:	c9                   	leave
415158:	c3                   	ret
415159:	1b c0                	sbb    %eax,%eax
41515b:	83 c8 01             	or     $0x1,%eax
41515e:	33 ff                	xor    %edi,%edi
415160:	e9 50 ff ff ff       	jmp    0x4150b5
415165:	1b c0                	sbb    %eax,%eax
415167:	83 c8 01             	or     $0x1,%eax
41516a:	eb 82                	jmp    0x4150ee
41516c:	6a 08                	push   $0x8
41516e:	5e                   	pop    %esi
41516f:	eb c5                	jmp    0x415136
415171:	8b f7                	mov    %edi,%esi
415173:	eb c1                	jmp    0x415136
415175:	8b ff                	mov    %edi,%edi
415177:	55                   	push   %ebp
415178:	8b ec                	mov    %esp,%ebp
41517a:	83 ec 48             	sub    $0x48,%esp
41517d:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax