41dfa6:	83 7d d4 01          	cmpl   $0x1,-0x2c(%ebp)
41dfaa:	74 05                	je     0x41dfb1
41dfac:	e8 f3 34 00 00       	call   0x4214a4
41dfb1:	8b 45 e8             	mov    -0x18(%ebp),%eax
41dfb4:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41dfb7:	8b 7d e0             	mov    -0x20(%ebp),%edi
41dfba:	40                   	inc    %eax
41dfbb:	50                   	push   %eax
41dfbc:	33 d2                	xor    %edx,%edx
41dfbe:	89 45 e8             	mov    %eax,-0x18(%ebp)
41dfc1:	d1 ef                	shr    $1,%edi
41dfc3:	e8 1b 1b ff ff       	call   0x40fae3
41dfc8:	8d 47 01             	lea    0x1(%edi),%eax
41dfcb:	33 d2                	xor    %edx,%edx
41dfcd:	50                   	push   %eax
41dfce:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41dfd1:	e8 0d 1b ff ff       	call   0x40fae3
41dfd6:	8b 75 d8             	mov    -0x28(%ebp),%esi
41dfd9:	8d 45 e0             	lea    -0x20(%ebp),%eax
41dfdc:	50                   	push   %eax
41dfdd:	56                   	push   %esi
41dfde:	53                   	push   %ebx
41dfdf:	53                   	push   %ebx
41dfe0:	8d 45 e8             	lea    -0x18(%ebp),%eax
41dfe3:	50                   	push   %eax
41dfe4:	ff 75 f8             	push   -0x8(%ebp)
41dfe7:	53                   	push   %ebx
41dfe8:	ff 75 f4             	push   -0xc(%ebp)
41dfeb:	ff 15 30 90 42 00    	call   *0x429030
41dff1:	85 c0                	test   %eax,%eax
41dff3:	0f 85 9b 01 00 00    	jne    0x41e194
41dff9:	66 89 04 7e          	mov    %ax,(%esi,%edi,2)
41dffd:	8d 56 04             	lea    0x4(%esi),%edx
41e000:	8d 47 ff             	lea    -0x1(%edi),%eax
41e003:	50                   	push   %eax
41e004:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41e007:	e8 d7 1a ff ff       	call   0x40fae3
41e00c:	0f b7 06             	movzwl (%esi),%eax
41e00f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41e012:	83 e8 30             	sub    $0x30,%eax
41e015:	89 45 d8             	mov    %eax,-0x28(%ebp)
41e018:	a1 04 43 42 00       	mov    0x424304,%eax
41e01d:	66 8b 10             	mov    (%eax),%dx
41e020:	66 3b 11             	cmp    (%ecx),%dx
41e023:	75 1e                	jne    0x41e043
41e025:	66 85 d2             	test   %dx,%dx
41e028:	74 15                	je     0x41e03f
41e02a:	66 8b 50 02          	mov    0x2(%eax),%dx
41e02e:	66 3b 51 02          	cmp    0x2(%ecx),%dx
41e032:	75 0f                	jne    0x41e043
41e034:	83 c0 04             	add    $0x4,%eax
41e037:	83 c1 04             	add    $0x4,%ecx
41e03a:	66 85 d2             	test   %dx,%dx
41e03d:	75 de                	jne    0x41e01d
41e03f:	8b fb                	mov    %ebx,%edi
41e041:	eb 05                	jmp    0x41e048
41e043:	1b ff                	sbb    %edi,%edi
41e045:	83 cf 01             	or     $0x1,%edi
41e048:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e04b:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
41e052:	0f b7 00             	movzwl (%eax),%eax
41e055:	66 85 c0             	test   %ax,%ax
41e058:	8b c8                	mov    %eax,%ecx
41e05a:	89 4d dc             	mov    %ecx,-0x24(%ebp)
41e05d:	0f 95 45 d0          	setne  -0x30(%ebp)
41e061:	66 85 c0             	test   %ax,%ax
41e064:	75 09                	jne    0x41e06f
41e066:	85 ff                	test   %edi,%edi
41e068:	74 52                	je     0x41e0bc
41e06a:	8d 45 f8             	lea    -0x8(%ebp),%eax
41e06d:	eb 03                	jmp    0x41e072
41e06f:	8d 45 fc             	lea    -0x4(%ebp),%eax
41e072:	53                   	push   %ebx
41e073:	68 80 00 00 00       	push   $0x80
41e078:	6a 03                	push   $0x3
41e07a:	53                   	push   %ebx
41e07b:	6a 03                	push   $0x3
41e07d:	68 00 00 00 80       	push   $0x80000000
41e082:	ff 30                	push   (%eax)
41e084:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41e087:	ff 15 94 60 42 00    	call   *0x426094
41e08d:	a3 30 4e 42 00       	mov    %eax,0x424e30
41e092:	83 f8 ff             	cmp    $0xffffffff,%eax
41e095:	74 1d                	je     0x41e0b4
41e097:	66 39 5d dc          	cmp    %bx,-0x24(%ebp)
41e09b:	74 05                	je     0x41e0a2
41e09d:	6a 02                	push   $0x2
41e09f:	5a                   	pop    %edx
41e0a0:	eb 03                	jmp    0x41e0a5
41e0a2:	8b 55 d8             	mov    -0x28(%ebp),%edx
41e0a5:	ff 75 d0             	push   -0x30(%ebp)
41e0a8:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41e0ab:	e8 b3 23 ff ff       	call   0x410463
41e0b0:	84 c0                	test   %al,%al
41e0b2:	75 08                	jne    0x41e0bc
41e0b4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41e0b7:	e8 76 2d ff ff       	call   0x410e32
41e0bc:	66 39 5d dc          	cmp    %bx,-0x24(%ebp)
41e0c0:	0f 84 ac 00 00 00    	je     0x41e172
41e0c6:	ff 35 70 59 42 00    	push   0x425970
41e0cc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41e0cf:	e8 5e 01 ff ff       	call   0x40e232
41e0d4:	33 c0                	xor    %eax,%eax
41e0d6:	89 1d 70 59 42 00    	mov    %ebx,0x425970
41e0dc:	85 ff                	test   %edi,%edi
41e0de:	0f 94 c0             	sete   %al
41e0e1:	a3 14 43 42 00       	mov    %eax,0x424314
41e0e6:	85 ff                	test   %edi,%edi
41e0e8:	75 0e                	jne    0x41e0f8
41e0ea:	8d 7d dc             	lea    -0x24(%ebp),%edi
41e0ed:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
41e0f4:	8b c3                	mov    %ebx,%eax
41e0f6:	eb 0c                	jmp    0x41e104
41e0f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e0fb:	8d 7d e4             	lea    -0x1c(%ebp),%edi
41e0fe:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41e101:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41e104:	50                   	push   %eax
41e105:	b9 70 59 42 00       	mov    $0x425970,%ecx
41e10a:	e8 23 01 ff ff       	call   0x40e232
41e10f:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e112:	89 1f                	mov    %ebx,(%edi)
41e114:	a8 02                	test   $0x2,%al
41e116:	74 17                	je     0x41e12f
41e118:	83 e0 fd             	and    $0xfffffffd,%eax
41e11b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e11e:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
41e121:	74 0c                	je     0x41e12f
41e123:	ff 75 e4             	push   -0x1c(%ebp)
41e126:	ff 15 dc 62 42 00    	call   *0x4262dc
41e12c:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e12f:	a8 01                	test   $0x1,%al
41e131:	74 0e                	je     0x41e141
41e133:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
41e136:	74 09                	je     0x41e141
41e138:	ff 75 dc             	push   -0x24(%ebp)
41e13b:	ff 15 dc 62 42 00    	call   *0x4262dc
41e141:	8b 45 d8             	mov    -0x28(%ebp),%eax
41e144:	53                   	push   %ebx
41e145:	6a 01                	push   $0x1
41e147:	68 b9 00 00 00       	push   $0xb9
41e14c:	ff 35 04 5e 42 00    	push   0x425e04
41e152:	a3 bc 4e 42 00       	mov    %eax,0x424ebc
41e157:	ff 15 bc 62 42 00    	call   *0x4262bc
41e15d:	b1 01                	mov    $0x1,%cl
41e15f:	e8 63 f6 fe ff       	call   0x40d7c7
41e164:	e8 77 f2 fe ff       	call   0x40d3e0
41e169:	ff 75 fc             	push   -0x4(%ebp)
41e16c:	ff 15 f4 60 42 00    	call   *0x4260f4
41e172:	8b 45 cc             	mov    -0x34(%ebp),%eax
41e175:	53                   	push   %ebx
41e176:	53                   	push   %ebx
41e177:	ff 70 08             	push   0x8(%eax)
41e17a:	ff 75 f0             	push   -0x10(%ebp)
41e17d:	ff 15 28 90 42 00    	call   *0x429028
41e183:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41e187:	b3 01                	mov    $0x1,%bl
41e189:	74 09                	je     0x41e194
41e18b:	ff 75 fc             	push   -0x4(%ebp)
41e18e:	ff 15 dc 62 42 00    	call   *0x4262dc
41e194:	85 f6                	test   %esi,%esi
41e196:	74 07                	je     0x41e19f
41e198:	56                   	push   %esi
41e199:	ff 15 dc 62 42 00    	call   *0x4262dc
41e19f:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41e1a3:	74 09                	je     0x41e1ae
41e1a5:	ff 75 f8             	push   -0x8(%ebp)
41e1a8:	ff 15 dc 62 42 00    	call   *0x4262dc
41e1ae:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41e1b2:	74 09                	je     0x41e1bd
41e1b4:	ff 75 f4             	push   -0xc(%ebp)
41e1b7:	ff 15 1c 90 42 00    	call   *0x42901c
41e1bd:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41e1c1:	74 09                	je     0x41e1cc
41e1c3:	ff 75 f0             	push   -0x10(%ebp)
41e1c6:	ff 15 1c 90 42 00    	call   *0x42901c
41e1cc:	5f                   	pop    %edi
41e1cd:	5e                   	pop    %esi
41e1ce:	8a c3                	mov    %bl,%al
41e1d0:	5b                   	pop    %ebx
41e1d1:	c9                   	leave
41e1d2:	c3                   	ret
41e1d3:	8b ff                	mov    %edi,%edi
41e1d5:	55                   	push   %ebp
41e1d6:	8b ec                	mov    %esp,%ebp
41e1d8:	83 ec 14             	sub    $0x14,%esp
41e1db:	53                   	push   %ebx
41e1dc:	56                   	push   %esi
41e1dd:	57                   	push   %edi
41e1de:	8b f9                	mov    %ecx,%edi
41e1e0:	e8 bc 00 00 00       	call   0x41e2a1
41e1e5:	84 c0                	test   %al,%al
41e1e7:	0f 84 af 00 00 00    	je     0x41e29c
41e1ed:	8b 47 04             	mov    0x4(%edi),%eax
41e1f0:	33 db                	xor    %ebx,%ebx
41e1f2:	8b f0                	mov    %eax,%esi
41e1f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e1f7:	8d 4e 02             	lea    0x2(%esi),%ecx
41e1fa:	66 8b 06             	mov    (%esi),%ax
41e1fd:	83 c6 02             	add    $0x2,%esi
41e200:	66 3b c3             	cmp    %bx,%ax
41e203:	75 f5                	jne    0x41e1fa
41e205:	2b f1                	sub    %ecx,%esi
41e207:	33 d2                	xor    %edx,%edx
41e209:	d1 fe                	sar    $1,%esi
41e20b:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41e20e:	83 c6 10             	add    $0x10,%esi
41e211:	56                   	push   %esi
41e212:	e8 cc 18 ff ff       	call   0x40fae3
41e217:	68 d4 26 40 00       	push   $0x4026d4
41e21c:	ff 75 fc             	push   -0x4(%ebp)
41e21f:	68 f4 26 40 00       	push   $0x4026f4
41e224:	56                   	push   %esi
41e225:	8b 75 f8             	mov    -0x8(%ebp),%esi
41e228:	56                   	push   %esi
41e229:	e8 c9 82 fe ff       	call   0x4064f7
41e22e:	83 c4 14             	add    $0x14,%esp
41e231:	85 c0                	test   %eax,%eax
41e233:	78 5a                	js     0x41e28f
41e235:	53                   	push   %ebx
41e236:	68 82 00 00 00       	push   $0x82
41e23b:	6a 02                	push   $0x2
41e23d:	53                   	push   %ebx
41e23e:	53                   	push   %ebx
41e23f:	68 00 00 00 c0       	push   $0xc0000000
41e244:	56                   	push   %esi
41e245:	ff 15 94 60 42 00    	call   *0x426094
41e24b:	83 f8 ff             	cmp    $0xffffffff,%eax
41e24e:	74 3f                	je     0x41e28f
41e250:	50                   	push   %eax
41e251:	ff 15 54 61 42 00    	call   *0x426154
41e257:	53                   	push   %ebx
41e258:	53                   	push   %ebx
41e259:	8d 45 f0             	lea    -0x10(%ebp),%eax
41e25c:	50                   	push   %eax
41e25d:	ff 77 04             	push   0x4(%edi)
41e260:	ff 15 38 61 42 00    	call   *0x426138
41e266:	85 c0                	test   %eax,%eax
41e268:	74 25                	je     0x41e28f
41e26a:	53                   	push   %ebx
41e26b:	53                   	push   %ebx
41e26c:	6a 0e                	push   $0xe
41e26e:	ff 35 04 5e 42 00    	push   0x425e04
41e274:	ff 15 bc 62 42 00    	call   *0x4262bc
41e27a:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
41e281:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
41e284:	77 09                	ja     0x41e28f
41e286:	72 05                	jb     0x41e28d
41e288:	3b 45 f0             	cmp    -0x10(%ebp),%eax
41e28b:	77 02                	ja     0x41e28f
41e28d:	b3 01                	mov    $0x1,%bl
41e28f:	85 f6                	test   %esi,%esi
41e291:	74 07                	je     0x41e29a
41e293:	56                   	push   %esi
41e294:	ff 15 dc 62 42 00    	call   *0x4262dc
41e29a:	8a c3                	mov    %bl,%al
41e29c:	5f                   	pop    %edi
41e29d:	5e                   	pop    %esi
41e29e:	5b                   	pop    %ebx
41e29f:	c9                   	leave
41e2a0:	c3                   	ret
41e2a1:	8b ff                	mov    %edi,%edi
41e2a3:	53                   	push   %ebx
41e2a4:	33 db                	xor    %ebx,%ebx
41e2a6:	53                   	push   %ebx
41e2a7:	ff 71 04             	push   0x4(%ecx)
41e2aa:	ff 15 3c 61 42 00    	call   *0x42613c
41e2b0:	85 c0                	test   %eax,%eax
41e2b2:	75 0d                	jne    0x41e2c1
41e2b4:	ff 15 70 61 42 00    	call   *0x426170
41e2ba:	3d b7 00 00 00       	cmp    $0xb7,%eax
41e2bf:	75 02                	jne    0x41e2c3
41e2c1:	b3 01                	mov    $0x1,%bl
41e2c3:	8a c3                	mov    %bl,%al
41e2c5:	5b                   	pop    %ebx
41e2c6:	c3                   	ret
41e2c7:	8b ff                	mov    %edi,%edi
41e2c9:	55                   	push   %ebp
41e2ca:	8b ec                	mov    %esp,%ebp
41e2cc:	83 ec 24             	sub    $0x24,%esp
41e2cf:	a1 10 42 42 00       	mov    0x424210,%eax
41e2d4:	33 c5                	xor    %ebp,%eax
41e2d6:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e2d9:	53                   	push   %ebx
41e2da:	56                   	push   %esi
41e2db:	57                   	push   %edi
41e2dc:	8d 45 ec             	lea    -0x14(%ebp),%eax
41e2df:	8b d9                	mov    %ecx,%ebx
41e2e1:	50                   	push   %eax
41e2e2:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41e2e5:	ff 15 ec 62 42 00    	call   *0x4262ec
41e2eb:	85 c0                	test   %eax,%eax
41e2ed:	79 07                	jns    0x41e2f6
41e2ef:	83 23 00             	andl   $0x0,(%ebx)
41e2f2:	8b c3                	mov    %ebx,%eax
41e2f4:	eb 79                	jmp    0x41e36f
41e2f6:	6a 25                	push   $0x25
41e2f8:	33 d2                	xor    %edx,%edx
41e2fa:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41e2fd:	e8 e1 17 ff ff       	call   0x40fae3
41e302:	0f b6 45 fb          	movzbl -0x5(%ebp),%eax
41e306:	0f b6 5d f9          	movzbl -0x7(%ebp),%ebx
41e30a:	0f b6 7d f8          	movzbl -0x8(%ebp),%edi
41e30e:	0f b6 75 f7          	movzbl -0x9(%ebp),%esi
41e312:	0f b6 55 f6          	movzbl -0xa(%ebp),%edx
41e316:	0f b6 4d f5          	movzbl -0xb(%ebp),%ecx
41e31a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41e31d:	ff 75 e4             	push   -0x1c(%ebp)
41e320:	0f b6 45 fa          	movzbl -0x6(%ebp),%eax
41e324:	89 45 e0             	mov    %eax,-0x20(%ebp)
41e327:	ff 75 e0             	push   -0x20(%ebp)
41e32a:	0f b6 45 f4          	movzbl -0xc(%ebp),%eax
41e32e:	53                   	push   %ebx
41e32f:	57                   	push   %edi
41e330:	56                   	push   %esi
41e331:	8b 75 dc             	mov    -0x24(%ebp),%esi
41e334:	52                   	push   %edx
41e335:	51                   	push   %ecx
41e336:	50                   	push   %eax
41e337:	0f b7 45 f2          	movzwl -0xe(%ebp),%eax
41e33b:	50                   	push   %eax
41e33c:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
41e340:	50                   	push   %eax
41e341:	ff 75 ec             	push   -0x14(%ebp)
41e344:	68 00 27 40 00       	push   $0x402700
41e349:	6a 25                	push   $0x25
41e34b:	56                   	push   %esi
41e34c:	e8 a6 81 fe ff       	call   0x4064f7
41e351:	8b 7d e8             	mov    -0x18(%ebp),%edi
41e354:	83 c4 38             	add    $0x38,%esp
41e357:	85 c0                	test   %eax,%eax
41e359:	79 10                	jns    0x41e36b
41e35b:	83 27 00             	andl   $0x0,(%edi)
41e35e:	85 f6                	test   %esi,%esi
41e360:	74 0b                	je     0x41e36d
41e362:	56                   	push   %esi
41e363:	ff 15 dc 62 42 00    	call   *0x4262dc
41e369:	eb 02                	jmp    0x41e36d
41e36b:	89 37                	mov    %esi,(%edi)
41e36d:	8b c7                	mov    %edi,%eax
41e36f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41e372:	5f                   	pop    %edi
41e373:	5e                   	pop    %esi
41e374:	33 cd                	xor    %ebp,%ecx
41e376:	5b                   	pop    %ebx
41e377:	e8 f4 34 00 00       	call   0x421870
41e37c:	c9                   	leave
41e37d:	c3                   	ret
41e37e:	8b ff                	mov    %edi,%edi
41e380:	55                   	push   %ebp