40bd2b:	88 84 0e 19 01 00 00 	mov    %al,0x119(%esi,%ecx,1)
40bd32:	eb 07                	jmp    0x40bd3b
40bd34:	88 9c 0e 19 01 00 00 	mov    %bl,0x119(%esi,%ecx,1)
40bd3b:	41                   	inc    %ecx
40bd3c:	3b cf                	cmp    %edi,%ecx
40bd3e:	72 c1                	jb     0x40bd01
40bd40:	eb 57                	jmp    0x40bd99
40bd42:	6a 9f                	push   $0xffffff9f
40bd44:	8d 96 19 01 00 00    	lea    0x119(%esi),%edx
40bd4a:	58                   	pop    %eax
40bd4b:	2b c2                	sub    %edx,%eax
40bd4d:	8b cb                	mov    %ebx,%ecx
40bd4f:	89 85 e0 fa ff ff    	mov    %eax,-0x520(%ebp)
40bd55:	03 d1                	add    %ecx,%edx
40bd57:	03 c2                	add    %edx,%eax
40bd59:	89 85 e4 fa ff ff    	mov    %eax,-0x51c(%ebp)
40bd5f:	83 c0 20             	add    $0x20,%eax
40bd62:	83 f8 19             	cmp    $0x19,%eax
40bd65:	77 0a                	ja     0x40bd71
40bd67:	80 4c 0e 19 10       	orb    $0x10,0x19(%esi,%ecx,1)
40bd6c:	8d 41 20             	lea    0x20(%ecx),%eax
40bd6f:	eb 11                	jmp    0x40bd82
40bd71:	83 bd e4 fa ff ff 19 	cmpl   $0x19,-0x51c(%ebp)
40bd78:	77 0c                	ja     0x40bd86
40bd7a:	80 4c 0e 19 20       	orb    $0x20,0x19(%esi,%ecx,1)
40bd7f:	8d 41 e0             	lea    -0x20(%ecx),%eax
40bd82:	88 02                	mov    %al,(%edx)
40bd84:	eb 02                	jmp    0x40bd88
40bd86:	88 1a                	mov    %bl,(%edx)
40bd88:	8b 85 e0 fa ff ff    	mov    -0x520(%ebp),%eax
40bd8e:	41                   	inc    %ecx
40bd8f:	8d 96 19 01 00 00    	lea    0x119(%esi),%edx
40bd95:	3b cf                	cmp    %edi,%ecx
40bd97:	72 bc                	jb     0x40bd55
40bd99:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bd9c:	5f                   	pop    %edi
40bd9d:	5e                   	pop    %esi
40bd9e:	33 cd                	xor    %ebp,%ecx
40bda0:	5b                   	pop    %ebx
40bda1:	e8 93 89 ff ff       	call   0x404739
40bda6:	c9                   	leave
40bda7:	c3                   	ret
40bda8:	6a 0c                	push   $0xc
40bdaa:	68 10 e5 41 00       	push   $0x41e510
40bdaf:	e8 fc ef ff ff       	call   0x40adb0
40bdb4:	e8 1d 06 00 00       	call   0x40c3d6
40bdb9:	8b f8                	mov    %eax,%edi
40bdbb:	8b 0d 0c 10 42 00    	mov    0x42100c,%ecx
40bdc1:	85 4f 70             	test   %ecx,0x70(%edi)
40bdc4:	74 1d                	je     0x40bde3
40bdc6:	83 7f 6c 00          	cmpl   $0x0,0x6c(%edi)
40bdca:	74 17                	je     0x40bde3
40bdcc:	8b 77 68             	mov    0x68(%edi),%esi
40bdcf:	85 f6                	test   %esi,%esi
40bdd1:	75 08                	jne    0x40bddb
40bdd3:	6a 20                	push   $0x20
40bdd5:	e8 f1 ec ff ff       	call   0x40aacb
40bdda:	59                   	pop    %ecx
40bddb:	8b c6                	mov    %esi,%eax
40bddd:	e8 13 f0 ff ff       	call   0x40adf5
40bde2:	c3                   	ret
40bde3:	6a 0d                	push   $0xd
40bde5:	e8 bd c6 ff ff       	call   0x4084a7
40bdea:	59                   	pop    %ecx
40bdeb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bdef:	8b 77 68             	mov    0x68(%edi),%esi
40bdf2:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40bdf5:	3b 35 bc 08 42 00    	cmp    0x4208bc,%esi
40bdfb:	74 36                	je     0x40be33
40bdfd:	85 f6                	test   %esi,%esi
40bdff:	74 1a                	je     0x40be1b
40be01:	56                   	push   %esi
40be02:	ff 15 54 90 41 00    	call   *0x419054
40be08:	85 c0                	test   %eax,%eax
40be0a:	75 0f                	jne    0x40be1b
40be0c:	81 fe b8 0b 42 00    	cmp    $0x420bb8,%esi
40be12:	74 07                	je     0x40be1b
40be14:	56                   	push   %esi
40be15:	e8 fe 92 ff ff       	call   0x405118
40be1a:	59                   	pop    %ecx
40be1b:	a1 bc 08 42 00       	mov    0x4208bc,%eax
40be20:	89 47 68             	mov    %eax,0x68(%edi)
40be23:	8b 35 bc 08 42 00    	mov    0x4208bc,%esi
40be29:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40be2c:	56                   	push   %esi
40be2d:	ff 15 50 90 41 00    	call   *0x419050
40be33:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40be3a:	e8 05 00 00 00       	call   0x40be44
40be3f:	eb 8e                	jmp    0x40bdcf
40be41:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40be44:	6a 0d                	push   $0xd
40be46:	e8 c0 c7 ff ff       	call   0x40860b
40be4b:	59                   	pop    %ecx
40be4c:	c3                   	ret
40be4d:	6a 10                	push   $0x10
40be4f:	68 30 e5 41 00       	push   $0x41e530
40be54:	e8 57 ef ff ff       	call   0x40adb0
40be59:	83 cf ff             	or     $0xffffffff,%edi
40be5c:	e8 75 05 00 00       	call   0x40c3d6
40be61:	8b d8                	mov    %eax,%ebx
40be63:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40be66:	e8 3d ff ff ff       	call   0x40bda8
40be6b:	8b 73 68             	mov    0x68(%ebx),%esi
40be6e:	ff 75 08             	push   0x8(%ebp)
40be71:	e8 cf fc ff ff       	call   0x40bb45
40be76:	59                   	pop    %ecx
40be77:	89 45 08             	mov    %eax,0x8(%ebp)
40be7a:	3b 46 04             	cmp    0x4(%esi),%eax
40be7d:	0f 84 6e 01 00 00    	je     0x40bff1
40be83:	68 20 02 00 00       	push   $0x220
40be88:	e8 15 cc ff ff       	call   0x408aa2
40be8d:	59                   	pop    %ecx
40be8e:	8b d8                	mov    %eax,%ebx
40be90:	85 db                	test   %ebx,%ebx
40be92:	0f 84 5b 01 00 00    	je     0x40bff3
40be98:	b9 88 00 00 00       	mov    $0x88,%ecx
40be9d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40bea0:	8b 70 68             	mov    0x68(%eax),%esi
40bea3:	8b fb                	mov    %ebx,%edi
40bea5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40bea7:	33 f6                	xor    %esi,%esi
40bea9:	89 33                	mov    %esi,(%ebx)
40beab:	53                   	push   %ebx
40beac:	ff 75 08             	push   0x8(%ebp)
40beaf:	e8 47 01 00 00       	call   0x40bffb
40beb4:	59                   	pop    %ecx
40beb5:	59                   	pop    %ecx
40beb6:	8b f8                	mov    %eax,%edi
40beb8:	89 7d 08             	mov    %edi,0x8(%ebp)
40bebb:	85 ff                	test   %edi,%edi
40bebd:	0f 85 0d 01 00 00    	jne    0x40bfd0
40bec3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40bec6:	ff 70 68             	push   0x68(%eax)
40bec9:	ff 15 54 90 41 00    	call   *0x419054
40becf:	85 c0                	test   %eax,%eax
40bed1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40bed4:	75 15                	jne    0x40beeb
40bed6:	8b 48 68             	mov    0x68(%eax),%ecx
40bed9:	81 f9 b8 0b 42 00    	cmp    $0x420bb8,%ecx
40bedf:	74 0a                	je     0x40beeb
40bee1:	51                   	push   %ecx
40bee2:	e8 31 92 ff ff       	call   0x405118
40bee7:	59                   	pop    %ecx
40bee8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40beeb:	89 58 68             	mov    %ebx,0x68(%eax)
40beee:	53                   	push   %ebx
40beef:	ff 15 50 90 41 00    	call   *0x419050
40bef5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40bef8:	f6 40 70 02          	testb  $0x2,0x70(%eax)
40befc:	0f 85 f1 00 00 00    	jne    0x40bff3
40bf02:	f6 05 0c 10 42 00 01 	testb  $0x1,0x42100c
40bf09:	0f 85 e4 00 00 00    	jne    0x40bff3
40bf0f:	6a 0d                	push   $0xd
40bf11:	e8 91 c5 ff ff       	call   0x4084a7
40bf16:	59                   	pop    %ecx
40bf17:	89 75 fc             	mov    %esi,-0x4(%ebp)
40bf1a:	8b 43 04             	mov    0x4(%ebx),%eax
40bf1d:	a3 5c 27 42 00       	mov    %eax,0x42275c
40bf22:	8b 43 08             	mov    0x8(%ebx),%eax
40bf25:	a3 60 27 42 00       	mov    %eax,0x422760
40bf2a:	8b 83 1c 02 00 00    	mov    0x21c(%ebx),%eax
40bf30:	a3 58 27 42 00       	mov    %eax,0x422758
40bf35:	8b ce                	mov    %esi,%ecx
40bf37:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40bf3a:	83 f9 05             	cmp    $0x5,%ecx
40bf3d:	7d 10                	jge    0x40bf4f
40bf3f:	66 8b 44 4b 0c       	mov    0xc(%ebx,%ecx,2),%ax
40bf44:	66 89 04 4d 64 27 42 	mov    %ax,0x422764(,%ecx,2)
40bf4b:	00
40bf4c:	41                   	inc    %ecx
40bf4d:	eb e8                	jmp    0x40bf37
40bf4f:	8b ce                	mov    %esi,%ecx
40bf51:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40bf54:	81 f9 01 01 00 00    	cmp    $0x101,%ecx
40bf5a:	7d 0d                	jge    0x40bf69
40bf5c:	8a 44 19 18          	mov    0x18(%ecx,%ebx,1),%al
40bf60:	88 81 b0 09 42 00    	mov    %al,0x4209b0(%ecx)
40bf66:	41                   	inc    %ecx
40bf67:	eb e8                	jmp    0x40bf51
40bf69:	89 75 e0             	mov    %esi,-0x20(%ebp)
40bf6c:	81 fe 00 01 00 00    	cmp    $0x100,%esi
40bf72:	7d 10                	jge    0x40bf84
40bf74:	8a 84 1e 19 01 00 00 	mov    0x119(%esi,%ebx,1),%al
40bf7b:	88 86 b8 0a 42 00    	mov    %al,0x420ab8(%esi)
40bf81:	46                   	inc    %esi
40bf82:	eb e5                	jmp    0x40bf69
40bf84:	ff 35 bc 08 42 00    	push   0x4208bc
40bf8a:	ff 15 54 90 41 00    	call   *0x419054
40bf90:	85 c0                	test   %eax,%eax
40bf92:	75 13                	jne    0x40bfa7
40bf94:	a1 bc 08 42 00       	mov    0x4208bc,%eax
40bf99:	3d b8 0b 42 00       	cmp    $0x420bb8,%eax
40bf9e:	74 07                	je     0x40bfa7
40bfa0:	50                   	push   %eax
40bfa1:	e8 72 91 ff ff       	call   0x405118
40bfa6:	59                   	pop    %ecx
40bfa7:	89 1d bc 08 42 00    	mov    %ebx,0x4208bc
40bfad:	53                   	push   %ebx
40bfae:	ff 15 50 90 41 00    	call   *0x419050
40bfb4:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40bfbb:	e8 05 00 00 00       	call   0x40bfc5
40bfc0:	eb 31                	jmp    0x40bff3
40bfc2:	8b 7d 08             	mov    0x8(%ebp),%edi
40bfc5:	6a 0d                	push   $0xd
40bfc7:	e8 3f c6 ff ff       	call   0x40860b
40bfcc:	59                   	pop    %ecx
40bfcd:	c3                   	ret
40bfce:	eb 23                	jmp    0x40bff3
40bfd0:	83 ff ff             	cmp    $0xffffffff,%edi
40bfd3:	75 1e                	jne    0x40bff3
40bfd5:	81 fb b8 0b 42 00    	cmp    $0x420bb8,%ebx
40bfdb:	74 07                	je     0x40bfe4
40bfdd:	53                   	push   %ebx
40bfde:	e8 35 91 ff ff       	call   0x405118
40bfe3:	59                   	pop    %ecx
40bfe4:	e8 94 c1 ff ff       	call   0x40817d
40bfe9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40bfef:	eb 02                	jmp    0x40bff3
40bff1:	33 ff                	xor    %edi,%edi
40bff3:	8b c7                	mov    %edi,%eax
40bff5:	e8 fb ed ff ff       	call   0x40adf5
40bffa:	c3                   	ret
40bffb:	55                   	push   %ebp
40bffc:	8b ec                	mov    %esp,%ebp
40bffe:	83 ec 20             	sub    $0x20,%esp
40c001:	a1 90 08 42 00       	mov    0x420890,%eax
40c006:	33 c5                	xor    %ebp,%eax
40c008:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c00b:	53                   	push   %ebx
40c00c:	56                   	push   %esi
40c00d:	ff 75 08             	push   0x8(%ebp)
40c010:	8b 75 0c             	mov    0xc(%ebp),%esi
40c013:	e8 2d fb ff ff       	call   0x40bb45
40c018:	8b d8                	mov    %eax,%ebx
40c01a:	59                   	pop    %ecx
40c01b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40c01e:	85 db                	test   %ebx,%ebx
40c020:	75 0e                	jne    0x40c030
40c022:	56                   	push   %esi
40c023:	e8 89 fb ff ff       	call   0x40bbb1
40c028:	59                   	pop    %ecx
40c029:	33 c0                	xor    %eax,%eax
40c02b:	e9 b2 01 00 00       	jmp    0x40c1e2
40c030:	57                   	push   %edi
40c031:	33 ff                	xor    %edi,%edi
40c033:	8b cf                	mov    %edi,%ecx
40c035:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40c038:	8b c7                	mov    %edi,%eax
40c03a:	39 98 c0 08 42 00    	cmp    %ebx,0x4208c0(%eax)
40c040:	0f 84 f2 00 00 00    	je     0x40c138
40c046:	41                   	inc    %ecx
40c047:	83 c0 30             	add    $0x30,%eax
40c04a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40c04d:	3d f0 00 00 00       	cmp    $0xf0,%eax
40c052:	72 e6                	jb     0x40c03a
40c054:	81 fb e8 fd 00 00    	cmp    $0xfde8,%ebx
40c05a:	0f 84 d0 00 00 00    	je     0x40c130
40c060:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
40c066:	0f 84 c4 00 00 00    	je     0x40c130
40c06c:	0f b7 c3             	movzwl %bx,%eax
40c06f:	50                   	push   %eax
40c070:	ff 15 bc 90 41 00    	call   *0x4190bc
40c076:	85 c0                	test   %eax,%eax
40c078:	0f 84 b2 00 00 00    	je     0x40c130
40c07e:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c081:	50                   	push   %eax
40c082:	53                   	push   %ebx
40c083:	ff 15 8c 90 41 00    	call   *0x41908c
40c089:	85 c0                	test   %eax,%eax
40c08b:	0f 84 8c 00 00 00    	je     0x40c11d
40c091:	68 01 01 00 00       	push   $0x101
40c096:	8d 46 18             	lea    0x18(%esi),%eax
40c099:	57                   	push   %edi
40c09a:	50                   	push   %eax
40c09b:	e8 a0 ae ff ff       	call   0x406f40
40c0a0:	89 5e 04             	mov    %ebx,0x4(%esi)
40c0a3:	33 db                	xor    %ebx,%ebx
40c0a5:	43                   	inc    %ebx
40c0a6:	83 c4 0c             	add    $0xc,%esp
40c0a9:	89 be 1c 02 00 00    	mov    %edi,0x21c(%esi)
40c0af:	39 5d e8             	cmp    %ebx,-0x18(%ebp)
40c0b2:	76 4f                	jbe    0x40c103
40c0b4:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40c0b8:	8d 45 ee             	lea    -0x12(%ebp),%eax
40c0bb:	74 21                	je     0x40c0de
40c0bd:	8a 50 01             	mov    0x1(%eax),%dl
40c0c0:	84 d2                	test   %dl,%dl
40c0c2:	74 1a                	je     0x40c0de
40c0c4:	0f b6 08             	movzbl (%eax),%ecx
40c0c7:	0f b6 d2             	movzbl %dl,%edx
40c0ca:	eb 06                	jmp    0x40c0d2
40c0cc:	80 4c 0e 19 04       	orb    $0x4,0x19(%esi,%ecx,1)
40c0d1:	41                   	inc    %ecx
40c0d2:	3b ca                	cmp    %edx,%ecx
40c0d4:	76 f6                	jbe    0x40c0cc
40c0d6:	83 c0 02             	add    $0x2,%eax
40c0d9:	80 38 00             	cmpb   $0x0,(%eax)
40c0dc:	75 df                	jne    0x40c0bd
40c0de:	8d 46 1a             	lea    0x1a(%esi),%eax
40c0e1:	b9 fe 00 00 00       	mov    $0xfe,%ecx
40c0e6:	80 08 08             	orb    $0x8,(%eax)
40c0e9:	40                   	inc    %eax
40c0ea:	49                   	dec    %ecx
40c0eb:	75 f9                	jne    0x40c0e6
40c0ed:	ff 76 04             	push   0x4(%esi)
40c0f0:	e8 16 fa ff ff       	call   0x40bb0b
40c0f5:	83 c4 04             	add    $0x4,%esp
40c0f8:	89 86 1c 02 00 00    	mov    %eax,0x21c(%esi)
40c0fe:	89 5e 08             	mov    %ebx,0x8(%esi)
40c101:	eb 03                	jmp    0x40c106
40c103:	89 7e 08             	mov    %edi,0x8(%esi)
40c106:	33 c0                	xor    %eax,%eax
40c108:	0f b7 c8             	movzwl %ax,%ecx
40c10b:	8b c1                	mov    %ecx,%eax
40c10d:	c1 e1 10             	shl    $0x10,%ecx
40c110:	0b c1                	or     %ecx,%eax
40c112:	8d 7e 0c             	lea    0xc(%esi),%edi
40c115:	ab                   	stos   %eax,%es:(%edi)
40c116:	ab                   	stos   %eax,%es:(%edi)
40c117:	ab                   	stos   %eax,%es:(%edi)
40c118:	e9 bb 00 00 00       	jmp    0x40c1d8
40c11d:	39 3d 70 27 42 00    	cmp    %edi,0x422770
40c123:	74 0b                	je     0x40c130
40c125:	56                   	push   %esi
40c126:	e8 86 fa ff ff       	call   0x40bbb1
40c12b:	e9 ae 00 00 00       	jmp    0x40c1de
40c130:	83 c8 ff             	or     $0xffffffff,%eax
40c133:	e9 a9 00 00 00       	jmp    0x40c1e1
40c138:	68 01 01 00 00       	push   $0x101
40c13d:	8d 46 18             	lea    0x18(%esi),%eax
40c140:	57                   	push   %edi
40c141:	50                   	push   %eax
40c142:	e8 f9 ad ff ff       	call   0x406f40
40c147:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40c14a:	83 c4 0c             	add    $0xc,%esp
40c14d:	6b d2 30             	imul   $0x30,%edx,%edx
40c150:	8d 82 d0 08 42 00    	lea    0x4208d0(%edx),%eax
40c156:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40c159:	80 38 00             	cmpb   $0x0,(%eax)
40c15c:	8b c8                	mov    %eax,%ecx
40c15e:	74 35                	je     0x40c195
40c160:	8a 41 01             	mov    0x1(%ecx),%al
40c163:	84 c0                	test   %al,%al
40c165:	74 2b                	je     0x40c192
40c167:	0f b6 19             	movzbl (%ecx),%ebx
40c16a:	0f b6 c0             	movzbl %al,%eax
40c16d:	eb 17                	jmp    0x40c186
40c16f:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
40c175:	73 13                	jae    0x40c18a
40c177:	8a 87 b8 08 42 00    	mov    0x4208b8(%edi),%al