40c72f:	33 ff                	xor    %edi,%edi
40c731:	8b f7                	mov    %edi,%esi
40c733:	8b 38                	mov    (%eax),%edi
40c735:	57                   	push   %edi
40c736:	ff 34 b5 10 55 4a 00 	push   0x4a5510(,%esi,4)
40c73d:	e8 4a 70 01 00       	call   0x42378c
40c742:	59                   	pop    %ecx
40c743:	59                   	pop    %ecx
40c744:	85 c0                	test   %eax,%eax
40c746:	74 06                	je     0x40c74e
40c748:	46                   	inc    %esi
40c749:	83 fe 61             	cmp    $0x61,%esi
40c74c:	7c e7                	jl     0x40c735
40c74e:	6a 00                	push   $0x0
40c750:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40c753:	83 fe 61             	cmp    $0x61,%esi
40c756:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40c759:	5f                   	pop    %edi
40c75a:	0f 84 4e 53 03 00    	je     0x441aae
40c760:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40c763:	83 f8 60             	cmp    $0x60,%eax
40c766:	77 16                	ja     0x40c77e
40c768:	ff 24 85 8f c8 40 00 	jmp    *0x40c88f(,%eax,4)
40c76f:	8d 86 d8 00 00 00    	lea    0xd8(%esi),%eax
40c775:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c778:	50                   	push   %eax
40c779:	e8 1e d4 ff ff       	call   0x409b9c
40c77e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40c781:	e8 de 92 ff ff       	call   0x405a64
40c786:	8b c7                	mov    %edi,%eax
40c788:	5f                   	pop    %edi
40c789:	5e                   	pop    %esi
40c78a:	5b                   	pop    %ebx
40c78b:	8b e5                	mov    %ebp,%esp
40c78d:	5d                   	pop    %ebp
40c78e:	c2 08 00             	ret    $0x8
40c791:	68 b8 2b 49 00       	push   $0x492bb8
40c796:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c799:	e8 5a d4 ff ff       	call   0x409bf8
40c79e:	eb de                	jmp    0x40c77e
40c7a0:	8d 86 c8 00 00 00    	lea    0xc8(%esi),%eax
40c7a6:	eb cd                	jmp    0x40c775
40c7a8:	8b 75 0c             	mov    0xc(%ebp),%esi
40c7ab:	8b ce                	mov    %esi,%ecx
40c7ad:	e8 6e d2 ff ff       	call   0x409a20
40c7b2:	89 3e                	mov    %edi,(%esi)
40c7b4:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
40c7bb:	eb c1                	jmp    0x40c77e
40c7bd:	68 7c ad 4b 00       	push   $0x4bad7c
40c7c2:	eb d2                	jmp    0x40c796
40c7c4:	68 70 a4 4b 00       	push   $0x4ba470
40c7c9:	eb cb                	jmp    0x40c796
40c7cb:	68 80 ad 4b 00       	push   $0x4bad80
40c7d0:	eb c4                	jmp    0x40c796
40c7d2:	6a 26                	push   $0x26
40c7d4:	e9 2f 55 03 00       	jmp    0x441d08
40c7d9:	6a 2b                	push   $0x2b
40c7db:	e9 28 55 03 00       	jmp    0x441d08
40c7e0:	6a 05                	push   $0x5
40c7e2:	e9 21 55 03 00       	jmp    0x441d08
40c7e7:	6a 23                	push   $0x23
40c7e9:	e9 1a 55 03 00       	jmp    0x441d08
40c7ee:	6a 19                	push   $0x19
40c7f0:	e9 13 55 03 00       	jmp    0x441d08
40c7f5:	6a 2e                	push   $0x2e
40c7f7:	e9 0c 55 03 00       	jmp    0x441d08
40c7fc:	6a 1f                	push   $0x1f
40c7fe:	e9 05 55 03 00       	jmp    0x441d08
40c803:	6a 17                	push   $0x17
40c805:	e9 fe 54 03 00       	jmp    0x441d08
40c80a:	6a 16                	push   $0x16
40c80c:	e9 f7 54 03 00       	jmp    0x441d08
40c811:	6a 18                	push   $0x18
40c813:	e9 f0 54 03 00       	jmp    0x441d08
40c818:	6a 1c                	push   $0x1c
40c81a:	e9 e9 54 03 00       	jmp    0x441d08
40c81f:	6a 1a                	push   $0x1a
40c821:	e9 e2 54 03 00       	jmp    0x441d08
40c826:	6a 10                	push   $0x10
40c828:	e9 db 54 03 00       	jmp    0x441d08
40c82d:	6a 06                	push   $0x6
40c82f:	e9 d4 54 03 00       	jmp    0x441d08
40c834:	6a 02                	push   $0x2
40c836:	e9 cd 54 03 00       	jmp    0x441d08
40c83b:	6a 0b                	push   $0xb
40c83d:	e9 c6 54 03 00       	jmp    0x441d08
40c842:	8b 75 0c             	mov    0xc(%ebp),%esi
40c845:	8b ce                	mov    %esi,%ecx
40c847:	e9 13 56 03 00       	jmp    0x441e5f
40c84c:	8d 86 b8 00 00 00    	lea    0xb8(%esi),%eax
40c852:	e9 1e ff ff ff       	jmp    0x40c775
40c857:	68 dc ad 4b 00       	push   $0x4baddc
40c85c:	e9 35 ff ff ff       	jmp    0x40c796
40c861:	a1 28 74 4c 00       	mov    0x4c7428,%eax
40c866:	83 c0 0c             	add    $0xc,%eax
40c869:	e9 07 ff ff ff       	jmp    0x40c775
40c86e:	33 c9                	xor    %ecx,%ecx
40c870:	41                   	inc    %ecx
40c871:	e9 cf 58 03 00       	jmp    0x442145
40c876:	6a 03                	push   $0x3
40c878:	e9 c7 58 03 00       	jmp    0x442144
40c87d:	6a 04                	push   $0x4
40c87f:	e9 c0 58 03 00       	jmp    0x442144
40c884:	8d 86 4c 01 00 00    	lea    0x14c(%esi),%eax
40c88a:	e9 e6 fe ff ff       	jmp    0x40c775
40c88f:	f1                   	int1
40c890:	1a 44 00 1e          	sbb    0x1e(%eax,%eax,1),%al
40c894:	1b 44 00 3e          	sbb    0x3e(%eax,%eax,1),%eax
40c898:	1b 44 00 b8          	sbb    -0x48(%eax,%eax,1),%eax
40c89c:	1b 44 00 12          	sbb    0x12(%eax,%eax,1),%eax
40c8a0:	1c 44                	sbb    $0x44,%al
40c8a2:	00 41 1c             	add    %al,0x1c(%ecx)
40c8a5:	44                   	inc    %esp
40c8a6:	00 70 1c             	add    %dh,0x1c(%eax)
40c8a9:	44                   	inc    %esp
40c8aa:	00 a2 1c 44 00 d4    	add    %ah,-0x2bffbbe4(%edx)
40c8b0:	1c 44                	sbb    $0x44,%al
40c8b2:	00 54 1b 44          	add    %dl,0x44(%ebx,%ebx,1)
40c8b6:	00 e4                	add    %ah,%ah
40c8b8:	1b 44 00 d2          	sbb    -0x2e(%eax,%eax,1),%eax
40c8bc:	c7 40 00 d9 c7 40 00 	movl   $0x40c7d9,0x0(%eax)
40c8c3:	e0 c7                	loopne 0x40c88c
40c8c5:	40                   	inc    %eax
40c8c6:	00 e7                	add    %ah,%bh
40c8c8:	c7 40 00 ee c7 40 00 	movl   $0x40c7ee,0x0(%eax)
40c8cf:	f5                   	cmc
40c8d0:	c7 40 00 fc c7 40 00 	movl   $0x40c7fc,0x0(%eax)
40c8d7:	03 c8                	add    %eax,%ecx
40c8d9:	40                   	inc    %eax
40c8da:	00 0a                	add    %cl,(%edx)
40c8dc:	c8 40 00 11          	enter  $0x40,$0x11
40c8e0:	c8 40 00 18          	enter  $0x40,$0x18
40c8e4:	c8 40 00 1f          	enter  $0x40,$0x1f
40c8e8:	c8 40 00 26          	enter  $0x40,$0x26
40c8ec:	c8 40 00 2d          	enter  $0x40,$0x2d
40c8f0:	c8 40 00 34          	enter  $0x40,$0x34
40c8f4:	c8 40 00 3b          	enter  $0x40,$0x3b
40c8f8:	c8 40 00 06          	enter  $0x40,$0x6
40c8fc:	1d 44 00 23 1d       	sbb    $0x1d230044,%eax
40c901:	44                   	inc    %esp
40c902:	00 40 1d             	add    %al,0x1d(%eax)
40c905:	44                   	inc    %esp
40c906:	00 5f 1d             	add    %bl,0x1d(%edi)
40c909:	44                   	inc    %esp
40c90a:	00 a8 c7 40 00 a2    	add    %ch,-0x5dffbf39(%eax)
40c910:	1d 44 00 b7 1d       	sbb    $0x1db70044,%eax
40c915:	44                   	inc    %esp
40c916:	00 cc                	add    %cl,%ah
40c918:	1d 44 00 e1 1d       	sbb    $0x1de10044,%eax
40c91d:	44                   	inc    %esp
40c91e:	00 f6                	add    %dh,%dh
40c920:	1d 44 00 9a 1e       	sbb    $0x1e9a0044,%eax
40c925:	44                   	inc    %esp
40c926:	00 af 1e 44 00 b7    	add    %ch,-0x48ffbbe2(%edi)
40c92c:	1d 44 00 0b 1e       	sbb    $0x1e0b0044,%eax
40c931:	44                   	inc    %esp
40c932:	00 20                	add    %ah,(%eax)
40c934:	1e                   	push   %ds
40c935:	44                   	inc    %esp
40c936:	00 35 1e 44 00 4a    	add    %dh,0x4a00441e
40c93c:	1e                   	push   %ds
40c93d:	44                   	inc    %esp
40c93e:	00 42 c8             	add    %al,-0x38(%edx)
40c941:	40                   	inc    %eax
40c942:	00 c4                	add    %al,%ah
40c944:	1e                   	push   %ds
40c945:	44                   	inc    %esp
40c946:	00 d9                	add    %bl,%cl
40c948:	1e                   	push   %ds
40c949:	44                   	inc    %esp
40c94a:	00 71 1e             	add    %dh,0x1e(%ecx)
40c94d:	44                   	inc    %esp
40c94e:	00 7a 1e             	add    %bh,0x1e(%edx)
40c951:	44                   	inc    %esp
40c952:	00 a0 c7 40 00 4c    	add    %ah,0x4c0040c7(%eax)
40c958:	c8 40 00 6f          	enter  $0x40,$0x6f
40c95c:	c7 40 00 ee 1e 44 00 	movl   $0x441eee,0x0(%eax)
40c963:	00 1f                	add    %bl,(%edi)
40c965:	44                   	inc    %esp
40c966:	00 57 c8             	add    %dl,-0x38(%edi)
40c969:	40                   	inc    %eax
40c96a:	00 8c 1f 44 00 5c 20 	add    %cl,0x205c0044(%edi,%ebx,1)
40c971:	44                   	inc    %esp
40c972:	00 61 c8             	add    %ah,-0x38(%ecx)
40c975:	40                   	inc    %eax
40c976:	00 7a 1b             	add    %bh,0x1b(%edx)
40c979:	44                   	inc    %esp
40c97a:	00 17                	add    %dl,(%edi)
40c97c:	1f                   	pop    %ds
40c97d:	44                   	inc    %esp
40c97e:	00 17                	add    %dl,(%edi)
40c980:	1f                   	pop    %ds
40c981:	44                   	inc    %esp
40c982:	00 59 1f             	add    %bl,0x1f(%ecx)
40c985:	44                   	inc    %esp
40c986:	00 ad 20 44 00 c5    	add    %ch,-0x3affbbe0(%ebp)
40c98c:	20 44 00 13          	and    %al,0x13(%eax,%eax,1)
40c990:	1d 44 00 6e c8       	sbb    $0xc86e0044,%eax
40c995:	40                   	inc    %eax
40c996:	00 42 21             	add    %al,0x21(%edx)
40c999:	44                   	inc    %esp
40c99a:	00 76 c8             	add    %dh,-0x38(%esi)
40c99d:	40                   	inc    %eax
40c99e:	00 7d c8             	add    %bh,-0x38(%ebp)
40c9a1:	40                   	inc    %eax
40c9a2:	00 bd c7 40 00 91    	add    %bh,-0x6effbf39(%ebp)
40c9a8:	c7 40 00 c4 c7 40 00 	movl   $0x40c7c4,0x0(%eax)
40c9af:	55                   	push   %ebp
40c9b0:	21 44 00 6e          	and    %eax,0x6e(%eax,%eax,1)
40c9b4:	21 44 00 87          	and    %eax,-0x79(%eax,%eax,1)
40c9b8:	21 44 00 9b          	and    %eax,-0x65(%eax,%eax,1)
40c9bc:	21 44 00 4d          	and    %eax,0x4d(%eax,%eax,1)
40c9c0:	22 44 00 df          	and    -0x21(%eax,%eax,1),%al
40c9c4:	21 44 00 cb          	and    %eax,-0x35(%eax,%eax,1)
40c9c8:	c7 40 00 30 22 44 00 	movl   $0x442230,0x0(%eax)
40c9cf:	0e                   	push   %cs
40c9d0:	22 44 00 69          	and    0x69(%eax,%eax,1),%al
40c9d4:	22 44 00 7c          	and    0x7c(%eax,%eax,1),%al
40c9d8:	22 44 00 92          	and    -0x6e(%eax,%eax,1),%al
40c9dc:	22 44 00 a8          	and    -0x58(%eax,%eax,1),%al
40c9e0:	22 44 00 be          	and    -0x42(%eax,%eax,1),%al
40c9e4:	22 44 00 d4          	and    -0x2c(%eax,%eax,1),%al
40c9e8:	22 44 00 f2          	and    -0xe(%eax,%eax,1),%al
40c9ec:	21 44 00 7e          	and    %eax,0x7e(%eax,%eax,1)
40c9f0:	c7 40 00 7e c7 40 00 	movl   $0x40c77e,0x0(%eax)
40c9f7:	05 1b 44 00 84       	add    $0x8400441b,%eax
40c9fc:	c8 40 00 ea          	enter  $0x40,$0xea
40ca00:	22 44 00 42          	and    0x42(%eax,%eax,1),%al
40ca04:	c8 40 00 a8          	enter  $0x40,$0xa8
40ca08:	c7 40 00 42 c8 40 00 	movl   $0x40c842,0x0(%eax)
40ca0f:	69 20 44 00 cc cc    	imul   $0xcccc0044,(%eax),%esp
40ca15:	cc                   	int3
40ca16:	cc                   	int3
40ca17:	cc                   	int3
40ca18:	cc                   	int3
40ca19:	cc                   	int3
40ca1a:	cc                   	int3
40ca1b:	cc                   	int3
40ca1c:	cc                   	int3
40ca1d:	cc                   	int3
40ca1e:	cc                   	int3
40ca1f:	cc                   	int3
40ca20:	55                   	push   %ebp
40ca21:	8b ec                	mov    %esp,%ebp
40ca23:	81 ec 54 01 00 00    	sub    $0x154,%esp
40ca29:	53                   	push   %ebx
40ca2a:	56                   	push   %esi
40ca2b:	8b 75 0c             	mov    0xc(%ebp),%esi
40ca2e:	57                   	push   %edi
40ca2f:	8b f9                	mov    %ecx,%edi
40ca31:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ca34:	8b 16                	mov    (%esi),%edx
40ca36:	8b 49 04             	mov    0x4(%ecx),%ecx
40ca39:	8b 1c 91             	mov    (%ecx,%edx,4),%ebx
40ca3c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40ca3f:	0f b7 43 08          	movzwl 0x8(%ebx),%eax
40ca43:	66 83 f8 4e          	cmp    $0x4e,%ax
40ca47:	74 79                	je     0x40cac2
40ca49:	8b 5d 10             	mov    0x10(%ebp),%ebx
40ca4c:	66 83 f8 35          	cmp    $0x35,%ax
40ca50:	0f 84 9f 5b 03 00    	je     0x4425f5
40ca56:	66 83 f8 47          	cmp    $0x47,%ax
40ca5a:	0f 84 b7 5b 03 00    	je     0x442617
40ca60:	8b 75 14             	mov    0x14(%ebp),%esi
40ca63:	3b f3                	cmp    %ebx,%esi
40ca65:	74 36                	je     0x40ca9d
40ca67:	83 7e 0c 04          	cmpl   $0x4,0xc(%esi)
40ca6b:	0f 84 ca 5c 03 00    	je     0x44273b
40ca71:	8b 4e 08             	mov    0x8(%esi),%ecx
40ca74:	85 c9                	test   %ecx,%ecx
40ca76:	0f 85 d9 5c 03 00    	jne    0x442755
40ca7c:	8b 46 0c             	mov    0xc(%esi),%eax
40ca7f:	83 f8 05             	cmp    $0x5,%eax
40ca82:	0f 8d df 5c 03 00    	jge    0x442767
40ca88:	53                   	push   %ebx
40ca89:	8b ce                	mov    %esi,%ecx
40ca8b:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
40ca92:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40ca98:	e8 23 d0 ff ff       	call   0x409ac0
40ca9d:	80 bf fd 00 00 00 00 	cmpb   $0x0,0xfd(%edi)
40caa4:	0f 85 21 5d 03 00    	jne    0x4427cb
40caaa:	80 bf fe 00 00 00 00 	cmpb   $0x0,0xfe(%edi)
40cab1:	0f 85 14 5d 03 00    	jne    0x4427cb
40cab7:	33 c0                	xor    %eax,%eax
40cab9:	5f                   	pop    %edi
40caba:	5e                   	pop    %esi
40cabb:	5b                   	pop    %ebx
40cabc:	8b e5                	mov    %ebp,%esp
40cabe:	5d                   	pop    %ebp
40cabf:	c2 10 00             	ret    $0x10
40cac2:	8b 45 10             	mov    0x10(%ebp),%eax
40cac5:	8b 40 0c             	mov    0xc(%eax),%eax
40cac8:	83 f8 05             	cmp    $0x5,%eax
40cacb:	0f 85 40 5a 03 00    	jne    0x442511
40cad1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40cad8:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40cadf:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40cae6:	8b 44 91 fc          	mov    -0x4(%ecx,%edx,4),%eax
40caea:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
40caf1:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40caf5:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40caf8:	ff 06                	incl   (%esi)
40cafa:	8b 06                	mov    (%esi),%eax
40cafc:	6a ff                	push   $0xffffffff
40cafe:	8b 04 81             	mov    (%ecx,%eax,4),%eax
40cb01:	8b cf                	mov    %edi,%ecx
40cb03:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40cb07:	89 45 ec             	mov    %eax,-0x14(%ebp)
40cb0a:	8d 45 f0             	lea    -0x10(%ebp),%eax
40cb0d:	50                   	push   %eax
40cb0e:	56                   	push   %esi
40cb0f:	ff 75 08             	push   0x8(%ebp)
40cb12:	e8 e9 d4 ff ff       	call   0x40a000
40cb17:	85 c0                	test   %eax,%eax
40cb19:	0f 88 d0 59 03 00    	js     0x4424ef
40cb1f:	8b 55 fc             	mov    -0x4(%ebp),%edx
40cb22:	83 fa 01             	cmp    $0x1,%edx
40cb25:	0f 85 0f 01 00 00    	jne    0x40cc3a
40cb2b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
40cb2e:	8b c3                	mov    %ebx,%eax
40cb30:	85 c0                	test   %eax,%eax
40cb32:	0f 88 be 01 00 00    	js     0x40ccf6
40cb38:	8b 45 08             	mov    0x8(%ebp),%eax
40cb3b:	8b 0e                	mov    (%esi),%ecx
40cb3d:	8b 40 04             	mov    0x4(%eax),%eax
40cb40:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40cb43:	66 83 78 08 4f       	cmpw   $0x4f,0x8(%eax)
40cb48:	0f 85 89 59 03 00    	jne    0x4424d7
40cb4e:	8d 41 01             	lea    0x1(%ecx),%eax
40cb51:	89 06                	mov    %eax,(%esi)
40cb53:	83 fa 01             	cmp    $0x1,%edx
40cb56:	0f 85 15 01 00 00    	jne    0x40cc71
40cb5c:	8b 45 0c             	mov    0xc(%ebp),%eax
40cb5f:	89 9c 85 b0 fe ff ff 	mov    %ebx,-0x150(%ebp,%eax,4)
40cb66:	8b d8                	mov    %eax,%ebx
40cb68:	8b 45 08             	mov    0x8(%ebp),%eax
40cb6b:	43                   	inc    %ebx
40cb6c:	89 5d 0c             	mov    %ebx,0xc(%ebp)
40cb6f:	8b 48 04             	mov    0x4(%eax),%ecx
40cb72:	8b 06                	mov    (%esi),%eax
40cb74:	8b 04 81             	mov    (%ecx,%eax,4),%eax
40cb77:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
40cb7c:	0f 84 76 ff ff ff    	je     0x40caf8
40cb82:	8b 45 10             	mov    0x10(%ebp),%eax
40cb85:	83 78 0c 05          	cmpl   $0x5,0xc(%eax)
40cb89:	0f 85 56 01 00 00    	jne    0x40cce5
40cb8f:	8b 10                	mov    (%eax),%edx
40cb91:	8b 02                	mov    (%edx),%eax
40cb93:	33 c9                	xor    %ecx,%ecx
40cb95:	c7 80 10 02 00 00 00 	movl   $0x0,0x210(%eax)