403154:	a3 a4 73 41 00       	mov    %eax,0x4173a4
403159:	83 3d a4 73 41 00 00 	cmpl   $0x0,0x4173a4
403160:	0f 84 f8 09 00 00    	je     0x403b5e
403166:	e8 55 f4 ff ff       	call   0x4025c0
40316b:	8b 80 2c 01 00 00    	mov    0x12c(%eax),%eax
403171:	ff d0                	call   *%eax
403173:	89 45 98             	mov    %eax,-0x68(%ebp)
403176:	8b 4d 98             	mov    -0x68(%ebp),%ecx
403179:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
40317f:	0f b7 d1             	movzwl %cx,%edx
403182:	81 e2 ff 00 00 00    	and    $0xff,%edx
403188:	0f b6 c2             	movzbl %dl,%eax
40318b:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
403191:	89 01                	mov    %eax,(%ecx)
403193:	8b 55 98             	mov    -0x68(%ebp),%edx
403196:	81 e2 ff ff 00 00    	and    $0xffff,%edx
40319c:	0f b7 c2             	movzwl %dx,%eax
40319f:	c1 e8 08             	shr    $0x8,%eax
4031a2:	25 ff 00 00 00       	and    $0xff,%eax
4031a7:	0f b6 c8             	movzbl %al,%ecx
4031aa:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
4031b0:	89 4a 04             	mov    %ecx,0x4(%edx)
4031b3:	e8 08 f4 ff ff       	call   0x4025c0
4031b8:	83 b8 58 01 00 00 00 	cmpl   $0x0,0x158(%eax)
4031bf:	74 18                	je     0x4031d9
4031c1:	a1 a4 73 41 00       	mov    0x4173a4,%eax
4031c6:	83 c0 08             	add    $0x8,%eax
4031c9:	50                   	push   %eax
4031ca:	6a ff                	push   $0xffffffff
4031cc:	e8 ef f3 ff ff       	call   0x4025c0
4031d1:	8b 88 58 01 00 00    	mov    0x158(%eax),%ecx
4031d7:	ff d1                	call   *%ecx
4031d9:	e8 e2 f3 ff ff       	call   0x4025c0
4031de:	8b 90 80 01 00 00    	mov    0x180(%eax),%edx
4031e4:	ff d2                	call   *%edx
4031e6:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4031ec:	89 41 10             	mov    %eax,0x10(%ecx)
4031ef:	68 ff 01 0f 00       	push   $0xf01ff
4031f4:	6a ff                	push   $0xffffffff
4031f6:	e8 05 0c 01 00       	call   0x413e00
4031fb:	83 c4 08             	add    $0x8,%esp
4031fe:	89 45 94             	mov    %eax,-0x6c(%ebp)
403201:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
403205:	74 71                	je     0x403278
403207:	68 00 01 00 00       	push   $0x100
40320c:	e8 6f 36 00 00       	call   0x406880
403211:	83 c4 04             	add    $0x4,%esp
403214:	89 45 d0             	mov    %eax,-0x30(%ebp)
403217:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
40321b:	74 5b                	je     0x403278
40321d:	c7 85 70 ff ff ff 00 	movl   $0x0,-0x90(%ebp)
403224:	00 00 00
403227:	8d 95 70 ff ff ff    	lea    -0x90(%ebp),%edx
40322d:	52                   	push   %edx
40322e:	68 00 01 00 00       	push   $0x100
403233:	8b 45 d0             	mov    -0x30(%ebp),%eax
403236:	50                   	push   %eax
403237:	6a 01                	push   $0x1
403239:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
40323c:	51                   	push   %ecx
40323d:	e8 7e f3 ff ff       	call   0x4025c0
403242:	8b 90 08 02 00 00    	mov    0x208(%eax),%edx
403248:	ff d2                	call   *%edx
40324a:	85 c0                	test   %eax,%eax
40324c:	74 1e                	je     0x40326c
40324e:	6a 16                	push   $0x16
403250:	8b 45 d0             	mov    -0x30(%ebp),%eax
403253:	8b 08                	mov    (%eax),%ecx
403255:	51                   	push   %ecx
403256:	e8 65 f3 ff ff       	call   0x4025c0
40325b:	8b 90 10 02 00 00    	mov    0x210(%eax),%edx
403261:	ff d2                	call   *%edx
403263:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
403269:	89 41 0c             	mov    %eax,0xc(%ecx)
40326c:	8b 55 d0             	mov    -0x30(%ebp),%edx
40326f:	52                   	push   %edx
403270:	e8 3b 36 00 00       	call   0x4068b0
403275:	83 c4 04             	add    $0x4,%esp
403278:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
40327f:	8d 45 88             	lea    -0x78(%ebp),%eax
403282:	50                   	push   %eax
403283:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
403289:	83 c1 20             	add    $0x20,%ecx
40328c:	51                   	push   %ecx
40328d:	68 98 71 41 00       	push   $0x417198
403292:	e8 19 f9 ff ff       	call   0x402bb0
403297:	83 c4 0c             	add    $0xc,%esp
40329a:	85 c0                	test   %eax,%eax
40329c:	0f 84 bc 08 00 00    	je     0x403b5e
4032a2:	e8 59 21 00 00       	call   0x405400
4032a7:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
4032ad:	8b 40 04             	mov    0x4(%eax),%eax
4032b0:	89 42 3c             	mov    %eax,0x3c(%edx)
4032b3:	6a 00                	push   $0x0
4032b5:	6a 20                	push   $0x20
4032b7:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4032bd:	8b 51 3c             	mov    0x3c(%ecx),%edx
4032c0:	52                   	push   %edx
4032c1:	e8 fa 43 00 00       	call   0x4076c0
4032c6:	83 c4 0c             	add    $0xc,%esp
4032c9:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4032cf:	89 41 38             	mov    %eax,0x38(%ecx)
4032d2:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4032d9:	8d 55 ec             	lea    -0x14(%ebp),%edx
4032dc:	52                   	push   %edx
4032dd:	a1 a4 73 41 00       	mov    0x4173a4,%eax
4032e2:	83 c0 1c             	add    $0x1c,%eax
4032e5:	50                   	push   %eax
4032e6:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4032ec:	8b 51 3c             	mov    0x3c(%ecx),%edx
4032ef:	52                   	push   %edx
4032f0:	e8 db f2 ff ff       	call   0x4025d0
4032f5:	83 c4 0c             	add    $0xc,%esp
4032f8:	85 c0                	test   %eax,%eax
4032fa:	0f 84 5e 08 00 00    	je     0x403b5e
403300:	e8 fb 20 00 00       	call   0x405400
403305:	8b 40 20             	mov    0x20(%eax),%eax
403308:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
40330e:	8b 51 1c             	mov    0x1c(%ecx),%edx
403311:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)
403315:	e8 e6 20 00 00       	call   0x405400
40331a:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
403320:	8b 50 20             	mov    0x20(%eax),%edx
403323:	89 51 18             	mov    %edx,0x18(%ecx)
403326:	e8 d5 20 00 00       	call   0x405400
40332b:	8b 40 1c             	mov    0x1c(%eax),%eax
40332e:	50                   	push   %eax
40332f:	e8 cc 36 00 00       	call   0x406a00
403334:	83 c4 04             	add    $0x4,%esp
403337:	89 45 90             	mov    %eax,-0x70(%ebp)
40333a:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
403340:	8b 55 90             	mov    -0x70(%ebp),%edx
403343:	89 51 28             	mov    %edx,0x28(%ecx)
403346:	83 7d 90 00          	cmpl   $0x0,-0x70(%ebp)
40334a:	0f 84 02 08 00 00    	je     0x403b52
403350:	e8 ab 20 00 00       	call   0x405400
403355:	8b 40 1c             	mov    0x1c(%eax),%eax
403358:	d1 e0                	shl    $1,%eax
40335a:	50                   	push   %eax
40335b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40335e:	51                   	push   %ecx
40335f:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
403365:	8b 42 28             	mov    0x28(%edx),%eax
403368:	50                   	push   %eax
403369:	e8 32 36 00 00       	call   0x4069a0
40336e:	83 c4 0c             	add    $0xc,%esp
403371:	e8 8a 20 00 00       	call   0x405400
403376:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
40337c:	8b 50 1c             	mov    0x1c(%eax),%edx
40337f:	89 51 24             	mov    %edx,0x24(%ecx)
403382:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
403386:	75 14                	jne    0x40339c
403388:	c7 05 a0 73 41 00 01 	movl   $0x1,0x4173a0
40338f:	00 00 00
403392:	a1 a0 73 41 00       	mov    0x4173a0,%eax
403397:	e9 df 07 00 00       	jmp    0x403b7b
40339c:	a1 a4 73 41 00       	mov    0x4173a4,%eax
4033a1:	8b 48 28             	mov    0x28(%eax),%ecx
4033a4:	51                   	push   %ecx
4033a5:	e8 46 37 00 00       	call   0x406af0
4033aa:	83 c4 04             	add    $0x4,%esp
4033ad:	89 45 8c             	mov    %eax,-0x74(%ebp)
4033b0:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
4033b6:	8b 45 8c             	mov    -0x74(%ebp),%eax
4033b9:	89 42 2c             	mov    %eax,0x2c(%edx)
4033bc:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
4033c0:	74 1b                	je     0x4033dd
4033c2:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4033c8:	8b 51 24             	mov    0x24(%ecx),%edx
4033cb:	a1 a4 73 41 00       	mov    0x4173a4,%eax
4033d0:	8b 48 2c             	mov    0x2c(%eax),%ecx
4033d3:	b8 2a 00 00 00       	mov    $0x2a,%eax
4033d8:	66 89 44 51 fe       	mov    %ax,-0x2(%ecx,%edx,2)
4033dd:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4033e3:	8b 51 28             	mov    0x28(%ecx),%edx
4033e6:	52                   	push   %edx
4033e7:	e8 c4 44 00 00       	call   0x4078b0
4033ec:	83 c4 04             	add    $0x4,%esp
4033ef:	3b 45 88             	cmp    -0x78(%ebp),%eax
4033f2:	75 09                	jne    0x4033fd
4033f4:	c7 45 84 01 00 00 00 	movl   $0x1,-0x7c(%ebp)
4033fb:	eb 07                	jmp    0x403404
4033fd:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
403404:	8b 45 84             	mov    -0x7c(%ebp),%eax
403407:	89 45 80             	mov    %eax,-0x80(%ebp)
40340a:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
403411:	83 7d 80 00          	cmpl   $0x0,-0x80(%ebp)
403415:	74 2a                	je     0x403441
403417:	6a 00                	push   $0x0
403419:	68 02 00 00 80       	push   $0x80000002
40341e:	e8 bd 0b 00 00       	call   0x403fe0
403423:	83 c4 08             	add    $0x8,%esp
403426:	89 45 f8             	mov    %eax,-0x8(%ebp)
403429:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40342d:	75 12                	jne    0x403441
40342f:	6a 00                	push   $0x0
403431:	68 01 00 00 80       	push   $0x80000001
403436:	e8 a5 0b 00 00       	call   0x403fe0
40343b:	83 c4 08             	add    $0x8,%esp
40343e:	89 45 f8             	mov    %eax,-0x8(%ebp)
403441:	c7 45 e8 02 00 00 80 	movl   $0x80000002,-0x18(%ebp)
403448:	c7 45 cc 26 00 00 00 	movl   $0x26,-0x34(%ebp)
40344f:	83 7d 80 00          	cmpl   $0x0,-0x80(%ebp)
403453:	0f 85 1e 02 00 00    	jne    0x403677
403459:	68 04 01 00 00       	push   $0x104
40345e:	e8 9d 35 00 00       	call   0x406a00
403463:	83 c4 04             	add    $0x4,%esp
403466:	89 45 c8             	mov    %eax,-0x38(%ebp)
403469:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
40346d:	0f 84 04 02 00 00    	je     0x403677
403473:	e8 78 15 00 00       	call   0x4049f0
403478:	50                   	push   %eax
403479:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40347c:	51                   	push   %ecx
40347d:	e8 3e f1 ff ff       	call   0x4025c0
403482:	8b 50 2c             	mov    0x2c(%eax),%edx
403485:	ff d2                	call   *%edx
403487:	83 c4 08             	add    $0x8,%esp
40348a:	6a 00                	push   $0x0
40348c:	8b 45 cc             	mov    -0x34(%ebp),%eax
40348f:	50                   	push   %eax
403490:	68 98 71 41 00       	push   $0x417198
403495:	8b 4d e8             	mov    -0x18(%ebp),%ecx
403498:	51                   	push   %ecx
403499:	e8 f2 06 00 00       	call   0x403b90
40349e:	83 c4 10             	add    $0x10,%esp
4034a1:	89 45 ac             	mov    %eax,-0x54(%ebp)
4034a4:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
4034a8:	75 28                	jne    0x4034d2
4034aa:	c7 45 e8 01 00 00 80 	movl   $0x80000001,-0x18(%ebp)
4034b1:	c7 45 cc 1a 00 00 00 	movl   $0x1a,-0x34(%ebp)
4034b8:	6a 00                	push   $0x0
4034ba:	8b 55 cc             	mov    -0x34(%ebp),%edx
4034bd:	52                   	push   %edx
4034be:	68 98 71 41 00       	push   $0x417198
4034c3:	8b 45 e8             	mov    -0x18(%ebp),%eax
4034c6:	50                   	push   %eax
4034c7:	e8 c4 06 00 00       	call   0x403b90
4034cc:	83 c4 10             	add    $0x10,%esp
4034cf:	89 45 ac             	mov    %eax,-0x54(%ebp)
4034d2:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4034d8:	83 c1 44             	add    $0x44,%ecx
4034db:	51                   	push   %ecx
4034dc:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
4034e2:	83 c2 48             	add    $0x48,%edx
4034e5:	52                   	push   %edx
4034e6:	a1 a4 73 41 00       	mov    0x4173a4,%eax
4034eb:	83 c0 40             	add    $0x40,%eax
4034ee:	50                   	push   %eax
4034ef:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4034f5:	8b 51 3c             	mov    0x3c(%ecx),%edx
4034f8:	52                   	push   %edx
4034f9:	e8 42 45 00 00       	call   0x407a40
4034fe:	83 c4 10             	add    $0x10,%esp
403501:	85 c0                	test   %eax,%eax
403503:	0f 84 f6 00 00 00    	je     0x4035ff
403509:	a1 a4 73 41 00       	mov    0x4173a4,%eax
40350e:	8b 48 44             	mov    0x44(%eax),%ecx
403511:	83 c1 20             	add    $0x20,%ecx
403514:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
40351a:	89 4a 50             	mov    %ecx,0x50(%edx)
40351d:	a1 a4 73 41 00       	mov    0x4173a4,%eax
403522:	8b 48 50             	mov    0x50(%eax),%ecx
403525:	51                   	push   %ecx
403526:	e8 55 33 00 00       	call   0x406880
40352b:	83 c4 04             	add    $0x4,%esp
40352e:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
403534:	89 42 4c             	mov    %eax,0x4c(%edx)
403537:	a1 a4 73 41 00       	mov    0x4173a4,%eax
40353c:	83 78 4c 00          	cmpl   $0x0,0x4c(%eax)
403540:	0f 84 b9 00 00 00    	je     0x4035ff
403546:	6a 20                	push   $0x20
403548:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
40354e:	8b 51 40             	mov    0x40(%ecx),%edx
403551:	52                   	push   %edx
403552:	a1 a4 73 41 00       	mov    0x4173a4,%eax
403557:	8b 48 4c             	mov    0x4c(%eax),%ecx
40355a:	51                   	push   %ecx
40355b:	e8 60 f0 ff ff       	call   0x4025c0
403560:	8b 50 10             	mov    0x10(%eax),%edx
403563:	ff d2                	call   *%edx
403565:	83 c4 0c             	add    $0xc,%esp
403568:	a1 a4 73 41 00       	mov    0x4173a4,%eax
40356d:	8b 48 44             	mov    0x44(%eax),%ecx
403570:	51                   	push   %ecx
403571:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
403577:	8b 42 48             	mov    0x48(%edx),%eax
40357a:	50                   	push   %eax
40357b:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
403581:	8b 51 4c             	mov    0x4c(%ecx),%edx
403584:	83 c2 20             	add    $0x20,%edx
403587:	52                   	push   %edx
403588:	e8 33 f0 ff ff       	call   0x4025c0
40358d:	8b 40 10             	mov    0x10(%eax),%eax
403590:	ff d0                	call   *%eax
403592:	83 c4 0c             	add    $0xc,%esp
403595:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
40359b:	8b 51 44             	mov    0x44(%ecx),%edx
40359e:	83 c2 20             	add    $0x20,%edx
4035a1:	a1 a4 73 41 00       	mov    0x4173a4,%eax
4035a6:	89 50 50             	mov    %edx,0x50(%eax)
4035a9:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
4035ad:	74 37                	je     0x4035e6
4035af:	6a 01                	push   $0x1
4035b1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4035b4:	51                   	push   %ecx
4035b5:	e8 26 0a 00 00       	call   0x403fe0
4035ba:	83 c4 08             	add    $0x8,%esp
4035bd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4035c0:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4035c4:	75 1e                	jne    0x4035e4
4035c6:	6a 01                	push   $0x1
4035c8:	8b 55 cc             	mov    -0x34(%ebp),%edx
4035cb:	52                   	push   %edx
4035cc:	68 98 71 41 00       	push   $0x417198
4035d1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4035d4:	50                   	push   %eax
4035d5:	e8 b6 05 00 00       	call   0x403b90
4035da:	83 c4 10             	add    $0x10,%esp
4035dd:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4035e4:	eb 07                	jmp    0x4035ed
4035e6:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4035ed:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4035f3:	8b 51 4c             	mov    0x4c(%ecx),%edx
4035f6:	52                   	push   %edx
4035f7:	e8 b4 32 00 00       	call   0x4068b0
4035fc:	83 c4 04             	add    $0x4,%esp
4035ff:	a1 a4 73 41 00       	mov    0x4173a4,%eax
403604:	8b 48 20             	mov    0x20(%eax),%ecx
403607:	51                   	push   %ecx
403608:	e8 03 02 01 00       	call   0x413810
40360d:	83 c4 04             	add    $0x4,%esp
403610:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
403616:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
40361c:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
403622:	3b 42 10             	cmp    0x10(%edx),%eax
403625:	74 44                	je     0x40366b
403627:	6a 01                	push   $0x1
403629:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
40362f:	51                   	push   %ecx
403630:	e8 3b 07 01 00       	call   0x413d70
403635:	83 c4 08             	add    $0x8,%esp
403638:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
40363e:	83 bd 78 ff ff ff 00 	cmpl   $0x0,-0x88(%ebp)
403645:	74 13                	je     0x40365a
403647:	6a 00                	push   $0x0
403649:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
40364f:	52                   	push   %edx
403650:	e8 6b ef ff ff       	call   0x4025c0
403655:	8b 40 78             	mov    0x78(%eax),%eax