42bf48:	0f 8d 95 00 00 00    	jge    0x42bfe3
42bf4e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
42bf51:	0f b7 0c 71          	movzwl (%ecx,%esi,2),%ecx
42bf55:	83 f9 2f             	cmp    $0x2f,%ecx
42bf58:	75 08                	jne    0x42bf62
42bf5a:	8d 7e 01             	lea    0x1(%esi),%edi
42bf5d:	89 7d d8             	mov    %edi,-0x28(%ebp)
42bf60:	eb 76                	jmp    0x42bfd8
42bf62:	83 f9 22             	cmp    $0x22,%ecx
42bf65:	75 17                	jne    0x42bf7e
42bf67:	85 d2                	test   %edx,%edx
42bf69:	75 05                	jne    0x42bf70
42bf6b:	8b fe                	mov    %esi,%edi
42bf6d:	89 7d d8             	mov    %edi,-0x28(%ebp)
42bf70:	33 c0                	xor    %eax,%eax
42bf72:	85 d2                	test   %edx,%edx
42bf74:	0f 94 c0             	sete   %al
42bf77:	8b d0                	mov    %eax,%edx
42bf79:	89 55 d4             	mov    %edx,-0x2c(%ebp)
42bf7c:	eb 24                	jmp    0x42bfa2
42bf7e:	85 d2                	test   %edx,%edx
42bf80:	75 28                	jne    0x42bfaa
42bf82:	51                   	push   %ecx
42bf83:	68 14 41 40 00       	push   $0x404114
42bf88:	ff 15 b0 a3 44 00    	call   *0x44a3b0
42bf8e:	59                   	pop    %ecx
42bf8f:	59                   	pop    %ecx
42bf90:	8b 55 d4             	mov    -0x2c(%ebp),%edx
42bf93:	85 c0                	test   %eax,%eax
42bf95:	74 10                	je     0x42bfa7
42bf97:	8d 7e 01             	lea    0x1(%esi),%edi
42bf9a:	89 7d d8             	mov    %edi,-0x28(%ebp)
42bf9d:	33 c0                	xor    %eax,%eax
42bf9f:	89 45 e0             	mov    %eax,-0x20(%ebp)
42bfa2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42bfa5:	eb 36                	jmp    0x42bfdd
42bfa7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42bfaa:	8b 4d dc             	mov    -0x24(%ebp),%ecx
42bfad:	0f b7 0c 71          	movzwl (%ecx,%esi,2),%ecx
42bfb1:	83 f9 3a             	cmp    $0x3a,%ecx
42bfb4:	74 19                	je     0x42bfcf
42bfb6:	83 f9 5c             	cmp    $0x5c,%ecx
42bfb9:	74 14                	je     0x42bfcf
42bfbb:	66 3b 4d cc          	cmp    -0x34(%ebp),%cx
42bfbf:	74 05                	je     0x42bfc6
42bfc1:	83 f9 3f             	cmp    $0x3f,%ecx
42bfc4:	75 17                	jne    0x42bfdd
42bfc6:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
42bfcd:	eb 0e                	jmp    0x42bfdd
42bfcf:	8d 46 01             	lea    0x1(%esi),%eax
42bfd2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42bfd5:	89 45 d0             	mov    %eax,-0x30(%ebp)
42bfd8:	33 c9                	xor    %ecx,%ecx
42bfda:	89 4d e0             	mov    %ecx,-0x20(%ebp)
42bfdd:	46                   	inc    %esi
42bfde:	e9 5d ff ff ff       	jmp    0x42bf40
42bfe3:	83 f8 ff             	cmp    $0xffffffff,%eax
42bfe6:	74 04                	je     0x42bfec
42bfe8:	3b c7                	cmp    %edi,%eax
42bfea:	7d 07                	jge    0x42bff3
42bfec:	8b f7                	mov    %edi,%esi
42bfee:	89 75 d0             	mov    %esi,-0x30(%ebp)
42bff1:	eb 03                	jmp    0x42bff6
42bff3:	8b 75 e4             	mov    -0x1c(%ebp),%esi
42bff6:	8b c1                	mov    %ecx,%eax
42bff8:	2b c7                	sub    %edi,%eax
42bffa:	03 c0                	add    %eax,%eax
42bffc:	89 45 cc             	mov    %eax,-0x34(%ebp)
42bfff:	50                   	push   %eax
42c000:	8b 45 dc             	mov    -0x24(%ebp),%eax
42c003:	8d 04 78             	lea    (%eax,%edi,2),%eax
42c006:	50                   	push   %eax
42c007:	53                   	push   %ebx
42c008:	e8 2f bc fe ff       	call   0x417c3c
42c00d:	83 c4 0c             	add    $0xc,%esp
42c010:	8b 45 08             	mov    0x8(%ebp),%eax
42c013:	2b c7                	sub    %edi,%eax
42c015:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
42c019:	75 13                	jne    0x42c02e
42c01b:	6a 2a                	push   $0x2a
42c01d:	59                   	pop    %ecx
42c01e:	66 89 0c 43          	mov    %cx,(%ebx,%eax,2)
42c022:	33 c9                	xor    %ecx,%ecx
42c024:	8b 45 cc             	mov    -0x34(%ebp),%eax
42c027:	66 89 4c 18 02       	mov    %cx,0x2(%eax,%ebx,1)
42c02c:	eb 06                	jmp    0x42c034
42c02e:	33 c9                	xor    %ecx,%ecx
42c030:	66 89 0c 43          	mov    %cx,(%ebx,%eax,2)
42c034:	2b f7                	sub    %edi,%esi
42c036:	56                   	push   %esi
42c037:	8b 75 10             	mov    0x10(%ebp),%esi
42c03a:	56                   	push   %esi
42c03b:	8b cb                	mov    %ebx,%ecx
42c03d:	e8 b6 fa ff ff       	call   0x42baf8
42c042:	a3 2c 67 43 00       	mov    %eax,0x43672c
42c047:	8b c8                	mov    %eax,%ecx
42c049:	89 0d 28 67 43 00    	mov    %ecx,0x436728
42c04f:	89 3d 20 67 43 00    	mov    %edi,0x436720
42c055:	89 35 24 67 43 00    	mov    %esi,0x436724
42c05b:	33 f6                	xor    %esi,%esi
42c05d:	85 c0                	test   %eax,%eax
42c05f:	74 69                	je     0x42c0ca
42c061:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
42c065:	74 0f                	je     0x42c076
42c067:	41                   	inc    %ecx
42c068:	89 0d 28 67 43 00    	mov    %ecx,0x436728
42c06e:	3b c8                	cmp    %eax,%ecx
42c070:	7c 18                	jl     0x42c08a
42c072:	8b ce                	mov    %esi,%ecx
42c074:	eb 0e                	jmp    0x42c084
42c076:	83 e9 01             	sub    $0x1,%ecx
42c079:	89 0d 28 67 43 00    	mov    %ecx,0x436728
42c07f:	79 09                	jns    0x42c08a
42c081:	8d 48 ff             	lea    -0x1(%eax),%ecx
42c084:	89 0d 28 67 43 00    	mov    %ecx,0x436728
42c08a:	a1 34 95 44 00       	mov    0x449534,%eax
42c08f:	8b 14 88             	mov    (%eax,%ecx,4),%edx
42c092:	8b ca                	mov    %edx,%ecx
42c094:	8d 71 02             	lea    0x2(%ecx),%esi
42c097:	66 8b 01             	mov    (%ecx),%ax
42c09a:	83 c1 02             	add    $0x2,%ecx
42c09d:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
42c0a1:	75 f4                	jne    0x42c097
42c0a3:	2b ce                	sub    %esi,%ecx
42c0a5:	d1 f9                	sar    $1,%ecx
42c0a7:	8d 04 39             	lea    (%ecx,%edi,1),%eax
42c0aa:	8b 75 c4             	mov    -0x3c(%ebp),%esi
42c0ad:	3b c6                	cmp    %esi,%eax
42c0af:	7c 09                	jl     0x42c0ba
42c0b1:	33 c0                	xor    %eax,%eax
42c0b3:	a3 2c 67 43 00       	mov    %eax,0x43672c
42c0b8:	eb 10                	jmp    0x42c0ca
42c0ba:	52                   	push   %edx
42c0bb:	2b f7                	sub    %edi,%esi
42c0bd:	8b 45 dc             	mov    -0x24(%ebp),%eax
42c0c0:	8d 0c 78             	lea    (%eax,%edi,2),%ecx
42c0c3:	8b d6                	mov    %esi,%edx
42c0c5:	e8 d6 32 fe ff       	call   0x40f3a0
42c0ca:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42c0d1:	e8 1a 00 00 00       	call   0x42c0f0
42c0d6:	a1 2c 67 43 00       	mov    0x43672c,%eax
42c0db:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42c0de:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42c0e5:	59                   	pop    %ecx
42c0e6:	5f                   	pop    %edi
42c0e7:	5e                   	pop    %esi
42c0e8:	5b                   	pop    %ebx
42c0e9:	c9                   	leave
42c0ea:	c2 10 00             	ret    $0x10
42c0ed:	8b 5d c0             	mov    -0x40(%ebp),%ebx
42c0f0:	8b cb                	mov    %ebx,%ecx
42c0f2:	e8 69 1b fe ff       	call   0x40dc60
42c0f7:	c3                   	ret
42c0f8:	8b ff                	mov    %edi,%edi
42c0fa:	56                   	push   %esi
42c0fb:	8b 35 34 95 44 00    	mov    0x449534,%esi
42c101:	85 f6                	test   %esi,%esi
42c103:	74 2e                	je     0x42c133
42c105:	53                   	push   %ebx
42c106:	8b 1d 2c 67 43 00    	mov    0x43672c,%ebx
42c10c:	57                   	push   %edi
42c10d:	33 ff                	xor    %edi,%edi
42c10f:	85 db                	test   %ebx,%ebx
42c111:	7e 0f                	jle    0x42c122
42c113:	ff 34 be             	push   (%esi,%edi,4)
42c116:	ff 15 58 a3 44 00    	call   *0x44a358
42c11c:	47                   	inc    %edi
42c11d:	59                   	pop    %ecx
42c11e:	3b fb                	cmp    %ebx,%edi
42c120:	7c f1                	jl     0x42c113
42c122:	56                   	push   %esi
42c123:	ff 15 58 a3 44 00    	call   *0x44a358
42c129:	83 25 34 95 44 00 00 	andl   $0x0,0x449534
42c130:	59                   	pop    %ecx
42c131:	5f                   	pop    %edi
42c132:	5b                   	pop    %ebx
42c133:	5e                   	pop    %esi
42c134:	c3                   	ret
42c135:	8b ff                	mov    %edi,%edi
42c137:	55                   	push   %ebp
42c138:	8b ec                	mov    %esp,%ebp
42c13a:	51                   	push   %ecx
42c13b:	53                   	push   %ebx
42c13c:	56                   	push   %esi
42c13d:	57                   	push   %edi
42c13e:	8b d9                	mov    %ecx,%ebx
42c140:	8d 45 fc             	lea    -0x4(%ebp),%eax
42c143:	33 c9                	xor    %ecx,%ecx
42c145:	50                   	push   %eax
42c146:	51                   	push   %ecx
42c147:	51                   	push   %ecx
42c148:	53                   	push   %ebx
42c149:	8b f1                	mov    %ecx,%esi
42c14b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42c14e:	ff 15 a4 a0 44 00    	call   *0x44a0a4
42c154:	8b f8                	mov    %eax,%edi
42c156:	85 ff                	test   %edi,%edi
42c158:	74 34                	je     0x42c18e
42c15a:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
42c15d:	e8 6e 1b fe ff       	call   0x40dcd0
42c162:	8b f0                	mov    %eax,%esi
42c164:	85 f6                	test   %esi,%esi
42c166:	75 0c                	jne    0x42c174
42c168:	6a 08                	push   $0x8
42c16a:	ff 15 7c a0 44 00    	call   *0x44a07c
42c170:	33 c0                	xor    %eax,%eax
42c172:	eb 1c                	jmp    0x42c190
42c174:	8d 45 fc             	lea    -0x4(%ebp),%eax
42c177:	50                   	push   %eax
42c178:	56                   	push   %esi
42c179:	57                   	push   %edi
42c17a:	53                   	push   %ebx
42c17b:	ff 15 a4 a0 44 00    	call   *0x44a0a4
42c181:	85 c0                	test   %eax,%eax
42c183:	75 09                	jne    0x42c18e
42c185:	8b ce                	mov    %esi,%ecx
42c187:	e8 d4 1a fe ff       	call   0x40dc60
42c18c:	33 f6                	xor    %esi,%esi
42c18e:	8b c6                	mov    %esi,%eax
42c190:	5f                   	pop    %edi
42c191:	5e                   	pop    %esi
42c192:	5b                   	pop    %ebx
42c193:	c9                   	leave
42c194:	c3                   	ret
42c195:	8b ff                	mov    %edi,%edi
42c197:	51                   	push   %ecx
42c198:	56                   	push   %esi
42c199:	8b f1                	mov    %ecx,%esi
42c19b:	57                   	push   %edi
42c19c:	8b 4e 0c             	mov    0xc(%esi),%ecx
42c19f:	e8 91 ff ff ff       	call   0x42c135
42c1a4:	8b 4e 08             	mov    0x8(%esi),%ecx
42c1a7:	8b f8                	mov    %eax,%edi
42c1a9:	e8 87 ff ff ff       	call   0x42c135
42c1ae:	8b f0                	mov    %eax,%esi
42c1b0:	85 ff                	test   %edi,%edi
42c1b2:	74 3f                	je     0x42c1f3
42c1b4:	85 f6                	test   %esi,%esi
42c1b6:	74 3b                	je     0x42c1f3
42c1b8:	6a 00                	push   $0x0
42c1ba:	b2 01                	mov    $0x1,%dl
42c1bc:	8b ce                	mov    %esi,%ecx
42c1be:	e8 2f 04 00 00       	call   0x42c5f2
42c1c3:	85 c0                	test   %eax,%eax
42c1c5:	74 21                	je     0x42c1e8
42c1c7:	6a 00                	push   $0x0
42c1c9:	b2 01                	mov    $0x1,%dl
42c1cb:	8b cf                	mov    %edi,%ecx
42c1cd:	e8 20 04 00 00       	call   0x42c5f2
42c1d2:	85 c0                	test   %eax,%eax
42c1d4:	74 12                	je     0x42c1e8
42c1d6:	6a 00                	push   $0x0
42c1d8:	57                   	push   %edi
42c1d9:	56                   	push   %esi
42c1da:	ff 15 14 a1 44 00    	call   *0x44a114
42c1e0:	85 c0                	test   %eax,%eax
42c1e2:	74 0f                	je     0x42c1f3
42c1e4:	33 c0                	xor    %eax,%eax
42c1e6:	eb 0e                	jmp    0x42c1f6
42c1e8:	68 2e 27 00 40       	push   $0x4000272e
42c1ed:	ff 15 7c a0 44 00    	call   *0x44a07c
42c1f3:	33 c0                	xor    %eax,%eax
42c1f5:	40                   	inc    %eax
42c1f6:	5f                   	pop    %edi
42c1f7:	5e                   	pop    %esi
42c1f8:	59                   	pop    %ecx
42c1f9:	c3                   	ret
42c1fa:	8b ff                	mov    %edi,%edi
42c1fc:	55                   	push   %ebp
42c1fd:	8b ec                	mov    %esp,%ebp
42c1ff:	83 ec 2c             	sub    $0x2c,%esp
42c202:	53                   	push   %ebx
42c203:	56                   	push   %esi
42c204:	8b f1                	mov    %ecx,%esi
42c206:	33 c0                	xor    %eax,%eax
42c208:	57                   	push   %edi
42c209:	33 ff                	xor    %edi,%edi
42c20b:	89 45 dc             	mov    %eax,-0x24(%ebp)
42c20e:	47                   	inc    %edi
42c20f:	89 45 f4             	mov    %eax,-0xc(%ebp)
42c212:	8b 4e 08             	mov    0x8(%esi),%ecx
42c215:	89 45 e0             	mov    %eax,-0x20(%ebp)
42c218:	89 45 ec             	mov    %eax,-0x14(%ebp)
42c21b:	e8 15 ff ff ff       	call   0x42c135
42c220:	8b 4e 0c             	mov    0xc(%esi),%ecx
42c223:	8b d8                	mov    %eax,%ebx
42c225:	e8 0b ff ff ff       	call   0x42c135
42c22a:	8b f0                	mov    %eax,%esi
42c22c:	85 db                	test   %ebx,%ebx
42c22e:	0f 84 88 01 00 00    	je     0x42c3bc
42c234:	85 f6                	test   %esi,%esi
42c236:	0f 84 80 01 00 00    	je     0x42c3bc
42c23c:	57                   	push   %edi
42c23d:	32 d2                	xor    %dl,%dl
42c23f:	8b cb                	mov    %ebx,%ecx
42c241:	e8 ac 03 00 00       	call   0x42c5f2
42c246:	85 c0                	test   %eax,%eax
42c248:	75 10                	jne    0x42c25a
42c24a:	68 2e 27 00 40       	push   $0x4000272e
42c24f:	ff 15 7c a0 44 00    	call   *0x44a07c
42c255:	e9 62 01 00 00       	jmp    0x42c3bc
42c25a:	8b ce                	mov    %esi,%ecx
42c25c:	e8 d4 02 00 00       	call   0x42c535
42c261:	85 c0                	test   %eax,%eax
42c263:	75 07                	jne    0x42c26c
42c265:	68 49 27 00 40       	push   $0x40002749
42c26a:	eb e3                	jmp    0x42c24f
42c26c:	33 c0                	xor    %eax,%eax
42c26e:	50                   	push   %eax
42c26f:	53                   	push   %ebx
42c270:	ff 15 f0 a0 44 00    	call   *0x44a0f0
42c276:	85 c0                	test   %eax,%eax
42c278:	0f 84 3e 01 00 00    	je     0x42c3bc
42c27e:	33 c0                	xor    %eax,%eax
42c280:	89 7d ec             	mov    %edi,-0x14(%ebp)
42c283:	50                   	push   %eax
42c284:	68 00 00 00 02       	push   $0x2000000
42c289:	6a 03                	push   $0x3
42c28b:	50                   	push   %eax
42c28c:	57                   	push   %edi
42c28d:	68 00 00 00 40       	push   $0x40000000
42c292:	53                   	push   %ebx
42c293:	ff 15 ac a0 44 00    	call   *0x44a0ac
42c299:	89 45 f0             	mov    %eax,-0x10(%ebp)
42c29c:	83 f8 ff             	cmp    $0xffffffff,%eax
42c29f:	0f 84 17 01 00 00    	je     0x42c3bc
42c2a5:	33 c0                	xor    %eax,%eax
42c2a7:	50                   	push   %eax
42c2a8:	50                   	push   %eax
42c2a9:	8d 45 dc             	lea    -0x24(%ebp),%eax
42c2ac:	50                   	push   %eax
42c2ad:	56                   	push   %esi
42c2ae:	ff 15 88 a4 44 00    	call   *0x44a488
42c2b4:	8b ce                	mov    %esi,%ecx
42c2b6:	8d 51 02             	lea    0x2(%ecx),%edx
42c2b9:	66 8b 01             	mov    (%ecx),%ax
42c2bc:	83 c1 02             	add    $0x2,%ecx
42c2bf:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
42c2c3:	75 f4                	jne    0x42c2b9
42c2c5:	0f b7 45 dc          	movzwl -0x24(%ebp),%eax
42c2c9:	2b ca                	sub    %edx,%ecx
42c2cb:	d1 f9                	sar    $1,%ecx
42c2cd:	8d 04 48             	lea    (%eax,%ecx,2),%eax
42c2d0:	83 c0 14             	add    $0x14,%eax
42c2d3:	8b c8                	mov    %eax,%ecx
42c2d5:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c2d8:	e8 f3 19 fe ff       	call   0x40dcd0
42c2dd:	89 45 f8             	mov    %eax,-0x8(%ebp)
42c2e0:	85 c0                	test   %eax,%eax
42c2e2:	0f 84 ca 00 00 00    	je     0x42c3b2