42309a:	2b ca                	sub    %edx,%ecx
42309c:	d1 f9                	sar    $1,%ecx
42309e:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
4230a1:	8b c6                	mov    %esi,%eax
4230a3:	5e                   	pop    %esi
4230a4:	5d                   	pop    %ebp
4230a5:	c3                   	ret
4230a6:	8b ff                	mov    %edi,%edi
4230a8:	55                   	push   %ebp
4230a9:	8b ec                	mov    %esp,%ebp
4230ab:	83 e4 f8             	and    $0xfffffff8,%esp
4230ae:	83 ec 14             	sub    $0x14,%esp
4230b1:	53                   	push   %ebx
4230b2:	56                   	push   %esi
4230b3:	57                   	push   %edi
4230b4:	8b 7d 08             	mov    0x8(%ebp),%edi
4230b7:	8b da                	mov    %edx,%ebx
4230b9:	6a 40                	push   $0x40
4230bb:	5a                   	pop    %edx
4230bc:	6a 08                	push   $0x8
4230be:	83 27 00             	andl   $0x0,(%edi)
4230c1:	8b f1                	mov    %ecx,%esi
4230c3:	59                   	pop    %ecx
4230c4:	e8 c4 4b ff ff       	call   0x417c8d
4230c9:	89 44 24 14          	mov    %eax,0x14(%esp)
4230cd:	89 44 24 10          	mov    %eax,0x10(%esp)
4230d1:	85 c0                	test   %eax,%eax
4230d3:	75 1a                	jne    0x4230ef
4230d5:	8b 4d 04             	mov    0x4(%ebp),%ecx
4230d8:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4230dd:	56                   	push   %esi
4230de:	68 7c 34 40 00       	push   $0x40347c
4230e3:	ba 42 01 00 00       	mov    $0x142,%edx
4230e8:	e8 e7 03 00 00       	call   0x4234d4
4230ed:	eb 5c                	jmp    0x42314b
4230ef:	33 c9                	xor    %ecx,%ecx
4230f1:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4230f5:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4230f9:	a8 03                	test   $0x3,%al
4230fb:	75 62                	jne    0x42315f
4230fd:	51                   	push   %ecx
4230fe:	c1 e8 02             	shr    $0x2,%eax
423101:	50                   	push   %eax
423102:	51                   	push   %ecx
423103:	56                   	push   %esi
423104:	8d 4c 24 28          	lea    0x28(%esp),%ecx
423108:	e8 77 f4 ff ff       	call   0x422584
42310d:	8b f0                	mov    %eax,%esi
42310f:	85 f6                	test   %esi,%esi
423111:	79 15                	jns    0x423128
423113:	8b 4d 04             	mov    0x4(%ebp),%ecx
423116:	ba 45 01 00 00       	mov    $0x145,%edx
42311b:	56                   	push   %esi
42311c:	68 7c 34 40 00       	push   $0x40347c
423121:	e8 ae 03 00 00       	call   0x4234d4
423126:	eb 1a                	jmp    0x423142
423128:	8b 74 24 14          	mov    0x14(%esp),%esi
42312c:	8d 44 24 18          	lea    0x18(%esp),%eax
423130:	50                   	push   %eax
423131:	53                   	push   %ebx
423132:	8b ce                	mov    %esi,%ecx
423134:	e8 35 f1 ff ff       	call   0x42226e
423139:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
42313e:	89 37                	mov    %esi,(%edi)
423140:	33 f6                	xor    %esi,%esi
423142:	8d 4c 24 18          	lea    0x18(%esp),%ecx
423146:	e8 f0 f1 ff ff       	call   0x42233b
42314b:	8d 4c 24 10          	lea    0x10(%esp),%ecx
42314f:	e8 cd f1 ff ff       	call   0x422321
423154:	5f                   	pop    %edi
423155:	8b c6                	mov    %esi,%eax
423157:	5e                   	pop    %esi
423158:	5b                   	pop    %ebx
423159:	8b e5                	mov    %ebp,%esp
42315b:	5d                   	pop    %ebp
42315c:	c2 04 00             	ret    $0x4
42315f:	e8 ae 4b ff ff       	call   0x417d12
423164:	cc                   	int3
423165:	33 c0                	xor    %eax,%eax
423167:	89 0d 54 e5 42 00    	mov    %ecx,0x42e554
42316d:	40                   	inc    %eax
42316e:	f0 0f c1 05 d0 a7 43 	lock xadd %eax,0x43a7d0
423175:	00
423176:	40                   	inc    %eax
423177:	c3                   	ret
423178:	33 c0                	xor    %eax,%eax
42317a:	89 0d 58 e5 42 00    	mov    %ecx,0x42e558
423180:	40                   	inc    %eax
423181:	f0 0f c1 05 dc a7 43 	lock xadd %eax,0x43a7dc
423188:	00
423189:	40                   	inc    %eax
42318a:	c3                   	ret
42318b:	33 c0                	xor    %eax,%eax
42318d:	89 0d 40 e5 42 00    	mov    %ecx,0x42e540
423193:	40                   	inc    %eax
423194:	f0 0f c1 05 d4 a7 43 	lock xadd %eax,0x43a7d4
42319b:	00
42319c:	40                   	inc    %eax
42319d:	c3                   	ret
42319e:	8b ff                	mov    %edi,%edi
4231a0:	55                   	push   %ebp
4231a1:	8b ec                	mov    %esp,%ebp
4231a3:	83 ec 24             	sub    $0x24,%esp
4231a6:	80 3d 84 90 44 00 00 	cmpb   $0x0,0x449084
4231ad:	53                   	push   %ebx
4231ae:	56                   	push   %esi
4231af:	57                   	push   %edi
4231b0:	8b f9                	mov    %ecx,%edi
4231b2:	0f 85 f6 00 00 00    	jne    0x4232ae
4231b8:	8b 1d 3c 90 44 00    	mov    0x44903c,%ebx
4231be:	33 f6                	xor    %esi,%esi
4231c0:	85 db                	test   %ebx,%ebx
4231c2:	74 0f                	je     0x4231d3
4231c4:	8b cb                	mov    %ebx,%ecx
4231c6:	ff 15 c4 a4 44 00    	call   *0x44a4c4
4231cc:	ff d3                	call   *%ebx
4231ce:	0f b6 c0             	movzbl %al,%eax
4231d1:	eb 02                	jmp    0x4231d5
4231d3:	8b c6                	mov    %esi,%eax
4231d5:	85 c0                	test   %eax,%eax
4231d7:	0f 85 d1 00 00 00    	jne    0x4232ae
4231dd:	83 ec 0c             	sub    $0xc,%esp
4231e0:	8d 45 fc             	lea    -0x4(%ebp),%eax
4231e3:	8d 4f 04             	lea    0x4(%edi),%ecx
4231e6:	50                   	push   %eax
4231e7:	e8 f0 07 00 00       	call   0x4239dc
4231ec:	8b 07                	mov    (%edi),%eax
4231ee:	83 e8 01             	sub    $0x1,%eax
4231f1:	89 07                	mov    %eax,(%edi)
4231f3:	0f 85 97 00 00 00    	jne    0x423290
4231f9:	8b 4f 08             	mov    0x8(%edi),%ecx
4231fc:	85 c9                	test   %ecx,%ecx
4231fe:	74 05                	je     0x423205
423200:	e8 1f 08 00 00       	call   0x423a24
423205:	89 77 08             	mov    %esi,0x8(%edi)
423208:	8b 4f 0c             	mov    0xc(%edi),%ecx
42320b:	85 c9                	test   %ecx,%ecx
42320d:	74 05                	je     0x423214
42320f:	e8 10 08 00 00       	call   0x423a24
423214:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423217:	89 77 0c             	mov    %esi,0xc(%edi)
42321a:	85 c9                	test   %ecx,%ecx
42321c:	74 05                	je     0x423223
42321e:	e8 30 08 00 00       	call   0x423a53
423223:	8d 4f 18             	lea    0x18(%edi),%ecx
423226:	e8 a1 f0 ff ff       	call   0x4222cc
42322b:	8b 47 0c             	mov    0xc(%edi),%eax
42322e:	85 c0                	test   %eax,%eax
423230:	74 15                	je     0x423247
423232:	8d 55 f8             	lea    -0x8(%ebp),%edx
423235:	89 45 f8             	mov    %eax,-0x8(%ebp)
423238:	8d 4d f4             	lea    -0xc(%ebp),%ecx
42323b:	c7 45 f4 60 25 42 00 	movl   $0x422560,-0xc(%ebp)
423242:	e8 33 4a ff ff       	call   0x417c7a
423247:	8b 47 08             	mov    0x8(%edi),%eax
42324a:	85 c0                	test   %eax,%eax
42324c:	74 15                	je     0x423263
42324e:	8d 55 f0             	lea    -0x10(%ebp),%edx
423251:	89 45 f0             	mov    %eax,-0x10(%ebp)
423254:	8d 4d ec             	lea    -0x14(%ebp),%ecx
423257:	c7 45 ec 60 25 42 00 	movl   $0x422560,-0x14(%ebp)
42325e:	e8 17 4a ff ff       	call   0x417c7a
423263:	8b 47 04             	mov    0x4(%edi),%eax
423266:	85 c0                	test   %eax,%eax
423268:	74 15                	je     0x42327f
42326a:	8d 55 e8             	lea    -0x18(%ebp),%edx
42326d:	89 45 e8             	mov    %eax,-0x18(%ebp)
423270:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
423273:	c7 45 e4 60 25 42 00 	movl   $0x422560,-0x1c(%ebp)
42327a:	e8 fb 49 ff ff       	call   0x417c7a
42327f:	57                   	push   %edi
423280:	56                   	push   %esi
423281:	ff 15 34 a1 44 00    	call   *0x44a134
423287:	50                   	push   %eax
423288:	ff 15 3c a1 44 00    	call   *0x44a13c
42328e:	eb 03                	jmp    0x423293
423290:	8b 75 fc             	mov    -0x4(%ebp),%esi
423293:	85 f6                	test   %esi,%esi
423295:	74 19                	je     0x4232b0
423297:	8d 55 e0             	lea    -0x20(%ebp),%edx
42329a:	89 75 e0             	mov    %esi,-0x20(%ebp)
42329d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4232a0:	c7 45 dc c0 32 42 00 	movl   $0x4232c0,-0x24(%ebp)
4232a7:	e8 ce 49 ff ff       	call   0x417c7a
4232ac:	eb 02                	jmp    0x4232b0
4232ae:	ff 0f                	decl   (%edi)
4232b0:	5f                   	pop    %edi
4232b1:	5e                   	pop    %esi
4232b2:	5b                   	pop    %ebx
4232b3:	c9                   	leave
4232b4:	c3                   	ret
4232b5:	cc                   	int3
4232b6:	cc                   	int3
4232b7:	cc                   	int3
4232b8:	cc                   	int3
4232b9:	cc                   	int3
4232ba:	cc                   	int3
4232bb:	cc                   	int3
4232bc:	cc                   	int3
4232bd:	cc                   	int3
4232be:	cc                   	int3
4232bf:	cc                   	int3
4232c0:	8b ff                	mov    %edi,%edi
4232c2:	55                   	push   %ebp
4232c3:	8b ec                	mov    %esp,%ebp
4232c5:	ff 75 08             	push   0x8(%ebp)
4232c8:	ff 15 ac a2 44 00    	call   *0x44a2ac
4232ce:	85 c0                	test   %eax,%eax
4232d0:	75 0e                	jne    0x4232e0
4232d2:	51                   	push   %ecx
4232d3:	8b 4d 04             	mov    0x4(%ebp),%ecx
4232d6:	ba 30 09 00 00       	mov    $0x930,%edx
4232db:	e8 e7 06 00 00       	call   0x4239c7
4232e0:	5d                   	pop    %ebp
4232e1:	c2 04 00             	ret    $0x4
4232e4:	8b ff                	mov    %edi,%edi
4232e6:	55                   	push   %ebp
4232e7:	8b ec                	mov    %esp,%ebp
4232e9:	83 e4 f8             	and    $0xfffffff8,%esp
4232ec:	b8 64 14 00 00       	mov    $0x1464,%eax
4232f1:	e8 8a 4c ff ff       	call   0x417f80
4232f6:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4232fb:	33 c4                	xor    %esp,%eax
4232fd:	89 84 24 60 14 00 00 	mov    %eax,0x1460(%esp)
423304:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
423308:	8b 45 08             	mov    0x8(%ebp),%eax
42330b:	53                   	push   %ebx
42330c:	8b 5d 10             	mov    0x10(%ebp),%ebx
42330f:	56                   	push   %esi
423310:	89 5c 24 10          	mov    %ebx,0x10(%esp)
423314:	8b 5d 14             	mov    0x14(%ebp),%ebx
423317:	57                   	push   %edi
423318:	8b 7d 0c             	mov    0xc(%ebp),%edi
42331b:	89 5c 24 10          	mov    %ebx,0x10(%esp)
42331f:	75 0d                	jne    0x42332e
423321:	83 3d 7c 90 44 00 00 	cmpl   $0x0,0x44907c
423328:	74 04                	je     0x42332e
42332a:	b3 01                	mov    $0x1,%bl
42332c:	eb 02                	jmp    0x423330
42332e:	32 db                	xor    %bl,%bl
423330:	8d 74 24 18          	lea    0x18(%esp),%esi
423334:	56                   	push   %esi
423335:	51                   	push   %ecx
423336:	8d 74 24 70          	lea    0x70(%esp),%esi
42333a:	56                   	push   %esi
42333b:	51                   	push   %ecx
42333c:	8d b4 24 78 04 00 00 	lea    0x478(%esp),%esi
423343:	56                   	push   %esi
423344:	8b 75 18             	mov    0x18(%ebp),%esi
423347:	51                   	push   %ecx
423348:	6a 00                	push   $0x0
42334a:	ff 75 1c             	push   0x1c(%ebp)
42334d:	56                   	push   %esi
42334e:	ff 74 24 34          	push   0x34(%esp)
423352:	ff 74 24 3c          	push   0x3c(%esp)
423356:	57                   	push   %edi
423357:	50                   	push   %eax
423358:	e8 17 fb ff ff       	call   0x422e74
42335d:	83 fe 03             	cmp    $0x3,%esi
423360:	74 3e                	je     0x4233a0
423362:	85 f6                	test   %esi,%esi
423364:	75 43                	jne    0x4233a9
423366:	84 db                	test   %bl,%bl
423368:	74 1d                	je     0x423387
42336a:	8b 35 7c 90 44 00    	mov    0x44907c,%esi
423370:	8d 84 24 68 04 00 00 	lea    0x468(%esp),%eax
423377:	50                   	push   %eax
423378:	8d 44 24 1c          	lea    0x1c(%esp),%eax
42337c:	8b ce                	mov    %esi,%ecx
42337e:	50                   	push   %eax
42337f:	ff 15 c4 a4 44 00    	call   *0x44a4c4
423385:	ff d6                	call   *%esi
423387:	8b 35 88 90 44 00    	mov    0x449088,%esi
42338d:	85 f6                	test   %esi,%esi
42338f:	74 0f                	je     0x4233a0
423391:	8d 44 24 18          	lea    0x18(%esp),%eax
423395:	8b ce                	mov    %esi,%ecx
423397:	50                   	push   %eax
423398:	ff 15 c4 a4 44 00    	call   *0x44a4c4
42339e:	ff d6                	call   *%esi
4233a0:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4233a4:	e8 82 05 00 00       	call   0x42392b
4233a9:	8b 8c 24 6c 14 00 00 	mov    0x146c(%esp),%ecx
4233b0:	5f                   	pop    %edi
4233b1:	5e                   	pop    %esi
4233b2:	5b                   	pop    %ebx
4233b3:	33 cc                	xor    %esp,%ecx
4233b5:	e8 76 37 ff ff       	call   0x416b30
4233ba:	8b e5                	mov    %ebp,%esp
4233bc:	5d                   	pop    %ebp
4233bd:	c2 20 00             	ret    $0x20
4233c0:	8b ff                	mov    %edi,%edi
4233c2:	55                   	push   %ebp
4233c3:	8b ec                	mov    %esp,%ebp
4233c5:	53                   	push   %ebx
4233c6:	56                   	push   %esi
4233c7:	57                   	push   %edi
4233c8:	ff 75 14             	push   0x14(%ebp)
4233cb:	8b fa                	mov    %edx,%edi
4233cd:	8b d9                	mov    %ecx,%ebx
4233cf:	51                   	push   %ecx
4233d0:	51                   	push   %ecx
4233d1:	68 80 34 40 00       	push   $0x403480
4233d6:	e8 89 f6 ff ff       	call   0x422a64
4233db:	8b f0                	mov    %eax,%esi
4233dd:	85 f6                	test   %esi,%esi
4233df:	7f 04                	jg     0x4233e5
4233e1:	8b ce                	mov    %esi,%ecx
4233e3:	eb 09                	jmp    0x4233ee
4233e5:	0f b7 ce             	movzwl %si,%ecx
4233e8:	81 c9 00 00 07 80    	or     $0x80070000,%ecx
4233ee:	51                   	push   %ecx
4233ef:	51                   	push   %ecx
4233f0:	51                   	push   %ecx
4233f1:	6a 03                	push   $0x3
4233f3:	ff 75 14             	push   0x14(%ebp)
4233f6:	8b d7                	mov    %edi,%edx
4233f8:	8b cb                	mov    %ebx,%ecx
4233fa:	6a 00                	push   $0x0
4233fc:	6a 00                	push   $0x0
4233fe:	68 80 34 40 00       	push   $0x403480
423403:	e8 dc fe ff ff       	call   0x4232e4
423408:	5f                   	pop    %edi
423409:	8b c6                	mov    %esi,%eax
42340b:	5e                   	pop    %esi
42340c:	5b                   	pop    %ebx
42340d:	5d                   	pop    %ebp
42340e:	c2 14 00             	ret    $0x14
423411:	8b ff                	mov    %edi,%edi
423413:	55                   	push   %ebp
423414:	8b ec                	mov    %esp,%ebp
423416:	53                   	push   %ebx
423417:	56                   	push   %esi
423418:	57                   	push   %edi
423419:	ff 75 14             	push   0x14(%ebp)
42341c:	8b fa                	mov    %edx,%edi
42341e:	8b d9                	mov    %ecx,%ebx
423420:	51                   	push   %ecx
423421:	51                   	push   %ecx
423422:	68 7c 34 40 00       	push   $0x40347c
423427:	e8 38 f6 ff ff       	call   0x422a64
42342c:	8b f0                	mov    %eax,%esi
42342e:	85 f6                	test   %esi,%esi
423430:	7e 09                	jle    0x42343b
423432:	0f b7 f6             	movzwl %si,%esi
423435:	81 ce 00 00 07 80    	or     $0x80070000,%esi
42343b:	51                   	push   %ecx
42343c:	51                   	push   %ecx
42343d:	56                   	push   %esi
42343e:	6a 01                	push   $0x1