403956:	89 7e 0c             	mov    %edi,0xc(%esi)
403959:	77 02                	ja     0x40395d
40395b:	8b fb                	mov    %ebx,%edi
40395d:	8b 46 04             	mov    0x4(%esi),%eax
403960:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403963:	89 7e 08             	mov    %edi,0x8(%esi)
403966:	80 24 38 00          	andb   $0x0,(%eax,%edi,1)
40396a:	5f                   	pop    %edi
40396b:	5e                   	pop    %esi
40396c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403973:	5b                   	pop    %ebx
403974:	c9                   	leave
403975:	c2 04 00             	ret    $0x4
403978:	8b 44 24 04          	mov    0x4(%esp),%eax
40397c:	56                   	push   %esi
40397d:	8b 74 24 10          	mov    0x10(%esp),%esi
403981:	57                   	push   %edi
403982:	85 f6                	test   %esi,%esi
403984:	8d 3c 30             	lea    (%eax,%esi,1),%edi
403987:	76 1b                	jbe    0x4039a4
403989:	0f b6 47 ff          	movzbl -0x1(%edi),%eax
40398d:	ff 74 24 10          	push   0x10(%esp)
403991:	4f                   	dec    %edi
403992:	50                   	push   %eax
403993:	e8 71 28 00 00       	call   0x406209
403998:	59                   	pop    %ecx
403999:	83 f8 ff             	cmp    $0xffffffff,%eax
40399c:	59                   	pop    %ecx
40399d:	74 03                	je     0x4039a2
40399f:	4e                   	dec    %esi
4039a0:	75 e7                	jne    0x403989
4039a2:	85 f6                	test   %esi,%esi
4039a4:	75 04                	jne    0x4039aa
4039a6:	b0 01                	mov    $0x1,%al
4039a8:	eb 18                	jmp    0x4039c2
4039aa:	6a 01                	push   $0x1
4039ac:	5f                   	pop    %edi
4039ad:	3b f7                	cmp    %edi,%esi
4039af:	73 0f                	jae    0x4039c0
4039b1:	2b fe                	sub    %esi,%edi
4039b3:	ff 74 24 10          	push   0x10(%esp)
4039b7:	e8 e4 28 00 00       	call   0x4062a0
4039bc:	4f                   	dec    %edi
4039bd:	59                   	pop    %ecx
4039be:	75 f3                	jne    0x4039b3
4039c0:	32 c0                	xor    %al,%al
4039c2:	5f                   	pop    %edi
4039c3:	5e                   	pop    %esi
4039c4:	c3                   	ret
4039c5:	f6 05 50 1b 41 00 01 	testb  $0x1,0x411b50
4039cc:	75 07                	jne    0x4039d5
4039ce:	80 0d 50 1b 41 00 01 	orb    $0x1,0x411b50
4039d5:	e8 15 00 00 00       	call   0x4039ef
4039da:	f6 05 58 1b 41 00 01 	testb  $0x1,0x411b58
4039e1:	75 07                	jne    0x4039ea
4039e3:	80 0d 58 1b 41 00 01 	orb    $0x1,0x411b58
4039ea:	e9 0c 00 00 00       	jmp    0x4039fb
4039ef:	68 d0 28 40 00       	push   $0x4028d0
4039f4:	e8 11 1b 00 00       	call   0x40550a
4039f9:	59                   	pop    %ecx
4039fa:	c3                   	ret
4039fb:	68 07 3a 40 00       	push   $0x403a07
403a00:	e8 05 1b 00 00       	call   0x40550a
403a05:	59                   	pop    %ecx
403a06:	c3                   	ret
403a07:	c3                   	ret
403a08:	e8 05 00 00 00       	call   0x403a12
403a0d:	e9 0a 00 00 00       	jmp    0x403a1c
403a12:	b9 a1 15 41 00       	mov    $0x4115a1,%ecx
403a17:	e9 31 f0 ff ff       	jmp    0x402a4d
403a1c:	68 28 3a 40 00       	push   $0x403a28
403a21:	e8 e4 1a 00 00       	call   0x40550a
403a26:	59                   	pop    %ecx
403a27:	c3                   	ret
403a28:	b9 a1 15 41 00       	mov    $0x4115a1,%ecx
403a2d:	e9 9a f1 ff ff       	jmp    0x402bcc
403a32:	e8 05 00 00 00       	call   0x403a3c
403a37:	e9 0a 00 00 00       	jmp    0x403a46
403a3c:	b9 a0 15 41 00       	mov    $0x4115a0,%ecx
403a41:	e9 83 01 00 00       	jmp    0x403bc9
403a46:	68 52 3a 40 00       	push   $0x403a52
403a4b:	e8 ba 1a 00 00       	call   0x40550a
403a50:	59                   	pop    %ecx
403a51:	c3                   	ret
403a52:	b9 a0 15 41 00       	mov    $0x4115a0,%ecx
403a57:	e9 ee 02 00 00       	jmp    0x403d4a
403a5c:	e8 05 00 00 00       	call   0x403a66
403a61:	e9 0d 00 00 00       	jmp    0x403a73
403a66:	6a 00                	push   $0x0
403a68:	b9 78 16 41 00       	mov    $0x411678,%ecx
403a6d:	e8 87 06 00 00       	call   0x4040f9
403a72:	c3                   	ret
403a73:	68 7f 3a 40 00       	push   $0x403a7f
403a78:	e8 8d 1a 00 00       	call   0x40550a
403a7d:	59                   	pop    %ecx
403a7e:	c3                   	ret
403a7f:	b9 78 16 41 00       	mov    $0x411678,%ecx
403a84:	e9 7b 06 00 00       	jmp    0x404104
403a89:	e8 05 00 00 00       	call   0x403a93
403a8e:	e9 0d 00 00 00       	jmp    0x403aa0
403a93:	6a 00                	push   $0x0
403a95:	b9 20 16 41 00       	mov    $0x411620,%ecx
403a9a:	e8 5a 06 00 00       	call   0x4040f9
403a9f:	c3                   	ret
403aa0:	68 ac 3a 40 00       	push   $0x403aac
403aa5:	e8 60 1a 00 00       	call   0x40550a
403aaa:	59                   	pop    %ecx
403aab:	c3                   	ret
403aac:	b9 20 16 41 00       	mov    $0x411620,%ecx
403ab1:	e9 4e 06 00 00       	jmp    0x404104
403ab6:	e8 05 00 00 00       	call   0x403ac0
403abb:	e9 0d 00 00 00       	jmp    0x403acd
403ac0:	6a 00                	push   $0x0
403ac2:	b9 08 17 41 00       	mov    $0x411708,%ecx
403ac7:	e8 2d 06 00 00       	call   0x4040f9
403acc:	c3                   	ret
403acd:	68 d9 3a 40 00       	push   $0x403ad9
403ad2:	e8 33 1a 00 00       	call   0x40550a
403ad7:	59                   	pop    %ecx
403ad8:	c3                   	ret
403ad9:	b9 08 17 41 00       	mov    $0x411708,%ecx
403ade:	e9 21 06 00 00       	jmp    0x404104
403ae3:	e8 05 00 00 00       	call   0x403aed
403ae8:	e9 0f 00 00 00       	jmp    0x403afc
403aed:	6a 01                	push   $0x1
403aef:	6a 00                	push   $0x0
403af1:	b9 e0 15 41 00       	mov    $0x4115e0,%ecx
403af6:	e8 ce 03 00 00       	call   0x403ec9
403afb:	c3                   	ret
403afc:	68 08 3b 40 00       	push   $0x403b08
403b01:	e8 04 1a 00 00       	call   0x40550a
403b06:	59                   	pop    %ecx
403b07:	c3                   	ret
403b08:	b9 e0 15 41 00       	mov    $0x4115e0,%ecx
403b0d:	e9 00 00 00 00       	jmp    0x403b12
403b12:	8b 01                	mov    (%ecx),%eax
403b14:	83 c1 08             	add    $0x8,%ecx
403b17:	8b 40 04             	mov    0x4(%eax),%eax
403b1a:	c7 44 08 f8 70 d2 40 	movl   $0x40d270,-0x8(%eax,%ecx,1)
403b21:	00
403b22:	e9 2f 03 00 00       	jmp    0x403e56
403b27:	e8 05 00 00 00       	call   0x403b31
403b2c:	e9 0f 00 00 00       	jmp    0x403b40
403b31:	6a 01                	push   $0x1
403b33:	6a 00                	push   $0x0
403b35:	b9 d0 16 41 00       	mov    $0x4116d0,%ecx
403b3a:	e8 b8 02 00 00       	call   0x403df7
403b3f:	c3                   	ret
403b40:	68 4c 3b 40 00       	push   $0x403b4c
403b45:	e8 c0 19 00 00       	call   0x40550a
403b4a:	59                   	pop    %ecx
403b4b:	c3                   	ret
403b4c:	b9 d0 16 41 00       	mov    $0x4116d0,%ecx
403b51:	e9 00 00 00 00       	jmp    0x403b56
403b56:	8b 01                	mov    (%ecx),%eax
403b58:	83 c1 04             	add    $0x4,%ecx
403b5b:	8b 40 04             	mov    0x4(%eax),%eax
403b5e:	c7 44 08 fc 78 d2 40 	movl   $0x40d278,-0x4(%eax,%ecx,1)
403b65:	00
403b66:	e9 eb 02 00 00       	jmp    0x403e56
403b6b:	e8 05 00 00 00       	call   0x403b75
403b70:	e9 0f 00 00 00       	jmp    0x403b84
403b75:	6a 01                	push   $0x1
403b77:	6a 00                	push   $0x0
403b79:	b9 68 15 41 00       	mov    $0x411568,%ecx
403b7e:	e8 74 02 00 00       	call   0x403df7
403b83:	c3                   	ret
403b84:	68 90 3b 40 00       	push   $0x403b90
403b89:	e8 7c 19 00 00       	call   0x40550a
403b8e:	59                   	pop    %ecx
403b8f:	c3                   	ret
403b90:	b9 68 15 41 00       	mov    $0x411568,%ecx
403b95:	e9 bc ff ff ff       	jmp    0x403b56
403b9a:	e8 05 00 00 00       	call   0x403ba4
403b9f:	e9 0f 00 00 00       	jmp    0x403bb3
403ba4:	6a 01                	push   $0x1
403ba6:	6a 00                	push   $0x0
403ba8:	b9 a8 15 41 00       	mov    $0x4115a8,%ecx
403bad:	e8 45 02 00 00       	call   0x403df7
403bb2:	c3                   	ret
403bb3:	68 bf 3b 40 00       	push   $0x403bbf
403bb8:	e8 4d 19 00 00       	call   0x40550a
403bbd:	59                   	pop    %ecx
403bbe:	c3                   	ret
403bbf:	b9 a8 15 41 00       	mov    $0x4115a8,%ecx
403bc4:	e9 8d ff ff ff       	jmp    0x403b56
403bc9:	b8 f4 c5 40 00       	mov    $0x40c5f4,%eax
403bce:	e8 6d 21 00 00       	call   0x405d40
403bd3:	51                   	push   %ecx
403bd4:	51                   	push   %ecx
403bd5:	53                   	push   %ebx
403bd6:	56                   	push   %esi
403bd7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
403bda:	33 f6                	xor    %esi,%esi
403bdc:	8d 4d f0             	lea    -0x10(%ebp),%ecx
403bdf:	89 75 f0             	mov    %esi,-0x10(%ebp)
403be2:	e8 9e 0b 00 00       	call   0x404785
403be7:	39 35 1c 03 41 00    	cmp    %esi,0x41031c
403bed:	7c 0a                	jl     0x403bf9
403bef:	ff 05 1c 03 41 00    	incl   0x41031c
403bf5:	32 db                	xor    %bl,%bl
403bf7:	eb 0c                	jmp    0x403c05
403bf9:	c7 05 1c 03 41 00 01 	movl   $0x1,0x41031c
403c00:	00 00 00
403c03:	b3 01                	mov    $0x1,%bl
403c05:	8d 4d f0             	lea    -0x10(%ebp),%ecx
403c08:	e8 14 0c 00 00       	call   0x404821
403c0d:	84 db                	test   %bl,%bl
403c0f:	0f 84 24 01 00 00    	je     0x403d39
403c15:	57                   	push   %edi
403c16:	bf 78 16 41 00       	mov    $0x411678,%edi
403c1b:	89 7d f0             	mov    %edi,-0x10(%ebp)
403c1e:	8b c7                	mov    %edi,%eax
403c20:	89 75 fc             	mov    %esi,-0x4(%ebp)
403c23:	85 c0                	test   %eax,%eax
403c25:	74 0c                	je     0x403c33
403c27:	68 80 05 41 00       	push   $0x410580
403c2c:	8b cf                	mov    %edi,%ecx
403c2e:	e8 f5 02 00 00       	call   0x403f28
403c33:	b9 20 16 41 00       	mov    $0x411620,%ecx
403c38:	89 4d f0             	mov    %ecx,-0x10(%ebp)
403c3b:	8b c1                	mov    %ecx,%eax
403c3d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
403c44:	85 c0                	test   %eax,%eax
403c46:	74 0a                	je     0x403c52
403c48:	68 a0 05 41 00       	push   $0x4105a0
403c4d:	e8 d6 02 00 00       	call   0x403f28
403c52:	bb 08 17 41 00       	mov    $0x411708,%ebx
403c57:	89 5d f0             	mov    %ebx,-0x10(%ebp)
403c5a:	8b c3                	mov    %ebx,%eax
403c5c:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
403c63:	85 c0                	test   %eax,%eax
403c65:	74 0c                	je     0x403c73
403c67:	68 c0 05 41 00       	push   $0x4105c0
403c6c:	8b cb                	mov    %ebx,%ecx
403c6e:	e8 b5 02 00 00       	call   0x403f28
403c73:	be e0 15 41 00       	mov    $0x4115e0,%esi
403c78:	89 75 f0             	mov    %esi,-0x10(%ebp)
403c7b:	8b c6                	mov    %esi,%eax
403c7d:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
403c84:	85 c0                	test   %eax,%eax
403c86:	74 0c                	je     0x403c94
403c88:	6a 01                	push   $0x1
403c8a:	6a 01                	push   $0x1
403c8c:	57                   	push   %edi
403c8d:	8b ce                	mov    %esi,%ecx
403c8f:	e8 cd 01 00 00       	call   0x403e61
403c94:	bf d0 16 41 00       	mov    $0x4116d0,%edi
403c99:	89 7d f0             	mov    %edi,-0x10(%ebp)
403c9c:	8b c7                	mov    %edi,%eax
403c9e:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
403ca5:	85 c0                	test   %eax,%eax
403ca7:	74 12                	je     0x403cbb
403ca9:	6a 01                	push   $0x1
403cab:	6a 01                	push   $0x1
403cad:	6a 01                	push   $0x1
403caf:	68 20 16 41 00       	push   $0x411620
403cb4:	8b cf                	mov    %edi,%ecx
403cb6:	e8 d2 00 00 00       	call   0x403d8d
403cbb:	a1 e0 15 41 00       	mov    0x4115e0,%eax
403cc0:	8b 40 04             	mov    0x4(%eax),%eax
403cc3:	89 7c 30 2c          	mov    %edi,0x2c(%eax,%esi,1)
403cc7:	03 c6                	add    %esi,%eax
403cc9:	be 68 15 41 00       	mov    $0x411568,%esi
403cce:	89 75 f0             	mov    %esi,-0x10(%ebp)
403cd1:	8b c6                	mov    %esi,%eax
403cd3:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
403cda:	85 c0                	test   %eax,%eax
403cdc:	74 0e                	je     0x403cec
403cde:	6a 01                	push   $0x1
403ce0:	6a 01                	push   $0x1
403ce2:	6a 01                	push   $0x1
403ce4:	53                   	push   %ebx
403ce5:	8b ce                	mov    %esi,%ecx
403ce7:	e8 a1 00 00 00       	call   0x403d8d
403cec:	a1 68 15 41 00       	mov    0x411568,%eax
403cf1:	b9 a8 15 41 00       	mov    $0x4115a8,%ecx
403cf6:	89 4d f0             	mov    %ecx,-0x10(%ebp)
403cf9:	8b 40 04             	mov    0x4(%eax),%eax
403cfc:	89 7c 30 2c          	mov    %edi,0x2c(%eax,%esi,1)
403d00:	03 c6                	add    %esi,%eax
403d02:	a1 68 15 41 00       	mov    0x411568,%eax
403d07:	8b 40 04             	mov    0x4(%eax),%eax
403d0a:	83 4c 30 0c 02       	orl    $0x2,0xc(%eax,%esi,1)
403d0f:	03 c6                	add    %esi,%eax
403d11:	8b c1                	mov    %ecx,%eax
403d13:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
403d1a:	85 c0                	test   %eax,%eax
403d1c:	74 0c                	je     0x403d2a
403d1e:	6a 01                	push   $0x1
403d20:	6a 01                	push   $0x1
403d22:	6a 01                	push   $0x1
403d24:	53                   	push   %ebx
403d25:	e8 63 00 00 00       	call   0x403d8d
403d2a:	a1 a8 15 41 00       	mov    0x4115a8,%eax
403d2f:	8b 40 04             	mov    0x4(%eax),%eax
403d32:	89 b8 d4 15 41 00    	mov    %edi,0x4115d4(%eax)
403d38:	5f                   	pop    %edi
403d39:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403d3c:	8b 45 ec             	mov    -0x14(%ebp),%eax
403d3f:	5e                   	pop    %esi
403d40:	5b                   	pop    %ebx
403d41:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403d48:	c9                   	leave
403d49:	c3                   	ret
403d4a:	55                   	push   %ebp
403d4b:	8b ec                	mov    %esp,%ebp
403d4d:	51                   	push   %ecx
403d4e:	53                   	push   %ebx
403d4f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
403d52:	e8 2e 0a 00 00       	call   0x404785
403d57:	ff 0d 1c 03 41 00    	decl   0x41031c
403d5d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
403d60:	0f 94 c3             	sete   %bl
403d63:	e8 b9 0a 00 00       	call   0x404821
403d68:	84 db                	test   %bl,%bl
403d6a:	5b                   	pop    %ebx
403d6b:	74 1e                	je     0x403d8b
403d6d:	b9 d0 16 41 00       	mov    $0x4116d0,%ecx
403d72:	e8 61 ef ff ff       	call   0x402cd8
403d77:	b9 68 15 41 00       	mov    $0x411568,%ecx
403d7c:	e8 57 ef ff ff       	call   0x402cd8
403d81:	b9 a8 15 41 00       	mov    $0x4115a8,%ecx
403d86:	e8 4d ef ff ff       	call   0x402cd8
403d8b:	c9                   	leave
403d8c:	c3                   	ret
403d8d:	b8 1a c6 40 00       	mov    $0x40c61a,%eax
403d92:	e8 a9 1f 00 00       	call   0x405d40
403d97:	51                   	push   %ecx
403d98:	51                   	push   %ecx
403d99:	56                   	push   %esi
403d9a:	33 c0                	xor    %eax,%eax
403d9c:	39 45 14             	cmp    %eax,0x14(%ebp)
403d9f:	8b f1                	mov    %ecx,%esi
403da1:	89 75 ec             	mov    %esi,-0x14(%ebp)
403da4:	89 45 f0             	mov    %eax,-0x10(%ebp)
403da7:	74 1a                	je     0x403dc3
403da9:	c7 06 84 d2 40 00    	movl   $0x40d284,(%esi)
403daf:	89 46 28             	mov    %eax,0x28(%esi)
403db2:	c7 46 04 80 d2 40 00 	movl   $0x40d280,0x4(%esi)
403db9:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
403dc0:	89 45 fc             	mov    %eax,-0x4(%ebp)
403dc3:	8b 0e                	mov    (%esi),%ecx
403dc5:	38 45 10             	cmp    %al,0x10(%ebp)
403dc8:	8b 49 04             	mov    0x4(%ecx),%ecx
403dcb:	c7 04 31 78 d2 40 00 	movl   $0x40d278,(%ecx,%esi,1)
403dd2:	74 12                	je     0x403de6
403dd4:	8b 06                	mov    (%esi),%eax
403dd6:	ff 75 0c             	push   0xc(%ebp)
403dd9:	8b 48 04             	mov    0x4(%eax),%ecx