41a0da:	57                   	push   %edi
41a0db:	52                   	push   %edx
41a0dc:	ff 73 18             	push   0x18(%ebx)
41a0df:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
41a0e3:	8b 31                	mov    (%ecx),%esi
41a0e5:	57                   	push   %edi
41a0e6:	50                   	push   %eax
41a0e7:	51                   	push   %ecx
41a0e8:	8b 4e 18             	mov    0x18(%esi),%ecx
41a0eb:	ff 15 c4 12 45 00    	call   *0x4512c4
41a0f1:	ff 56 18             	call   *0x18(%esi)
41a0f4:	8b f8                	mov    %eax,%edi
41a0f6:	85 ff                	test   %edi,%edi
41a0f8:	78 29                	js     0x41a123
41a0fa:	8d 43 14             	lea    0x14(%ebx),%eax
41a0fd:	50                   	push   %eax
41a0fe:	8d 43 10             	lea    0x10(%ebx),%eax
41a101:	50                   	push   %eax
41a102:	ff 74 24 18          	push   0x18(%esp)
41a106:	51                   	push   %ecx
41a107:	51                   	push   %ecx
41a108:	e8 33 00 00 00       	call   0x41a140
41a10d:	8b f8                	mov    %eax,%edi
41a10f:	8b 44 24 10          	mov    0x10(%esp),%eax
41a113:	50                   	push   %eax
41a114:	8b 08                	mov    (%eax),%ecx
41a116:	8b 71 08             	mov    0x8(%ecx),%esi
41a119:	8b ce                	mov    %esi,%ecx
41a11b:	ff 15 c4 12 45 00    	call   *0x4512c4
41a121:	ff d6                	call   *%esi
41a123:	ff 74 24 14          	push   0x14(%esp)
41a127:	ff 15 0c 30 45 00    	call   *0x45300c
41a12d:	8b c7                	mov    %edi,%eax
41a12f:	5f                   	pop    %edi
41a130:	5e                   	pop    %esi
41a131:	5b                   	pop    %ebx
41a132:	8b e5                	mov    %ebp,%esp
41a134:	5d                   	pop    %ebp
41a135:	c2 08 00             	ret    $0x8
41a138:	bf 06 10 04 80       	mov    $0x80041006,%edi
41a13d:	eb ee                	jmp    0x41a12d
41a13f:	cc                   	int3
41a140:	8b ff                	mov    %edi,%edi
41a142:	55                   	push   %ebp
41a143:	8b ec                	mov    %esp,%ebp
41a145:	6a ff                	push   $0xffffffff
41a147:	68 88 32 42 00       	push   $0x423288
41a14c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41a152:	50                   	push   %eax
41a153:	83 ec 5c             	sub    $0x5c,%esp
41a156:	56                   	push   %esi
41a157:	57                   	push   %edi
41a158:	a1 54 02 45 00       	mov    0x450254,%eax
41a15d:	33 c5                	xor    %ebp,%eax
41a15f:	50                   	push   %eax
41a160:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a163:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41a169:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41a16c:	50                   	push   %eax
41a16d:	ff 15 00 30 45 00    	call   *0x453000
41a173:	8b 45 10             	mov    0x10(%ebp),%eax
41a176:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41a179:	51                   	push   %ecx
41a17a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41a17d:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
41a184:	51                   	push   %ecx
41a185:	8b 30                	mov    (%eax),%esi
41a187:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41a18a:	51                   	push   %ecx
41a18b:	6a 00                	push   $0x0
41a18d:	68 50 62 40 00       	push   $0x406250
41a192:	8b 76 10             	mov    0x10(%esi),%esi
41a195:	8b ce                	mov    %esi,%ecx
41a197:	50                   	push   %eax
41a198:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
41a19f:	ff 15 c4 12 45 00    	call   *0x4512c4
41a1a5:	ff d6                	call   *%esi
41a1a7:	8b f0                	mov    %eax,%esi
41a1a9:	85 f6                	test   %esi,%esi
41a1ab:	0f 88 ea 00 00 00    	js     0x41a29b
41a1b1:	66 8b 45 d4          	mov    -0x2c(%ebp),%ax
41a1b5:	66 83 f8 08          	cmp    $0x8,%ax
41a1b9:	0f 85 54 d5 00 00    	jne    0x427713
41a1bf:	8b 75 14             	mov    0x14(%ebp),%esi
41a1c2:	8b 06                	mov    (%esi),%eax
41a1c4:	85 c0                	test   %eax,%eax
41a1c6:	0f 85 27 d5 00 00    	jne    0x4276f3
41a1cc:	ff 75 dc             	push   -0x24(%ebp)
41a1cf:	ff 15 10 30 45 00    	call   *0x453010
41a1d5:	89 06                	mov    %eax,(%esi)
41a1d7:	85 c0                	test   %eax,%eax
41a1d9:	0f 84 2a d5 00 00    	je     0x427709
41a1df:	83 c8 ff             	or     $0xffffffff,%eax
41a1e2:	c7 45 9c d0 13 40 00 	movl   $0x4013d0,-0x64(%ebp)
41a1e9:	66 89 45 a0          	mov    %ax,-0x60(%ebp)
41a1ed:	66 89 45 a2          	mov    %ax,-0x5e(%ebp)
41a1f1:	66 89 45 a4          	mov    %ax,-0x5c(%ebp)
41a1f5:	66 89 45 a6          	mov    %ax,-0x5a(%ebp)
41a1f9:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
41a1fd:	66 89 45 aa          	mov    %ax,-0x56(%ebp)
41a201:	66 89 45 ac          	mov    %ax,-0x54(%ebp)
41a205:	66 89 45 ae          	mov    %ax,-0x52(%ebp)
41a209:	33 c0                	xor    %eax,%eax
41a20b:	66 89 45 b0          	mov    %ax,-0x50(%ebp)
41a20f:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41a212:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
41a219:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
41a220:	89 45 c0             	mov    %eax,-0x40(%ebp)
41a223:	89 45 c4             	mov    %eax,-0x3c(%ebp)
41a226:	89 45 c8             	mov    %eax,-0x38(%ebp)
41a229:	89 45 cc             	mov    %eax,-0x34(%ebp)
41a22c:	89 45 d0             	mov    %eax,-0x30(%ebp)
41a22f:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a232:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
41a235:	ff 36                	push   (%esi)
41a237:	e8 94 00 00 00       	call   0x41a2d0
41a23c:	85 c0                	test   %eax,%eax
41a23e:	0f 88 bb d4 00 00    	js     0x4276ff
41a244:	33 f6                	xor    %esi,%esi
41a246:	66 83 7d b0 ff       	cmpw   $0xffff,-0x50(%ebp)
41a24b:	0f 85 ae d4 00 00    	jne    0x4276ff
41a251:	8b 4d cc             	mov    -0x34(%ebp),%ecx
41a254:	85 c9                	test   %ecx,%ecx
41a256:	75 62                	jne    0x41a2ba
41a258:	33 ff                	xor    %edi,%edi
41a25a:	8b 45 bc             	mov    -0x44(%ebp),%eax
41a25d:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
41a260:	8b 45 c0             	mov    -0x40(%ebp),%eax
41a263:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
41a266:	8b c8                	mov    %eax,%ecx
41a268:	c1 e1 04             	shl    $0x4,%ecx
41a26b:	2b c8                	sub    %eax,%ecx
41a26d:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a270:	8d 04 88             	lea    (%eax,%ecx,4),%eax
41a273:	8b c8                	mov    %eax,%ecx
41a275:	c1 e1 04             	shl    $0x4,%ecx
41a278:	2b c8                	sub    %eax,%ecx
41a27a:	8b 45 c8             	mov    -0x38(%ebp),%eax
41a27d:	8d 04 88             	lea    (%eax,%ecx,4),%eax
41a280:	69 c8 e8 03 00 00    	imul   $0x3e8,%eax,%ecx
41a286:	8b 45 18             	mov    0x18(%ebp),%eax
41a289:	03 cf                	add    %edi,%ecx
41a28b:	89 08                	mov    %ecx,(%eax)
41a28d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41a294:	c7 45 9c d0 13 40 00 	movl   $0x4013d0,-0x64(%ebp)
41a29b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41a29e:	50                   	push   %eax
41a29f:	ff 15 1c 30 45 00    	call   *0x45301c
41a2a5:	8b c6                	mov    %esi,%eax
41a2a7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41a2aa:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a2b1:	59                   	pop    %ecx
41a2b2:	5f                   	pop    %edi
41a2b3:	5e                   	pop    %esi
41a2b4:	8b e5                	mov    %ebp,%esp
41a2b6:	5d                   	pop    %ebp
41a2b7:	c2 14 00             	ret    $0x14
41a2ba:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
41a2bf:	f7 e9                	imul   %ecx
41a2c1:	c1 fa 06             	sar    $0x6,%edx
41a2c4:	8b fa                	mov    %edx,%edi
41a2c6:	c1 ef 1f             	shr    $0x1f,%edi
41a2c9:	03 fa                	add    %edx,%edi
41a2cb:	eb 8d                	jmp    0x41a25a
41a2cd:	cc                   	int3
41a2ce:	cc                   	int3
41a2cf:	cc                   	int3
41a2d0:	8b ff                	mov    %edi,%edi
41a2d2:	55                   	push   %ebp
41a2d3:	8b ec                	mov    %esp,%ebp
41a2d5:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
41a2db:	a1 54 02 45 00       	mov    0x450254,%eax
41a2e0:	33 c5                	xor    %ebp,%eax
41a2e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a2e5:	53                   	push   %ebx
41a2e6:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a2e9:	89 4d 80             	mov    %ecx,-0x80(%ebp)
41a2ec:	89 5d b8             	mov    %ebx,-0x48(%ebp)
41a2ef:	57                   	push   %edi
41a2f0:	bf 21 10 04 80       	mov    $0x80041021,%edi
41a2f5:	85 db                	test   %ebx,%ebx
41a2f7:	0f 84 3a 0b 00 00    	je     0x41ae37
41a2fd:	8b d3                	mov    %ebx,%edx
41a2ff:	8d 4a 02             	lea    0x2(%edx),%ecx
41a302:	66 8b 02             	mov    (%edx),%ax
41a305:	83 c2 02             	add    $0x2,%edx
41a308:	66 85 c0             	test   %ax,%ax
41a30b:	75 f5                	jne    0x41a302
41a30d:	2b d1                	sub    %ecx,%edx
41a30f:	d1 fa                	sar    $1,%edx
41a311:	83 fa 19             	cmp    $0x19,%edx
41a314:	0f 85 1d 0b 00 00    	jne    0x41ae37
41a31a:	33 c0                	xor    %eax,%eax
41a31c:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
41a323:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41a326:	89 45 a0             	mov    %eax,-0x60(%ebp)
41a329:	83 c8 ff             	or     $0xffffffff,%eax
41a32c:	56                   	push   %esi
41a32d:	66 89 45 d0          	mov    %ax,-0x30(%ebp)
41a331:	8d 73 2a             	lea    0x2a(%ebx),%esi
41a334:	66 89 45 cc          	mov    %ax,-0x34(%ebp)
41a338:	66 89 45 c8          	mov    %ax,-0x38(%ebp)
41a33c:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
41a340:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
41a344:	66 89 45 bc          	mov    %ax,-0x44(%ebp)
41a348:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
41a34c:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41a350:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41a356:	b8 3a 00 00 00       	mov    $0x3a,%eax
41a35b:	c7 45 84 01 00 00 00 	movl   $0x1,-0x7c(%ebp)
41a362:	c7 45 8c 01 00 00 00 	movl   $0x1,-0x74(%ebp)
41a369:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
41a370:	c7 45 94 00 00 00 00 	movl   $0x0,-0x6c(%ebp)
41a377:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
41a37e:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
41a385:	89 75 e0             	mov    %esi,-0x20(%ebp)
41a388:	66 3b 06             	cmp    (%esi),%ax
41a38b:	0f 85 e9 d7 00 00    	jne    0x427b7a
41a391:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
41a398:	00 00 00
41a39b:	33 f6                	xor    %esi,%esi
41a39d:	c7 85 78 ff ff ff 00 	movl   $0x0,-0x88(%ebp)
41a3a4:	00 00 00
41a3a7:	83 fe 15             	cmp    $0x15,%esi
41a3aa:	74 33                	je     0x41a3df
41a3ac:	83 fe 0e             	cmp    $0xe,%esi
41a3af:	74 2e                	je     0x41a3df
41a3b1:	66 8b 04 73          	mov    (%ebx,%esi,2),%ax
41a3b5:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41a3b9:	8d 45 d8             	lea    -0x28(%ebp),%eax
41a3bc:	50                   	push   %eax
41a3bd:	6a 01                	push   $0x1
41a3bf:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41a3c2:	50                   	push   %eax
41a3c3:	6a 01                	push   $0x1
41a3c5:	6a 7f                	push   $0x7f
41a3c7:	ff 15 2c 11 45 00    	call   *0x45112c
41a3cd:	85 c0                	test   %eax,%eax
41a3cf:	0f 84 61 0a 00 00    	je     0x41ae36
41a3d5:	f6 45 d8 04          	testb  $0x4,-0x28(%ebp)
41a3d9:	0f 84 57 0a 00 00    	je     0x41ae36
41a3df:	46                   	inc    %esi
41a3e0:	83 fe 19             	cmp    $0x19,%esi
41a3e3:	7c c2                	jl     0x41a3a7
41a3e5:	33 c9                	xor    %ecx,%ecx
41a3e7:	ba 2a 00 00 00       	mov    $0x2a,%edx
41a3ec:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
41a3ef:	33 f6                	xor    %esi,%esi
41a3f1:	0f b7 04 73          	movzwl (%ebx,%esi,2),%eax
41a3f5:	66 3b d0             	cmp    %ax,%dx
41a3f8:	0f 84 44 d3 00 00    	je     0x427742
41a3fe:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41a402:	8d 45 d8             	lea    -0x28(%ebp),%eax
41a405:	50                   	push   %eax
41a406:	6a 01                	push   $0x1
41a408:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41a40b:	50                   	push   %eax
41a40c:	6a 01                	push   $0x1
41a40e:	6a 7f                	push   $0x7f
41a410:	ff 15 2c 11 45 00    	call   *0x45112c
41a416:	85 c0                	test   %eax,%eax
41a418:	0f 84 18 0a 00 00    	je     0x41ae36
41a41e:	f6 45 d8 04          	testb  $0x4,-0x28(%ebp)
41a422:	0f 84 0e 0a 00 00    	je     0x41ae36
41a428:	83 c8 ff             	or     $0xffffffff,%eax
41a42b:	0f b7 c8             	movzwl %ax,%ecx
41a42e:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
41a431:	8d 50 2b             	lea    0x2b(%eax),%edx
41a434:	46                   	inc    %esi
41a435:	83 fe 08             	cmp    $0x8,%esi
41a438:	72 b7                	jb     0x41a3f1
41a43a:	66 3b c1             	cmp    %cx,%ax
41a43d:	0f 85 f3 09 00 00    	jne    0x41ae36
41a443:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41a446:	8b f3                	mov    %ebx,%esi
41a448:	8b c1                	mov    %ecx,%eax
41a44a:	33 ff                	xor    %edi,%edi
41a44c:	ba 0c 00 00 00       	mov    $0xc,%edx
41a451:	2b f0                	sub    %eax,%esi
41a453:	8d 42 fc             	lea    -0x4(%edx),%eax
41a456:	85 c0                	test   %eax,%eax
41a458:	74 19                	je     0x41a473
41a45a:	0f b7 04 0e          	movzwl (%esi,%ecx,1),%eax
41a45e:	66 85 c0             	test   %ax,%ax
41a461:	74 10                	je     0x41a473
41a463:	66 89 01             	mov    %ax,(%ecx)
41a466:	83 c1 02             	add    $0x2,%ecx
41a469:	83 ea 01             	sub    $0x1,%edx
41a46c:	75 e5                	jne    0x41a453
41a46e:	e9 e0 d2 00 00       	jmp    0x427753
41a473:	85 d2                	test   %edx,%edx
41a475:	0f 84 d8 d2 00 00    	je     0x427753
41a47b:	33 c0                	xor    %eax,%eax
41a47d:	66 89 01             	mov    %ax,(%ecx)
41a480:	85 ff                	test   %edi,%edi
41a482:	0f 88 7a d3 00 00    	js     0x427802
41a488:	0f b7 75 e4          	movzwl -0x1c(%ebp),%esi
41a48c:	8d 7d e6             	lea    -0x1a(%ebp),%edi
41a48f:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
41a493:	33 db                	xor    %ebx,%ebx
41a495:	89 45 ac             	mov    %eax,-0x54(%ebp)
41a498:	8d 45 c0             	lea    -0x40(%ebp),%eax
41a49b:	66 89 75 bc          	mov    %si,-0x44(%ebp)
41a49f:	50                   	push   %eax
41a4a0:	6a 01                	push   $0x1
41a4a2:	8d 45 bc             	lea    -0x44(%ebp),%eax
41a4a5:	50                   	push   %eax
41a4a6:	6a 01                	push   $0x1
41a4a8:	6a 7f                	push   $0x7f
41a4aa:	ff 15 2c 11 45 00    	call   *0x45112c
41a4b0:	85 c0                	test   %eax,%eax
41a4b2:	74 0a                	je     0x41a4be
41a4b4:	f6 45 c0 08          	testb  $0x8,-0x40(%ebp)
41a4b8:	0f 85 a2 d2 00 00    	jne    0x427760
41a4be:	66 83 fe 2d          	cmp    $0x2d,%si
41a4c2:	0f 84 a3 d2 00 00    	je     0x42776b
41a4c8:	66 83 fe 2b          	cmp    $0x2b,%si
41a4cc:	74 49                	je     0x41a517
41a4ce:	8b ff                	mov    %edi,%edi
41a4d0:	8d 45 c8             	lea    -0x38(%ebp),%eax
41a4d3:	66 89 75 c4          	mov    %si,-0x3c(%ebp)
41a4d7:	50                   	push   %eax
41a4d8:	6a 01                	push   $0x1
41a4da:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41a4dd:	50                   	push   %eax
41a4de:	6a 01                	push   $0x1
41a4e0:	6a 7f                	push   $0x7f
41a4e2:	ff 15 2c 11 45 00    	call   *0x45112c
41a4e8:	85 c0                	test   %eax,%eax
41a4ea:	74 33                	je     0x41a51f
41a4ec:	f6 45 c8 04          	testb  $0x4,-0x38(%ebp)
41a4f0:	74 2d                	je     0x41a51f
41a4f2:	0f b7 ce             	movzwl %si,%ecx
41a4f5:	83 e9 30             	sub    $0x30,%ecx
41a4f8:	83 f9 0a             	cmp    $0xa,%ecx
41a4fb:	73 4d                	jae    0x41a54a
41a4fd:	8b 45 ac             	mov    -0x54(%ebp),%eax
41a500:	83 cb 08             	or     $0x8,%ebx
41a503:	3d 99 99 99 19       	cmp    $0x19999999,%eax
41a508:	0f 83 9a d2 00 00    	jae    0x4277a8
41a50e:	8d 04 80             	lea    (%eax,%eax,4),%eax
41a511:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41a514:	89 45 ac             	mov    %eax,-0x54(%ebp)
41a517:	0f b7 37             	movzwl (%edi),%esi
41a51a:	83 c7 02             	add    $0x2,%edi
41a51d:	eb b1                	jmp    0x41a4d0
41a51f:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a522:	66 89 75 cc          	mov    %si,-0x34(%ebp)
41a526:	50                   	push   %eax
41a527:	6a 01                	push   $0x1