4107d3:	0f 85 98 fb ff ff    	jne    0x410371
4107d9:	e9 7f 99 06 00       	jmp    0x47a15d
4107de:	8b 46 0c             	mov    0xc(%esi),%eax
4107e1:	ff 08                	decl   (%eax)
4107e3:	8b 46 0c             	mov    0xc(%esi),%eax
4107e6:	83 38 00             	cmpl   $0x0,(%eax)
4107e9:	0f 84 81 99 06 00    	je     0x47a170
4107ef:	56                   	push   %esi
4107f0:	e8 69 ed 00 00       	call   0x41f55e
4107f5:	83 c4 04             	add    $0x4,%esp
4107f8:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4107ff:	e9 78 fb ff ff       	jmp    0x41037c
410804:	8b c2                	mov    %edx,%eax
410806:	89 54 24 60          	mov    %edx,0x60(%esp)
41080a:	e9 ea f9 ff ff       	jmp    0x4101f9
41080f:	83 44 24 38 02       	addl   $0x2,0x38(%esp)
410814:	83 c0 02             	add    $0x2,%eax
410817:	89 44 24 40          	mov    %eax,0x40(%esp)
41081b:	49                   	dec    %ecx
41081c:	0f 85 fe fd ff ff    	jne    0x410620
410822:	33 c0                	xor    %eax,%eax
410824:	e9 75 fc ff ff       	jmp    0x41049e
410829:	8d 41 01             	lea    0x1(%ecx),%eax
41082c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41082f:	be 0d 00 00 00       	mov    $0xd,%esi
410834:	89 01                	mov    %eax,(%ecx)
410836:	e9 5d f7 ff ff       	jmp    0x40ff98
41083b:	89 33                	mov    %esi,(%ebx)
41083d:	c6 44 24 5d 00       	movb   $0x0,0x5d(%esp)
410842:	e9 a2 fa ff ff       	jmp    0x4102e9
410847:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
41084c:	0f 85 e5 06 00 00    	jne    0x410f37
410852:	6a 18                	push   $0x18
410854:	e8 91 ec 00 00       	call   0x41f4ea
410859:	8b f0                	mov    %eax,%esi
41085b:	83 c4 04             	add    $0x4,%esp
41085e:	85 f6                	test   %esi,%esi
410860:	0f 84 f5 0c 00 00    	je     0x41155b
410866:	68 20 22 4c 00       	push   $0x4c2220
41086b:	8b ce                	mov    %esi,%ecx
41086d:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
410874:	e8 a7 0e 00 00       	call   0x411720
410879:	8b 44 24 10          	mov    0x10(%esp),%eax
41087d:	8b d6                	mov    %esi,%edx
41087f:	89 46 10             	mov    %eax,0x10(%esi)
410882:	8b 74 24 24          	mov    0x24(%esp),%esi
410886:	89 54 24 10          	mov    %edx,0x10(%esp)
41088a:	89 54 24 28          	mov    %edx,0x28(%esp)
41088e:	e9 16 fb ff ff       	jmp    0x4103a9
410893:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
410898:	0f 85 c4 0c 00 00    	jne    0x411562
41089e:	8b f2                	mov    %edx,%esi
4108a0:	e9 22 fb ff ff       	jmp    0x4103c7
4108a5:	84 c9                	test   %cl,%cl
4108a7:	0f 84 48 05 00 00    	je     0x410df5
4108ad:	8b 43 04             	mov    0x4(%ebx),%eax
4108b0:	83 38 12             	cmpl   $0x12,(%eax)
4108b3:	0f 84 7c 00 00 00    	je     0x410935
4108b9:	84 c9                	test   %cl,%cl
4108bb:	0f 85 6e 06 00 00    	jne    0x410f2f
4108c1:	8b c3                	mov    %ebx,%eax
4108c3:	83 38 14             	cmpl   $0x14,(%eax)
4108c6:	0f 84 de 0c 00 00    	je     0x4115aa
4108cc:	8d 44 24 20          	lea    0x20(%esp),%eax
4108d0:	50                   	push   %eax
4108d1:	8d 44 24 58          	lea    0x58(%esp),%eax
4108d5:	50                   	push   %eax
4108d6:	e8 35 14 00 00       	call   0x411d10
4108db:	85 c0                	test   %eax,%eax
4108dd:	0f 88 be 0c 00 00    	js     0x4115a1
4108e3:	8b 5c 24 58          	mov    0x58(%esp),%ebx
4108e7:	8a 4c 24 5d          	mov    0x5d(%esp),%cl
4108eb:	89 5c 24 34          	mov    %ebx,0x34(%esp)
4108ef:	eb b4                	jmp    0x4108a5
4108f1:	85 c9                	test   %ecx,%ecx
4108f3:	74 1c                	je     0x410911
4108f5:	8b 44 8e fc          	mov    -0x4(%esi,%ecx,4),%eax
4108f9:	0f b7 40 08          	movzwl 0x8(%eax),%eax
4108fd:	66 83 f8 48          	cmp    $0x48,%ax
410901:	0f 84 6c 94 06 00    	je     0x479d73
410907:	66 83 f8 4f          	cmp    $0x4f,%ax
41090b:	0f 84 62 94 06 00    	je     0x479d73
410911:	8d 41 01             	lea    0x1(%ecx),%eax
410914:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410917:	be 12 00 00 00       	mov    $0x12,%esi
41091c:	89 01                	mov    %eax,(%ecx)
41091e:	e9 75 f6 ff ff       	jmp    0x40ff98
410923:	8d 41 01             	lea    0x1(%ecx),%eax
410926:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410929:	be 13 00 00 00       	mov    $0x13,%esi
41092e:	89 01                	mov    %eax,(%ecx)
410930:	e9 63 f6 ff ff       	jmp    0x40ff98
410935:	84 c9                	test   %cl,%cl
410937:	74 1a                	je     0x410953
410939:	8b 73 04             	mov    0x4(%ebx),%esi
41093c:	53                   	push   %ebx
41093d:	e8 1c ec 00 00       	call   0x41f55e
410942:	8b de                	mov    %esi,%ebx
410944:	8b 74 24 1c          	mov    0x1c(%esp),%esi
410948:	83 c4 04             	add    $0x4,%esp
41094b:	89 5c 24 34          	mov    %ebx,0x34(%esp)
41094f:	89 5c 24 58          	mov    %ebx,0x58(%esp)
410953:	80 7c 24 5c 00       	cmpb   $0x0,0x5c(%esp)
410958:	0f 84 f6 9c 06 00    	je     0x47a654
41095e:	c6 44 24 5d 01       	movb   $0x1,0x5d(%esp)
410963:	ff 4c 24 54          	decl   0x54(%esp)
410967:	e9 81 f9 ff ff       	jmp    0x4102ed
41096c:	8d 41 01             	lea    0x1(%ecx),%eax
41096f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410972:	be 01 00 00 00       	mov    $0x1,%esi
410977:	89 01                	mov    %eax,(%ecx)
410979:	e9 1a f6 ff ff       	jmp    0x40ff98
41097e:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
410983:	c7 44 24 18 16 00 00 	movl   $0x16,0x18(%esp)
41098a:	00
41098b:	0f 84 87 08 00 00    	je     0x411218
410991:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
410996:	0f 85 03 09 00 00    	jne    0x41129f
41099c:	6a 18                	push   $0x18
41099e:	e8 47 eb 00 00       	call   0x41f4ea
4109a3:	8b f0                	mov    %eax,%esi
4109a5:	83 c4 04             	add    $0x4,%esp
4109a8:	85 f6                	test   %esi,%esi
4109aa:	0f 84 7d 0b 00 00    	je     0x41152d
4109b0:	68 20 22 4c 00       	push   $0x4c2220
4109b5:	8b ce                	mov    %esi,%ecx
4109b7:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4109be:	e8 5d 0d 00 00       	call   0x411720
4109c3:	8b 44 24 10          	mov    0x10(%esp),%eax
4109c7:	89 46 10             	mov    %eax,0x10(%esi)
4109ca:	8b c6                	mov    %esi,%eax
4109cc:	89 44 24 10          	mov    %eax,0x10(%esp)
4109d0:	89 44 24 28          	mov    %eax,0x28(%esp)
4109d4:	8b 45 08             	mov    0x8(%ebp),%eax
4109d7:	8b 75 0c             	mov    0xc(%ebp),%esi
4109da:	8b 50 04             	mov    0x4(%eax),%edx
4109dd:	8b 0e                	mov    (%esi),%ecx
4109df:	ff 44 24 24          	incl   0x24(%esp)
4109e3:	8b 44 8a 04          	mov    0x4(%edx,%ecx,4),%eax
4109e7:	66 83 78 08 47       	cmpw   $0x47,0x8(%eax)
4109ec:	0f 85 ae 8f 06 00    	jne    0x4799a0
4109f2:	83 7c 24 24 01       	cmpl   $0x1,0x24(%esp)
4109f7:	0f 84 2c 08 00 00    	je     0x411229
4109fd:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
410a02:	8b 44 24 10          	mov    0x10(%esp),%eax
410a06:	0f 85 28 0b 00 00    	jne    0x411534
410a0c:	89 44 24 30          	mov    %eax,0x30(%esp)
410a10:	c7 44 24 70 50 dc 49 	movl   $0x49dc50,0x70(%esp)
410a17:	00
410a18:	c7 44 24 74 00 00 00 	movl   $0x0,0x74(%esp)
410a1f:	00
410a20:	c7 44 24 78 00 00 00 	movl   $0x0,0x78(%esp)
410a27:	00
410a28:	c7 44 24 7c 00 00 00 	movl   $0x0,0x7c(%esp)
410a2f:	00
410a30:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
410a33:	8b 08                	mov    (%eax),%ecx
410a35:	0f bf 40 0a          	movswl 0xa(%eax),%eax
410a39:	89 44 24 40          	mov    %eax,0x40(%esp)
410a3d:	a1 14 22 4c 00       	mov    0x4c2214,%eax
410a42:	89 4c 24 60          	mov    %ecx,0x60(%esp)
410a46:	a8 01                	test   $0x1,%al
410a48:	0f 84 6e 8f 06 00    	je     0x4799bc
410a4e:	3b 0d 18 22 4c 00    	cmp    0x4c2218,%ecx
410a54:	0f 84 a2 8f 06 00    	je     0x4799fc
410a5a:	8b 45 08             	mov    0x8(%ebp),%eax
410a5d:	ff 06                	incl   (%esi)
410a5f:	8b 0e                	mov    (%esi),%ecx
410a61:	8b 50 04             	mov    0x4(%eax),%edx
410a64:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
410a67:	66 83 78 08 47       	cmpw   $0x47,0x8(%eax)
410a6c:	0f 85 ef 9c 06 00    	jne    0x47a761
410a72:	8d 41 01             	lea    0x1(%ecx),%eax
410a75:	89 06                	mov    %eax,(%esi)
410a77:	89 44 24 48          	mov    %eax,0x48(%esp)
410a7b:	33 f6                	xor    %esi,%esi
410a7d:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
410a84:	8b 45 0c             	mov    0xc(%ebp),%eax
410a87:	8b 08                	mov    (%eax),%ecx
410a89:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
410a8c:	0f bf 40 08          	movswl 0x8(%eax),%eax
410a90:	83 e8 47             	sub    $0x47,%eax
410a93:	0f 84 fd 04 00 00    	je     0x410f96
410a99:	48                   	dec    %eax
410a9a:	74 13                	je     0x410aaf
410a9c:	83 e8 37             	sub    $0x37,%eax
410a9f:	0f 84 e7 0a 00 00    	je     0x41158c
410aa5:	8d 41 01             	lea    0x1(%ecx),%eax
410aa8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410aab:	89 01                	mov    %eax,(%ecx)
410aad:	eb d5                	jmp    0x410a84
410aaf:	85 f6                	test   %esi,%esi
410ab1:	0f 85 d1 04 00 00    	jne    0x410f88
410ab7:	8b 55 0c             	mov    0xc(%ebp),%edx
410aba:	89 74 24 6c          	mov    %esi,0x6c(%esp)
410abe:	8b 0a                	mov    (%edx),%ecx
410ac0:	89 4c 24 38          	mov    %ecx,0x38(%esp)
410ac4:	8d 41 01             	lea    0x1(%ecx),%eax
410ac7:	89 02                	mov    %eax,(%edx)
410ac9:	39 4c 24 48          	cmp    %ecx,0x48(%esp)
410acd:	0f 83 0b 01 00 00    	jae    0x410bde
410ad3:	eb 0b                	jmp    0x410ae0
410ad5:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
410adc:	8d 64 24 00          	lea    0x0(%esp),%esp
410ae0:	8b 44 24 7c          	mov    0x7c(%esp),%eax
410ae4:	c7 84 24 98 00 00 00 	movl   $0x0,0x98(%esp)
410aeb:	00 00 00 00
410aef:	c7 84 24 a0 00 00 00 	movl   $0x0,0xa0(%esp)
410af6:	00 00 00 00
410afa:	c7 84 24 a4 00 00 00 	movl   $0x1,0xa4(%esp)
410b01:	01 00 00 00
410b05:	39 44 24 78          	cmp    %eax,0x78(%esp)
410b09:	75 3b                	jne    0x410b46
410b0b:	03 c0                	add    %eax,%eax
410b0d:	83 f8 08             	cmp    $0x8,%eax
410b10:	73 05                	jae    0x410b17
410b12:	b8 08 00 00 00       	mov    $0x8,%eax
410b17:	33 c9                	xor    %ecx,%ecx
410b19:	89 44 24 7c          	mov    %eax,0x7c(%esp)
410b1d:	ba 04 00 00 00       	mov    $0x4,%edx
410b22:	f7 e2                	mul    %edx
410b24:	0f 90 c1             	seto   %cl
410b27:	f7 d9                	neg    %ecx
410b29:	0b c8                	or     %eax,%ecx
410b2b:	51                   	push   %ecx
410b2c:	e8 b9 e9 00 00       	call   0x41f4ea
410b31:	8b f0                	mov    %eax,%esi
410b33:	8b 44 24 78          	mov    0x78(%esp),%eax
410b37:	83 c4 04             	add    $0x4,%esp
410b3a:	85 c0                	test   %eax,%eax
410b3c:	0f 85 e3 8e 06 00    	jne    0x479a25
410b42:	89 74 24 74          	mov    %esi,0x74(%esp)
410b46:	6a 10                	push   $0x10
410b48:	e8 9d e9 00 00       	call   0x41f4ea
410b4d:	8b f0                	mov    %eax,%esi
410b4f:	83 c4 04             	add    $0x4,%esp
410b52:	85 f6                	test   %esi,%esi
410b54:	0f 84 e2 09 00 00    	je     0x41153c
410b5a:	8d 84 24 98 00 00 00 	lea    0x98(%esp),%eax
410b61:	50                   	push   %eax
410b62:	8b ce                	mov    %esi,%ecx
410b64:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
410b6b:	e8 b0 0b 00 00       	call   0x411720
410b70:	8b 4c 24 78          	mov    0x78(%esp),%ecx
410b74:	8b 44 24 74          	mov    0x74(%esp),%eax
410b78:	ff 74 24 38          	push   0x38(%esp)
410b7c:	89 34 88             	mov    %esi,(%eax,%ecx,4)
410b7f:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
410b83:	8b 44 24 78          	mov    0x78(%esp),%eax
410b87:	41                   	inc    %ecx
410b88:	89 4c 24 7c          	mov    %ecx,0x7c(%esp)
410b8c:	ff 74 88 fc          	push   -0x4(%eax,%ecx,4)
410b90:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
410b94:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
410b9b:	50                   	push   %eax
410b9c:	ff 75 08             	push   0x8(%ebp)
410b9f:	e8 8c f2 ff ff       	call   0x40fe30
410ba4:	85 c0                	test   %eax,%eax
410ba6:	0f 88 94 9b 06 00    	js     0x47a740
410bac:	8b 74 24 6c          	mov    0x6c(%esp),%esi
410bb0:	8b 8c 24 80 00 00 00 	mov    0x80(%esp),%ecx
410bb7:	8b 54 24 38          	mov    0x38(%esp),%edx
410bbb:	46                   	inc    %esi
410bbc:	89 74 24 6c          	mov    %esi,0x6c(%esp)
410bc0:	3b ca                	cmp    %edx,%ecx
410bc2:	0f 85 08 06 00 00    	jne    0x4111d0
410bc8:	c7 84 24 a4 00 00 00 	movl   $0x1,0xa4(%esp)
410bcf:	01 00 00 00
410bd3:	c7 84 24 98 00 00 00 	movl   $0x0,0x98(%esp)
410bda:	00 00 00 00
410bde:	8b 4c 24 14          	mov    0x14(%esp),%ecx
410be2:	ff 74 24 60          	push   0x60(%esp)
410be6:	81 c1 9c 04 00 00    	add    $0x49c,%ecx
410bec:	e8 0f 3c 00 00       	call   0x414800
410bf1:	3b 70 18             	cmp    0x18(%eax),%esi
410bf4:	0f 8c 9c 09 00 00    	jl     0x411596
410bfa:	8b 4c 24 14          	mov    0x14(%esp),%ecx
410bfe:	ff 74 24 60          	push   0x60(%esp)
410c02:	8d 89 9c 04 00 00    	lea    0x49c(%ecx),%ecx
410c08:	e8 f3 3b 00 00       	call   0x414800
410c0d:	3b 70 1c             	cmp    0x1c(%eax),%esi
410c10:	0f 8f 80 09 00 00    	jg     0x411596
410c16:	8b 74 24 30          	mov    0x30(%esp),%esi
410c1a:	8b 4e 08             	mov    0x8(%esi),%ecx
410c1d:	85 c9                	test   %ecx,%ecx
410c1f:	0f 85 2b 8e 06 00    	jne    0x479a50
410c25:	8b 46 0c             	mov    0xc(%esi),%eax
410c28:	83 f8 05             	cmp    $0x5,%eax
410c2b:	0f 8d 31 8e 06 00    	jge    0x479a62
410c31:	8b 54 24 14          	mov    0x14(%esp),%edx
410c35:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
410c3c:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
410c42:	8b 02                	mov    (%edx),%eax
410c44:	8b 48 04             	mov    0x4(%eax),%ecx
410c47:	8b 44 11 08          	mov    0x8(%ecx,%edx,1),%eax
410c4b:	03 ca                	add    %edx,%ecx
410c4d:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
410c51:	0f 85 ec 08 00 00    	jne    0x411543
410c57:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
410c5e:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
410c62:	8b 41 08             	mov    0x8(%ecx),%eax
410c65:	0f 85 e0 08 00 00    	jne    0x41154b
410c6b:	c6 40 18 00          	movb   $0x0,0x18(%eax)
410c6f:	8b 02                	mov    (%edx),%eax
410c71:	8b 70 04             	mov    0x4(%eax),%esi
410c74:	03 f2                	add    %edx,%esi
410c76:	89 74 24 48          	mov    %esi,0x48(%esp)
410c7a:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
410c7e:	0f 85 8d 8e 06 00    	jne    0x479b11
410c84:	8b 76 08             	mov    0x8(%esi),%esi
410c87:	8b 4e 28             	mov    0x28(%esi),%ecx
410c8a:	85 c9                	test   %ecx,%ecx
410c8c:	0f 85 8a 8e 06 00    	jne    0x479b1c
410c92:	8b 46 2c             	mov    0x2c(%esi),%eax
410c95:	83 f8 05             	cmp    $0x5,%eax
410c98:	0f 8d 94 8e 06 00    	jge    0x479b32
410c9e:	8b 44 24 48          	mov    0x48(%esp),%eax
410ca2:	c7 46 2c 01 00 00 00 	movl   $0x1,0x2c(%esi)
410ca9:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
410cb0:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
410cb4:	8b 40 08             	mov    0x8(%eax),%eax
410cb7:	0f 85 96 08 00 00    	jne    0x411553
410cbd:	ff 74 24 60          	push   0x60(%esp)
410cc1:	8d 8a 9c 04 00 00    	lea    0x49c(%edx),%ecx
410cc7:	c6 40 30 00          	movb   $0x0,0x30(%eax)
410ccb:	e8 30 3b 00 00       	call   0x414800
410cd0:	8b 50 10             	mov    0x10(%eax),%edx
410cd3:	8b 48 14             	mov    0x14(%eax),%ecx
410cd6:	8b 70 0c             	mov    0xc(%eax),%esi
410cd9:	ff 74 24 30          	push   0x30(%esp)
410cdd:	8d 44 24 74          	lea    0x74(%esp),%eax
410ce1:	50                   	push   %eax
410ce2:	8b 44 24 1c          	mov    0x1c(%esp),%eax
410ce6:	8b 00                	mov    (%eax),%eax
410ce8:	8b 0c 01             	mov    (%ecx,%eax,1),%ecx
410ceb:	03 ca                	add    %edx,%ecx
410ced:	03 4c 24 1c          	add    0x1c(%esp),%ecx
410cf1:	ff d6                	call   *%esi
410cf3:	85 c0                	test   %eax,%eax
410cf5:	0f 88 80 9a 06 00    	js     0x47a77b
410cfb:	33 f6                	xor    %esi,%esi
410cfd:	c7 44 24 70 50 dc 49 	movl   $0x49dc50,0x70(%esp)
410d04:	00
410d05:	39 74 24 78          	cmp    %esi,0x78(%esp)
410d09:	76 37                	jbe    0x410d42
410d0b:	eb 03                	jmp    0x410d10
410d0d:	8d 49 00             	lea    0x0(%ecx),%ecx
410d10:	8b 44 24 74          	mov    0x74(%esp),%eax
410d14:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
410d17:	89 4c 24 48          	mov    %ecx,0x48(%esp)