407126:	33 d2                	xor    %edx,%edx
407128:	e9 fd fd ff ff       	jmp    0x406f2a
40712d:	e8 83 27 02 00       	call   0x4298b5
407132:	eb b4                	jmp    0x4070e8
407134:	8b cf                	mov    %edi,%ecx
407136:	e8 54 a8 00 00       	call   0x41198f
40713b:	eb d3                	jmp    0x407110
40713d:	cc                   	int3
40713e:	cc                   	int3
40713f:	cc                   	int3
407140:	8b 0d 48 67 43 00    	mov    0x436748,%ecx
407146:	e8 d6 00 00 00       	call   0x407221
40714b:	33 c0                	xor    %eax,%eax
40714d:	c2 04 00             	ret    $0x4
407150:	8b ff                	mov    %edi,%edi
407152:	55                   	push   %ebp
407153:	8b ec                	mov    %esp,%ebp
407155:	51                   	push   %ecx
407156:	51                   	push   %ecx
407157:	53                   	push   %ebx
407158:	56                   	push   %esi
407159:	57                   	push   %edi
40715a:	8b 7d 08             	mov    0x8(%ebp),%edi
40715d:	33 db                	xor    %ebx,%ebx
40715f:	8b 77 3c             	mov    0x3c(%edi),%esi
407162:	85 f6                	test   %esi,%esi
407164:	0f 84 83 00 00 00    	je     0x4071ed
40716a:	6a 20                	push   $0x20
40716c:	59                   	pop    %ecx
40716d:	0f b7 06             	movzwl (%esi),%eax
407170:	66 85 c0             	test   %ax,%ax
407173:	74 09                	je     0x40717e
407175:	66 3b c1             	cmp    %cx,%ax
407178:	0f 86 94 00 00 00    	jbe    0x407212
40717e:	85 f6                	test   %esi,%esi
407180:	74 6b                	je     0x4071ed
407182:	6a 02                	push   $0x2
407184:	68 a4 1f 40 00       	push   $0x401fa4
407189:	56                   	push   %esi
40718a:	ff 15 28 a4 44 00    	call   *0x44a428
407190:	83 c4 0c             	add    $0xc,%esp
407193:	85 c0                	test   %eax,%eax
407195:	75 28                	jne    0x4071bf
407197:	c7 07 14 00 00 00    	movl   $0x14,(%edi)
40719d:	c7 47 3c 8c 22 40 00 	movl   $0x40228c,0x3c(%edi)
4071a4:	83 c6 04             	add    $0x4,%esi
4071a7:	74 4d                	je     0x4071f6
4071a9:	6a 20                	push   $0x20
4071ab:	59                   	pop    %ecx
4071ac:	0f b7 06             	movzwl (%esi),%eax
4071af:	66 85 c0             	test   %ax,%ax
4071b2:	74 0b                	je     0x4071bf
4071b4:	66 3b c1             	cmp    %cx,%ax
4071b7:	77 06                	ja     0x4071bf
4071b9:	46                   	inc    %esi
4071ba:	83 c6 01             	add    $0x1,%esi
4071bd:	75 ed                	jne    0x4071ac
4071bf:	85 f6                	test   %esi,%esi
4071c1:	74 2a                	je     0x4071ed
4071c3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4071c6:	50                   	push   %eax
4071c7:	68 50 20 40 00       	push   $0x402050
4071cc:	56                   	push   %esi
4071cd:	ff 15 8c a3 44 00    	call   *0x44a38c
4071d3:	83 c4 0c             	add    $0xc,%esp
4071d6:	83 f8 01             	cmp    $0x1,%eax
4071d9:	75 12                	jne    0x4071ed
4071db:	8b 45 fc             	mov    -0x4(%ebp),%eax
4071de:	a3 dc 65 43 00       	mov    %eax,0x4365dc
4071e3:	39 1d 58 67 43 00    	cmp    %ebx,0x436758
4071e9:	74 02                	je     0x4071ed
4071eb:	8b d8                	mov    %eax,%ebx
4071ed:	83 3f 14             	cmpl   $0x14,(%edi)
4071f0:	0f 85 23 36 01 00    	jne    0x41a819
4071f6:	83 3d 48 67 43 00 00 	cmpl   $0x0,0x436748
4071fd:	0f 84 16 36 01 00    	je     0x41a819
407203:	57                   	push   %edi
407204:	e8 b7 54 00 00       	call   0x40c6c0
407209:	5f                   	pop    %edi
40720a:	5e                   	pop    %esi
40720b:	8b c3                	mov    %ebx,%eax
40720d:	5b                   	pop    %ebx
40720e:	c9                   	leave
40720f:	c2 04 00             	ret    $0x4
407212:	46                   	inc    %esi
407213:	83 c6 01             	add    $0x1,%esi
407216:	0f 85 51 ff ff ff    	jne    0x40716d
40721c:	e9 5d ff ff ff       	jmp    0x40717e
407221:	8b ff                	mov    %edi,%edi
407223:	56                   	push   %esi
407224:	57                   	push   %edi
407225:	85 c9                	test   %ecx,%ecx
407227:	0f 84 8f 00 00 00    	je     0x4072bc
40722d:	8b 41 14             	mov    0x14(%ecx),%eax
407230:	85 c0                	test   %eax,%eax
407232:	0f 84 84 00 00 00    	je     0x4072bc
407238:	48                   	dec    %eax
407239:	89 41 14             	mov    %eax,0x14(%ecx)
40723c:	8b b4 81 90 00 00 00 	mov    0x90(%ecx,%eax,4),%esi
407243:	83 a4 81 90 00 00 00 	andl   $0x0,0x90(%ecx,%eax,4)
40724a:	00
40724b:	85 f6                	test   %esi,%esi
40724d:	74 6d                	je     0x4072bc
40724f:	8b 3e                	mov    (%esi),%edi
407251:	0f b7 07             	movzwl (%edi),%eax
407254:	83 f8 61             	cmp    $0x61,%eax
407257:	0f 83 e0 35 01 00    	jae    0x41a83d
40725d:	8b c8                	mov    %eax,%ecx
40725f:	a1 f8 8d 44 00       	mov    0x448df8,%eax
407264:	85 c0                	test   %eax,%eax
407266:	74 57                	je     0x4072bf
407268:	66 39 08             	cmp    %cx,(%eax)
40726b:	0f 85 e0 35 01 00    	jne    0x41a851
407271:	33 d2                	xor    %edx,%edx
407273:	8b cf                	mov    %edi,%ecx
407275:	42                   	inc    %edx
407276:	e8 4c 19 00 00       	call   0x408bc7
40727b:	ff 36                	push   (%esi)
40727d:	6a 00                	push   $0x0
40727f:	ff 15 34 a1 44 00    	call   *0x44a134
407285:	50                   	push   %eax
407286:	ff 15 3c a1 44 00    	call   *0x44a13c
40728c:	8b 4e 04             	mov    0x4(%esi),%ecx
40728f:	e8 5a 00 00 00       	call   0x4072ee
407294:	8b 4e 04             	mov    0x4(%esi),%ecx
407297:	e8 2a 00 00 00       	call   0x4072c6
40729c:	8a 46 08             	mov    0x8(%esi),%al
40729f:	a2 55 67 43 00       	mov    %al,0x436755
4072a4:	8a 46 09             	mov    0x9(%esi),%al
4072a7:	56                   	push   %esi
4072a8:	6a 00                	push   $0x0
4072aa:	a2 54 67 43 00       	mov    %al,0x436754
4072af:	ff 15 34 a1 44 00    	call   *0x44a134
4072b5:	50                   	push   %eax
4072b6:	ff 15 3c a1 44 00    	call   *0x44a13c
4072bc:	5f                   	pop    %edi
4072bd:	5e                   	pop    %esi
4072be:	c3                   	ret
4072bf:	b8 f0 8b 44 00       	mov    $0x448bf0,%eax
4072c4:	eb a2                	jmp    0x407268
4072c6:	8b ff                	mov    %edi,%edi
4072c8:	56                   	push   %esi
4072c9:	8b f1                	mov    %ecx,%esi
4072cb:	ff 36                	push   (%esi)
4072cd:	6a 00                	push   $0x0
4072cf:	ff 15 34 a1 44 00    	call   *0x44a134
4072d5:	50                   	push   %eax
4072d6:	ff 15 3c a1 44 00    	call   *0x44a13c
4072dc:	56                   	push   %esi
4072dd:	6a 00                	push   $0x0
4072df:	ff 15 34 a1 44 00    	call   *0x44a134
4072e5:	50                   	push   %eax
4072e6:	ff 15 3c a1 44 00    	call   *0x44a13c
4072ec:	5e                   	pop    %esi
4072ed:	c3                   	ret
4072ee:	ff 31                	push   (%ecx)
4072f0:	ff 15 b8 a1 44 00    	call   *0x44a1b8
4072f6:	ff 35 94 25 43 00    	push   0x432594
4072fc:	6a 00                	push   $0x0
4072fe:	ff 15 34 a1 44 00    	call   *0x44a134
407304:	50                   	push   %eax
407305:	ff 15 3c a1 44 00    	call   *0x44a13c
40730b:	e8 c4 36 00 00       	call   0x40a9d4
407310:	a3 94 25 43 00       	mov    %eax,0x432594
407315:	c3                   	ret
407316:	cc                   	int3
407317:	cc                   	int3
407318:	cc                   	int3
407319:	cc                   	int3
40731a:	cc                   	int3
40731b:	cc                   	int3
40731c:	cc                   	int3
40731d:	cc                   	int3
40731e:	cc                   	int3
40731f:	cc                   	int3
407320:	8b ff                	mov    %edi,%edi
407322:	55                   	push   %ebp
407323:	8b ec                	mov    %esp,%ebp
407325:	8b 4d 08             	mov    0x8(%ebp),%ecx
407328:	8b 49 3c             	mov    0x3c(%ecx),%ecx
40732b:	e8 04 00 00 00       	call   0x407334
407330:	5d                   	pop    %ebp
407331:	c2 04 00             	ret    $0x4
407334:	8b ff                	mov    %edi,%edi
407336:	55                   	push   %ebp
407337:	8b ec                	mov    %esp,%ebp
407339:	83 e4 f8             	and    $0xfffffff8,%esp
40733c:	81 ec 7c 04 00 00    	sub    $0x47c,%esp
407342:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
407347:	33 c4                	xor    %esp,%eax
407349:	89 84 24 78 04 00 00 	mov    %eax,0x478(%esp)
407350:	53                   	push   %ebx
407351:	56                   	push   %esi
407352:	57                   	push   %edi
407353:	8b f9                	mov    %ecx,%edi
407355:	85 ff                	test   %edi,%edi
407357:	0f 84 4c 01 00 00    	je     0x4074a9
40735d:	b8 04 01 00 00       	mov    $0x104,%eax
407362:	c6 84 24 24 02 00 00 	movb   $0x1,0x224(%esp)
407369:	01
40736a:	50                   	push   %eax
40736b:	33 f6                	xor    %esi,%esi
40736d:	89 84 24 2c 02 00 00 	mov    %eax,0x22c(%esp)
407374:	8d 44 24 1c          	lea    0x1c(%esp),%eax
407378:	89 b4 24 24 02 00 00 	mov    %esi,0x224(%esp)
40737f:	56                   	push   %esi
407380:	50                   	push   %eax
407381:	e8 37 0c 01 00       	call   0x417fbd
407386:	33 c0                	xor    %eax,%eax
407388:	8d 4c 24 24          	lea    0x24(%esp),%ecx
40738c:	83 c4 0c             	add    $0xc,%esp
40738f:	38 84 24 24 02 00 00 	cmp    %al,0x224(%esp)
407396:	0f 94 c0             	sete   %al
407399:	48                   	dec    %eax
40739a:	25 c6 fd 00 00       	and    $0xfdc6,%eax
40739f:	05 08 02 00 00       	add    $0x208,%eax
4073a4:	50                   	push   %eax
4073a5:	e8 46 70 00 00       	call   0x40e3f0
4073aa:	85 c0                	test   %eax,%eax
4073ac:	0f 88 fb 00 00 00    	js     0x4074ad
4073b2:	8b 84 24 20 02 00 00 	mov    0x220(%esp),%eax
4073b9:	85 c0                	test   %eax,%eax
4073bb:	0f 84 a2 34 01 00    	je     0x41a863
4073c1:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4073c5:	51                   	push   %ecx
4073c6:	50                   	push   %eax
4073c7:	ff b4 24 30 02 00 00 	push   0x230(%esp)
4073ce:	8b cf                	mov    %edi,%ecx
4073d0:	e8 8b 8c 00 00       	call   0x410060
4073d5:	50                   	push   %eax
4073d6:	ff 15 a4 a0 44 00    	call   *0x44a0a4
4073dc:	8b d8                	mov    %eax,%ebx
4073de:	85 db                	test   %ebx,%ebx
4073e0:	74 70                	je     0x407452
4073e2:	8b b4 24 20 02 00 00 	mov    0x220(%esp),%esi
4073e9:	85 f6                	test   %esi,%esi
4073eb:	0f 84 7b 34 01 00    	je     0x41a86c
4073f1:	6a 04                	push   $0x4
4073f3:	68 08 20 40 00       	push   $0x402008
4073f8:	56                   	push   %esi
4073f9:	ff 15 9c a3 44 00    	call   *0x44a39c
4073ff:	83 c4 0c             	add    $0xc,%esp
407402:	85 c0                	test   %eax,%eax
407404:	0f 84 6b 34 01 00    	je     0x41a875
40740a:	8b 44 24 10          	mov    0x10(%esp),%eax
40740e:	85 c0                	test   %eax,%eax
407410:	0f 84 c7 34 01 00    	je     0x41a8dd
407416:	33 ff                	xor    %edi,%edi
407418:	66 39 38             	cmp    %di,(%eax)
40741b:	0f 84 bc 34 01 00    	je     0x41a8dd
407421:	8d 44 24 14          	lea    0x14(%esp),%eax
407425:	8b d6                	mov    %esi,%edx
407427:	50                   	push   %eax
407428:	8d 84 24 34 02 00 00 	lea    0x234(%esp),%eax
40742f:	b9 d0 59 41 00       	mov    $0x4159d0,%ecx
407434:	50                   	push   %eax
407435:	57                   	push   %edi
407436:	68 37 10 00 00       	push   $0x1037
40743b:	e8 5a e4 00 00       	call   0x41589a
407440:	8b 4c 24 14          	mov    0x14(%esp),%ecx
407444:	0f b6 d8             	movzbl %al,%ebx
407447:	e8 01 17 00 00       	call   0x408b4d
40744c:	85 db                	test   %ebx,%ebx
40744e:	74 33                	je     0x407483
407450:	33 f6                	xor    %esi,%esi
407452:	8b 84 24 20 02 00 00 	mov    0x220(%esp),%eax
407459:	89 b4 24 20 02 00 00 	mov    %esi,0x220(%esp)
407460:	85 c0                	test   %eax,%eax
407462:	74 08                	je     0x40746c
407464:	50                   	push   %eax
407465:	ff 15 e0 a3 44 00    	call   *0x44a3e0
40746b:	59                   	pop    %ecx
40746c:	8b c3                	mov    %ebx,%eax
40746e:	8b 8c 24 84 04 00 00 	mov    0x484(%esp),%ecx
407475:	5f                   	pop    %edi
407476:	5e                   	pop    %esi
407477:	5b                   	pop    %ebx
407478:	33 cc                	xor    %esp,%ecx
40747a:	e8 b1 f6 00 00       	call   0x416b30
40747f:	8b e5                	mov    %ebp,%esp
407481:	5d                   	pop    %ebp
407482:	c3                   	ret
407483:	0f b7 46 02          	movzwl 0x2(%esi),%eax
407487:	6a 5c                	push   $0x5c
407489:	59                   	pop    %ecx
40748a:	66 3b c1             	cmp    %cx,%ax
40748d:	0f 84 32 34 01 00    	je     0x41a8c5
407493:	83 f8 3a             	cmp    $0x3a,%eax
407496:	75 b8                	jne    0x407450
407498:	66 39 4e 04          	cmp    %cx,0x4(%esi)
40749c:	75 b2                	jne    0x407450
40749e:	66 39 7e 06          	cmp    %di,0x6(%esi)
4074a2:	75 ac                	jne    0x407450
4074a4:	e9 1c 34 01 00       	jmp    0x41a8c5
4074a9:	33 c0                	xor    %eax,%eax
4074ab:	eb c1                	jmp    0x40746e
4074ad:	8b de                	mov    %esi,%ebx
4074af:	eb a1                	jmp    0x407452
4074b1:	8b ff                	mov    %edi,%edi
4074b3:	55                   	push   %ebp
4074b4:	8b ec                	mov    %esp,%ebp
4074b6:	83 ec 2c             	sub    $0x2c,%esp
4074b9:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4074be:	33 c5                	xor    %ebp,%eax
4074c0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4074c3:	53                   	push   %ebx
4074c4:	56                   	push   %esi
4074c5:	57                   	push   %edi
4074c6:	6a 2f                	push   $0x2f
4074c8:	58                   	pop    %eax
4074c9:	8b f2                	mov    %edx,%esi
4074cb:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
4074cf:	33 c0                	xor    %eax,%eax
4074d1:	89 75 e0             	mov    %esi,-0x20(%ebp)
4074d4:	6a 02                	push   $0x2
4074d6:	8d 55 e8             	lea    -0x18(%ebp),%edx
4074d9:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
4074dd:	e8 4e 47 00 00       	call   0x40bc30
4074e2:	33 d2                	xor    %edx,%edx
4074e4:	8d 5e 4c             	lea    0x4c(%esi),%ebx
4074e7:	8b f8                	mov    %eax,%edi
4074e9:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4074ec:	39 56 48             	cmp    %edx,0x48(%esi)
4074ef:	0f 85 fc 33 01 00    	jne    0x41a8f1
4074f5:	0f b7 07             	movzwl (%edi),%eax
4074f8:	66 85 c0             	test   %ax,%ax
4074fb:	0f 84 dc 00 00 00    	je     0x4075dd
407501:	6a 2f                	push   $0x2f
407503:	59                   	pop    %ecx
407504:	88 55 e7             	mov    %dl,-0x19(%ebp)
407507:	66 3b c1             	cmp    %cx,%ax
40750a:	0f 85 a8 00 00 00    	jne    0x4075b8
407510:	8d 4f 04             	lea    0x4(%edi),%ecx
407513:	8b c2                	mov    %edx,%eax
407515:	66 83 39 2d          	cmpw   $0x2d,(%ecx)
407519:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40751c:	89 45 e0             	mov    %eax,-0x20(%ebp)
40751f:	0f 84 ee 33 01 00    	je     0x41a913
407525:	0f b7 c0             	movzwl %ax,%eax
407528:	83 c0 02             	add    $0x2,%eax
40752b:	8d 1c 47             	lea    (%edi,%eax,2),%ebx
40752e:	0f b7 03             	movzwl (%ebx),%eax
407531:	50                   	push   %eax
407532:	ff 15 18 a4 44 00    	call   *0x44a418
407538:	0f b7 c0             	movzwl %ax,%eax
40753b:	59                   	pop    %ecx
40753c:	83 e8 3f             	sub    $0x3f,%eax
40753f:	0f 84 df 34 01 00    	je     0x41aa24
407545:	48                   	dec    %eax
407546:	83 e8 01             	sub    $0x1,%eax