46c0fd:	83 7d e8 ff          	cmpl   $0xffffffff,-0x18(%ebp)
46c101:	75 56                	jne    0x46c159
46c103:	80 7d 0b 18          	cmpb   $0x18,0xb(%ebp)
46c107:	75 50                	jne    0x46c159
46c109:	68 10 20 00 00       	push   $0x2010
46c10e:	33 ff                	xor    %edi,%edi
46c110:	57                   	push   %edi
46c111:	57                   	push   %edi
46c112:	6a 01                	push   $0x1
46c114:	ff 75 0c             	push   0xc(%ebp)
46c117:	57                   	push   %edi
46c118:	ff 15 78 d5 48 00    	call   *0x48d578
46c11e:	89 45 0c             	mov    %eax,0xc(%ebp)
46c121:	85 c0                	test   %eax,%eax
46c123:	0f 84 9d 02 00 00    	je     0x46c3c6
46c129:	50                   	push   %eax
46c12a:	6a 01                	push   $0x1
46c12c:	68 f7 00 00 00       	push   $0xf7
46c131:	56                   	push   %esi
46c132:	ff 15 70 d6 48 00    	call   *0x48d670
46c138:	39 7b 64             	cmp    %edi,0x64(%ebx)
46c13b:	74 09                	je     0x46c146
46c13d:	ff 73 64             	push   0x64(%ebx)
46c140:	ff 15 c8 d0 48 00    	call   *0x48d0c8
46c146:	39 7b 68             	cmp    %edi,0x68(%ebx)
46c149:	74 09                	je     0x46c154
46c14b:	ff 73 68             	push   0x68(%ebx)
46c14e:	ff 15 24 d7 48 00    	call   *0x48d724
46c154:	89 7b 64             	mov    %edi,0x64(%ebx)
46c157:	eb 6b                	jmp    0x46c1c4
46c159:	6a 01                	push   $0x1
46c15b:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c15e:	50                   	push   %eax
46c15f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46c162:	50                   	push   %eax
46c163:	ff 75 f0             	push   -0x10(%ebp)
46c166:	ff 75 0c             	push   0xc(%ebp)
46c169:	ff 15 a0 d4 48 00    	call   *0x48d4a0
46c16f:	85 c0                	test   %eax,%eax
46c171:	0f 8e 54 02 00 00    	jle    0x46c3cb
46c177:	39 7d 10             	cmp    %edi,0x10(%ebp)
46c17a:	8b 3d 24 d7 48 00    	mov    0x48d724,%edi
46c180:	74 08                	je     0x46c18a
46c182:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46c185:	ff 75 f8             	push   -0x8(%ebp)
46c188:	eb 06                	jmp    0x46c190
46c18a:	8b 45 f8             	mov    -0x8(%ebp),%eax
46c18d:	ff 75 e4             	push   -0x1c(%ebp)
46c190:	89 45 0c             	mov    %eax,0xc(%ebp)
46c193:	ff d7                	call   *%edi
46c195:	ff 75 0c             	push   0xc(%ebp)
46c198:	6a 01                	push   $0x1
46c19a:	68 f7 00 00 00       	push   $0xf7
46c19f:	56                   	push   %esi
46c1a0:	ff 15 70 d6 48 00    	call   *0x48d670
46c1a6:	83 7b 64 00          	cmpl   $0x0,0x64(%ebx)
46c1aa:	74 09                	je     0x46c1b5
46c1ac:	ff 73 64             	push   0x64(%ebx)
46c1af:	ff 15 c8 d0 48 00    	call   *0x48d0c8
46c1b5:	83 7b 68 00          	cmpl   $0x0,0x68(%ebx)
46c1b9:	74 05                	je     0x46c1c0
46c1bb:	ff 73 68             	push   0x68(%ebx)
46c1be:	ff d7                	call   *%edi
46c1c0:	83 63 64 00          	andl   $0x0,0x64(%ebx)
46c1c4:	8b 45 0c             	mov    0xc(%ebp),%eax
46c1c7:	89 43 68             	mov    %eax,0x68(%ebx)
46c1ca:	e9 f7 01 00 00       	jmp    0x46c3c6
46c1cf:	50                   	push   %eax
46c1d0:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c1d3:	50                   	push   %eax
46c1d4:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46c1d7:	50                   	push   %eax
46c1d8:	ff 75 f0             	push   -0x10(%ebp)
46c1db:	ff 75 0c             	push   0xc(%ebp)
46c1de:	ff 15 a0 d4 48 00    	call   *0x48d4a0
46c1e4:	85 c0                	test   %eax,%eax
46c1e6:	7f 23                	jg     0x46c20b
46c1e8:	6a 01                	push   $0x1
46c1ea:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c1ed:	50                   	push   %eax
46c1ee:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46c1f1:	50                   	push   %eax
46c1f2:	6a ff                	push   $0xffffffff
46c1f4:	ff 75 0c             	push   0xc(%ebp)
46c1f7:	ff 15 a0 d4 48 00    	call   *0x48d4a0
46c1fd:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
46c200:	75 09                	jne    0x46c20b
46c202:	39 7d f8             	cmp    %edi,-0x8(%ebp)
46c205:	0f 84 c0 01 00 00    	je     0x46c3cb
46c20b:	80 7d 0b 13          	cmpb   $0x13,0xb(%ebp)
46c20f:	75 19                	jne    0x46c22a
46c211:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c214:	57                   	push   %edi
46c215:	57                   	push   %edi
46c216:	68 04 10 00 00       	push   $0x1004
46c21b:	56                   	push   %esi
46c21c:	89 45 0c             	mov    %eax,0xc(%ebp)
46c21f:	89 7d ec             	mov    %edi,-0x14(%ebp)
46c222:	ff 15 70 d6 48 00    	call   *0x48d670
46c228:	eb 3f                	jmp    0x46c269
46c22a:	8b 73 34             	mov    0x34(%ebx),%esi
46c22d:	56                   	push   %esi
46c22e:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c233:	89 75 f4             	mov    %esi,-0xc(%ebp)
46c236:	e8 eb f2 fa ff       	call   0x41b526
46c23b:	89 45 0c             	mov    %eax,0xc(%ebp)
46c23e:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c241:	89 45 c0             	mov    %eax,-0x40(%ebp)
46c244:	8d 45 b8             	lea    -0x48(%ebp),%eax
46c247:	50                   	push   %eax
46c248:	6a ff                	push   $0xffffffff
46c24a:	68 53 10 00 00       	push   $0x1053
46c24f:	56                   	push   %esi
46c250:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
46c257:	ff 15 70 d6 48 00    	call   *0x48d670
46c25d:	89 45 ec             	mov    %eax,-0x14(%ebp)
46c260:	83 f8 ff             	cmp    $0xffffffff,%eax
46c263:	0f 84 62 01 00 00    	je     0x46c3cb
46c269:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46c26f:	89 45 f0             	mov    %eax,-0x10(%ebp)
46c272:	8b 45 0c             	mov    0xc(%ebp),%eax
46c275:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
46c278:	8b 01                	mov    (%ecx),%eax
46c27a:	8b 48 38             	mov    0x38(%eax),%ecx
46c27d:	8b 40 3c             	mov    0x3c(%eax),%eax
46c280:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46c283:	89 45 10             	mov    %eax,0x10(%ebp)
46c286:	85 c9                	test   %ecx,%ecx
46c288:	75 35                	jne    0x46c2bf
46c28a:	6a 01                	push   $0x1
46c28c:	57                   	push   %edi
46c28d:	6a 21                	push   $0x21
46c28f:	6a 10                	push   $0x10
46c291:	6a 10                	push   $0x10
46c293:	ff 15 a8 d0 48 00    	call   *0x48d0a8
46c299:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46c29f:	8b 55 0c             	mov    0xc(%ebp),%edx
46c2a2:	50                   	push   %eax
46c2a3:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
46c2a6:	6a 01                	push   $0x1
46c2a8:	8b 09                	mov    (%ecx),%ecx
46c2aa:	68 03 10 00 00       	push   $0x1003
46c2af:	56                   	push   %esi
46c2b0:	89 45 e8             	mov    %eax,-0x18(%ebp)
46c2b3:	89 41 38             	mov    %eax,0x38(%ecx)
46c2b6:	ff 15 70 d6 48 00    	call   *0x48d670
46c2bc:	8b 45 10             	mov    0x10(%ebp),%eax
46c2bf:	85 c0                	test   %eax,%eax
46c2c1:	75 34                	jne    0x46c2f7
46c2c3:	6a 01                	push   $0x1
46c2c5:	57                   	push   %edi
46c2c6:	6a 21                	push   $0x21
46c2c8:	6a 20                	push   $0x20
46c2ca:	6a 20                	push   $0x20
46c2cc:	ff 15 a8 d0 48 00    	call   *0x48d0a8
46c2d2:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46c2d8:	8b 55 0c             	mov    0xc(%ebp),%edx
46c2db:	50                   	push   %eax
46c2dc:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
46c2df:	57                   	push   %edi
46c2e0:	8b 09                	mov    (%ecx),%ecx
46c2e2:	68 03 10 00 00       	push   $0x1003
46c2e7:	56                   	push   %esi
46c2e8:	89 45 10             	mov    %eax,0x10(%ebp)
46c2eb:	89 41 3c             	mov    %eax,0x3c(%ecx)
46c2ee:	ff 15 70 d6 48 00    	call   *0x48d670
46c2f4:	8b 45 10             	mov    0x10(%ebp),%eax
46c2f7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46c2fa:	85 c9                	test   %ecx,%ecx
46c2fc:	0f 84 b4 00 00 00    	je     0x46c3b6
46c302:	85 c0                	test   %eax,%eax
46c304:	0f 84 ac 00 00 00    	je     0x46c3b6
46c30a:	ff 75 f8             	push   -0x8(%ebp)
46c30d:	8b 35 b0 d0 48 00    	mov    0x48d0b0,%esi
46c313:	6a ff                	push   $0xffffffff
46c315:	51                   	push   %ecx
46c316:	ff d6                	call   *%esi
46c318:	ff 75 e4             	push   -0x1c(%ebp)
46c31b:	89 45 0c             	mov    %eax,0xc(%ebp)
46c31e:	6a ff                	push   $0xffffffff
46c320:	ff 75 10             	push   0x10(%ebp)
46c323:	ff d6                	call   *%esi
46c325:	80 7d 0b 13          	cmpb   $0x13,0xb(%ebp)
46c329:	75 09                	jne    0x46c334
46c32b:	8b 45 0c             	mov    0xc(%ebp),%eax
46c32e:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
46c334:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c337:	8b 55 f0             	mov    -0x10(%ebp),%edx
46c33a:	8b 75 f4             	mov    -0xc(%ebp),%esi
46c33d:	8b 1d 70 d6 48 00    	mov    0x48d670,%ebx
46c343:	8b c8                	mov    %eax,%ecx
46c345:	89 4d 10             	mov    %ecx,0x10(%ebp)
46c348:	3b c2                	cmp    %edx,%eax
46c34a:	7f 60                	jg     0x46c3ac
46c34c:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
46c352:	50                   	push   %eax
46c353:	57                   	push   %edi
46c354:	68 4b 10 00 00       	push   $0x104b
46c359:	56                   	push   %esi
46c35a:	c7 85 58 ff ff ff 02 	movl   $0x2,-0xa8(%ebp)
46c361:	00 00 00
46c364:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
46c36a:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
46c370:	ff d3                	call   *%ebx
46c372:	83 bd 74 ff ff ff fe 	cmpl   $0xfffffffe,-0x8c(%ebp)
46c379:	74 06                	je     0x46c381
46c37b:	80 7d 0b 14          	cmpb   $0x14,0xb(%ebp)
46c37f:	75 19                	jne    0x46c39a
46c381:	8b 45 0c             	mov    0xc(%ebp),%eax
46c384:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
46c38a:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
46c390:	50                   	push   %eax
46c391:	57                   	push   %edi
46c392:	68 4c 10 00 00       	push   $0x104c
46c397:	56                   	push   %esi
46c398:	ff d3                	call   *%ebx
46c39a:	8b 4d 10             	mov    0x10(%ebp),%ecx
46c39d:	41                   	inc    %ecx
46c39e:	89 4d 10             	mov    %ecx,0x10(%ebp)
46c3a1:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
46c3a4:	7e a6                	jle    0x46c34c
46c3a6:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c3a9:	8b 55 f0             	mov    -0x10(%ebp),%edx
46c3ac:	52                   	push   %edx
46c3ad:	50                   	push   %eax
46c3ae:	68 15 10 00 00       	push   $0x1015
46c3b3:	56                   	push   %esi
46c3b4:	ff d3                	call   *%ebx
46c3b6:	ff 75 f8             	push   -0x8(%ebp)
46c3b9:	8b 35 24 d7 48 00    	mov    0x48d724,%esi
46c3bf:	ff d6                	call   *%esi
46c3c1:	ff 75 e4             	push   -0x1c(%ebp)
46c3c4:	ff d6                	call   *%esi
46c3c6:	33 f6                	xor    %esi,%esi
46c3c8:	46                   	inc    %esi
46c3c9:	eb 02                	jmp    0x46c3cd
46c3cb:	8b f7                	mov    %edi,%esi
46c3cd:	8d 4d 14             	lea    0x14(%ebp),%ecx
46c3d0:	e8 4b 68 fa ff       	call   0x412c20
46c3d5:	5f                   	pop    %edi
46c3d6:	8b c6                	mov    %esi,%eax
46c3d8:	5e                   	pop    %esi
46c3d9:	5b                   	pop    %ebx
46c3da:	c9                   	leave
46c3db:	c2 1c 00             	ret    $0x1c
46c3de:	55                   	push   %ebp
46c3df:	8b ec                	mov    %esp,%ebp
46c3e1:	51                   	push   %ecx
46c3e2:	51                   	push   %ecx
46c3e3:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c3e6:	50                   	push   %eax
46c3e7:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c3ea:	50                   	push   %eax
46c3eb:	ff 75 08             	push   0x8(%ebp)
46c3ee:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c3f3:	e8 06 10 fa ff       	call   0x40d3fe
46c3f8:	84 c0                	test   %al,%al
46c3fa:	75 07                	jne    0x46c403
46c3fc:	33 c0                	xor    %eax,%eax
46c3fe:	e9 8f 00 00 00       	jmp    0x46c492
46c403:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c406:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46c40b:	56                   	push   %esi
46c40c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c40f:	8b 00                	mov    (%eax),%eax
46c411:	8b 30                	mov    (%eax),%esi
46c413:	0f b6 80 90 00 00 00 	movzbl 0x90(%eax),%eax
46c41a:	48                   	dec    %eax
46c41b:	74 5a                	je     0x46c477
46c41d:	48                   	dec    %eax
46c41e:	74 45                	je     0x46c465
46c420:	48                   	dec    %eax
46c421:	74 32                	je     0x46c455
46c423:	83 e8 0f             	sub    $0xf,%eax
46c426:	74 16                	je     0x46c43e
46c428:	83 e8 04             	sub    $0x4,%eax
46c42b:	74 04                	je     0x46c431
46c42d:	33 c0                	xor    %eax,%eax
46c42f:	eb 60                	jmp    0x46c491
46c431:	ff 75 0c             	push   0xc(%ebp)
46c434:	ff 75 10             	push   0x10(%ebp)
46c437:	68 6f 04 00 00       	push   $0x46f
46c43c:	eb 49                	jmp    0x46c487
46c43e:	0f b7 4d 0c          	movzwl 0xc(%ebp),%ecx
46c442:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
46c446:	c1 e1 10             	shl    $0x10,%ecx
46c449:	0b c8                	or     %eax,%ecx
46c44b:	51                   	push   %ecx
46c44c:	6a 01                	push   $0x1
46c44e:	68 06 04 00 00       	push   $0x406
46c453:	eb 32                	jmp    0x46c487
46c455:	6a ff                	push   $0xffffffff
46c457:	6a 00                	push   $0x0
46c459:	68 b1 00 00 00       	push   $0xb1
46c45e:	56                   	push   %esi
46c45f:	ff 15 70 d6 48 00    	call   *0x48d670
46c465:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46c469:	7e 23                	jle    0x46c48e
46c46b:	6a 00                	push   $0x0
46c46d:	ff 75 0c             	push   0xc(%ebp)
46c470:	68 c5 00 00 00       	push   $0xc5
46c475:	eb 10                	jmp    0x46c487
46c477:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46c47b:	7e 11                	jle    0x46c48e
46c47d:	6a 00                	push   $0x0
46c47f:	ff 75 0c             	push   0xc(%ebp)
46c482:	68 94 01 00 00       	push   $0x194
46c487:	56                   	push   %esi
46c488:	ff 15 70 d6 48 00    	call   *0x48d670
46c48e:	33 c0                	xor    %eax,%eax
46c490:	40                   	inc    %eax
46c491:	5e                   	pop    %esi
46c492:	c9                   	leave
46c493:	c2 0c 00             	ret    $0xc
46c496:	55                   	push   %ebp
46c497:	8b ec                	mov    %esp,%ebp
46c499:	51                   	push   %ecx
46c49a:	51                   	push   %ecx
46c49b:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c49e:	50                   	push   %eax
46c49f:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c4a2:	50                   	push   %eax
46c4a3:	ff 75 08             	push   0x8(%ebp)
46c4a6:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c4ab:	e8 4e 0f fa ff       	call   0x40d3fe
46c4b0:	84 c0                	test   %al,%al
46c4b2:	75 04                	jne    0x46c4b8
46c4b4:	33 c0                	xor    %eax,%eax
46c4b6:	eb 1b                	jmp    0x46c4d3
46c4b8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c4bb:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46c4c0:	ff 75 0c             	push   0xc(%ebp)
46c4c3:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c4c6:	8b 08                	mov    (%eax),%ecx
46c4c8:	83 c1 14             	add    $0x14,%ecx
46c4cb:	e8 1d aa f9 ff       	call   0x406eed
46c4d0:	33 c0                	xor    %eax,%eax
46c4d2:	40                   	inc    %eax
46c4d3:	c9                   	leave
46c4d4:	c2 08 00             	ret    $0x8
46c4d7:	55                   	push   %ebp
46c4d8:	8b ec                	mov    %esp,%ebp
46c4da:	83 ec 1c             	sub    $0x1c,%esp
46c4dd:	8d 45 f4             	lea    -0xc(%ebp),%eax
46c4e0:	50                   	push   %eax
46c4e1:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c4e4:	50                   	push   %eax
46c4e5:	ff 75 08             	push   0x8(%ebp)
46c4e8:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c4ed:	e8 0c 0f fa ff       	call   0x40d3fe