46aeba:	57                   	push   %edi
46aebb:	6a 01                	push   $0x1
46aebd:	8b d9                	mov    %ecx,%ebx
46aebf:	ff 15 a4 f1 48 00    	call   *0x48f1a4
46aec5:	8b f0                	mov    %eax,%esi
46aec7:	8b 45 08             	mov    0x8(%ebp),%eax
46aeca:	8b 40 04             	mov    0x4(%eax),%eax
46aecd:	8b 38                	mov    (%eax),%edi
46aecf:	8b cf                	mov    %edi,%ecx
46aed1:	e8 c1 ea f9 ff       	call   0x409997
46aed6:	8b 4f 08             	mov    0x8(%edi),%ecx
46aed9:	8b 01                	mov    (%ecx),%eax
46aedb:	89 45 ec             	mov    %eax,-0x14(%ebp)
46aede:	8b 41 04             	mov    0x4(%ecx),%eax
46aee1:	89 45 f0             	mov    %eax,-0x10(%ebp)
46aee4:	8b 41 08             	mov    0x8(%ecx),%eax
46aee7:	89 45 f4             	mov    %eax,-0xc(%ebp)
46aeea:	8b 41 0c             	mov    0xc(%ecx),%eax
46aeed:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46aef0:	89 45 f8             	mov    %eax,-0x8(%ebp)
46aef3:	ff 00                	incl   (%eax)
46aef5:	e8 6e 92 ff ff       	call   0x464168
46aefa:	33 ff                	xor    %edi,%edi
46aefc:	8d 45 fc             	lea    -0x4(%ebp),%eax
46aeff:	57                   	push   %edi
46af00:	57                   	push   %edi
46af01:	57                   	push   %edi
46af02:	57                   	push   %edi
46af03:	50                   	push   %eax
46af04:	68 ff 7f 00 00       	push   $0x7fff
46af09:	8d 85 ec ff fe ff    	lea    -0x10014(%ebp),%eax
46af0f:	50                   	push   %eax
46af10:	ff 75 ec             	push   -0x14(%ebp)
46af13:	ff 15 c4 f2 48 00    	call   *0x48f2c4
46af19:	85 c0                	test   %eax,%eax
46af1b:	74 28                	je     0x46af45
46af1d:	ff 75 fc             	push   -0x4(%ebp)
46af20:	8d 85 ec ff fe ff    	lea    -0x10014(%ebp),%eax
46af26:	68 58 a8 4b 00       	push   $0x4ba858
46af2b:	50                   	push   %eax
46af2c:	e8 a7 89 fb ff       	call   0x4238d8
46af31:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46af34:	8d 85 ec ff fe ff    	lea    -0x10014(%ebp),%eax
46af3a:	83 c4 0c             	add    $0xc,%esp
46af3d:	50                   	push   %eax
46af3e:	e8 b5 ec f9 ff       	call   0x409bf8
46af43:	eb 1c                	jmp    0x46af61
46af45:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46af48:	68 10 f9 48 00       	push   $0x48f910
46af4d:	e8 a6 ec f9 ff       	call   0x409bf8
46af52:	8b 03                	mov    (%ebx),%eax
46af54:	57                   	push   %edi
46af55:	6a 01                	push   $0x1
46af57:	8b 48 04             	mov    0x4(%eax),%ecx
46af5a:	03 cb                	add    %ebx,%ecx
46af5c:	e8 42 bb fe ff       	call   0x456aa3
46af61:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46af64:	e8 fb aa f9 ff       	call   0x405a64
46af69:	56                   	push   %esi
46af6a:	ff 15 a4 f1 48 00    	call   *0x48f1a4
46af70:	5f                   	pop    %edi
46af71:	5e                   	pop    %esi
46af72:	33 c0                	xor    %eax,%eax
46af74:	5b                   	pop    %ebx
46af75:	8b e5                	mov    %ebp,%esp
46af77:	5d                   	pop    %ebp
46af78:	c2 08 00             	ret    $0x8
46af7b:	55                   	push   %ebp
46af7c:	8b ec                	mov    %esp,%ebp
46af7e:	83 ec 24             	sub    $0x24,%esp
46af81:	53                   	push   %ebx
46af82:	56                   	push   %esi
46af83:	57                   	push   %edi
46af84:	6a 01                	push   $0x1
46af86:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46af89:	ff 15 a4 f1 48 00    	call   *0x48f1a4
46af8f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46af92:	8b f0                	mov    %eax,%esi
46af94:	68 10 f9 48 00       	push   $0x48f910
46af99:	8b cb                	mov    %ebx,%ecx
46af9b:	e8 58 ec f9 ff       	call   0x409bf8
46afa0:	8b 7d 08             	mov    0x8(%ebp),%edi
46afa3:	33 c0                	xor    %eax,%eax
46afa5:	40                   	inc    %eax
46afa6:	89 45 0c             	mov    %eax,0xc(%ebp)
46afa9:	39 47 08             	cmp    %eax,0x8(%edi)
46afac:	76 1e                	jbe    0x46afcc
46afae:	8b 47 04             	mov    0x4(%edi),%eax
46afb1:	8b 48 04             	mov    0x4(%eax),%ecx
46afb4:	e8 e3 ec f9 ff       	call   0x409c9c
46afb9:	89 45 0c             	mov    %eax,0xc(%ebp)
46afbc:	83 f8 01             	cmp    $0x1,%eax
46afbf:	7c 05                	jl     0x46afc6
46afc1:	83 f8 03             	cmp    $0x3,%eax
46afc4:	7e 06                	jle    0x46afcc
46afc6:	33 c0                	xor    %eax,%eax
46afc8:	40                   	inc    %eax
46afc9:	89 45 0c             	mov    %eax,0xc(%ebp)
46afcc:	8b 47 04             	mov    0x4(%edi),%eax
46afcf:	8b 38                	mov    (%eax),%edi
46afd1:	8b cf                	mov    %edi,%ecx
46afd3:	e8 bf e9 f9 ff       	call   0x409997
46afd8:	8b 4f 08             	mov    0x8(%edi),%ecx
46afdb:	68 84 a2 4b 00       	push   $0x4ba284
46afe0:	8b 01                	mov    (%ecx),%eax
46afe2:	89 45 dc             	mov    %eax,-0x24(%ebp)
46afe5:	8b 41 04             	mov    0x4(%ecx),%eax
46afe8:	89 45 e0             	mov    %eax,-0x20(%ebp)
46afeb:	8b 41 08             	mov    0x8(%ecx),%eax
46afee:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46aff1:	8b 41 0c             	mov    0xc(%ecx),%eax
46aff4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46aff7:	89 45 e8             	mov    %eax,-0x18(%ebp)
46affa:	ff 00                	incl   (%eax)
46affc:	e8 40 cf f9 ff       	call   0x407f41
46b001:	8b 7d 08             	mov    0x8(%ebp),%edi
46b004:	8b 4f 04             	mov    0x4(%edi),%ecx
46b007:	8b 09                	mov    (%ecx),%ecx
46b009:	e8 34 ec f9 ff       	call   0x409c42
46b00e:	84 c0                	test   %al,%al
46b010:	74 26                	je     0x46b038
46b012:	68 cc a6 4b 00       	push   $0x4ba6cc
46b017:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46b01a:	e8 ec cd f9 ff       	call   0x407e0b
46b01f:	8b 47 04             	mov    0x4(%edi),%eax
46b022:	8b 38                	mov    (%eax),%edi
46b024:	8b cf                	mov    %edi,%ecx
46b026:	e8 6c e9 f9 ff       	call   0x409997
46b02b:	ff 77 08             	push   0x8(%edi)
46b02e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46b031:	e8 58 cc f9 ff       	call   0x407c8e
46b036:	eb 21                	jmp    0x46b059
46b038:	8d 4d dc             	lea    -0x24(%ebp),%ecx
46b03b:	e8 28 91 ff ff       	call   0x464168
46b040:	8d 45 dc             	lea    -0x24(%ebp),%eax
46b043:	50                   	push   %eax
46b044:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46b047:	e8 42 cc f9 ff       	call   0x407c8e
46b04c:	68 c0 fa 48 00       	push   $0x48fac0
46b051:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46b054:	e8 2d c8 f9 ff       	call   0x407886
46b059:	8b 45 0c             	mov    0xc(%ebp),%eax
46b05c:	33 ff                	xor    %edi,%edi
46b05e:	47                   	inc    %edi
46b05f:	3b c7                	cmp    %edi,%eax
46b061:	75 5f                	jne    0x46b0c2
46b063:	ff 75 dc             	push   -0x24(%ebp)
46b066:	ff 15 b8 f2 48 00    	call   *0x48f2b8
46b06c:	3b c7                	cmp    %edi,%eax
46b06e:	0f 84 2d 01 00 00    	je     0x46b1a1
46b074:	48                   	dec    %eax
46b075:	48                   	dec    %eax
46b076:	74 40                	je     0x46b0b8
46b078:	48                   	dec    %eax
46b079:	74 33                	je     0x46b0ae
46b07b:	48                   	dec    %eax
46b07c:	74 26                	je     0x46b0a4
46b07e:	48                   	dec    %eax
46b07f:	74 19                	je     0x46b09a
46b081:	8b cb                	mov    %ebx,%ecx
46b083:	48                   	dec    %eax
46b084:	74 0a                	je     0x46b090
46b086:	68 34 a7 4b 00       	push   $0x4ba734
46b08b:	e9 0a 01 00 00       	jmp    0x46b19a
46b090:	68 24 a7 4b 00       	push   $0x4ba724
46b095:	e9 00 01 00 00       	jmp    0x46b19a
46b09a:	68 18 a7 4b 00       	push   $0x4ba718
46b09f:	e9 f4 00 00 00       	jmp    0x46b198
46b0a4:	68 08 a7 4b 00       	push   $0x4ba708
46b0a9:	e9 ea 00 00 00       	jmp    0x46b198
46b0ae:	68 fc a6 4b 00       	push   $0x4ba6fc
46b0b3:	e9 e0 00 00 00       	jmp    0x46b198
46b0b8:	68 e8 a6 4b 00       	push   $0x4ba6e8
46b0bd:	e9 d6 00 00 00       	jmp    0x46b198
46b0c2:	83 f8 02             	cmp    $0x2,%eax
46b0c5:	75 34                	jne    0x46b0fb
46b0c7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46b0ca:	e8 52 8f ff ff       	call   0x464021
46b0cf:	3d 05 40 00 80       	cmp    $0x80004005,%eax
46b0d4:	75 13                	jne    0x46b0e9
46b0d6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46b0d9:	e8 d3 8f ff ff       	call   0x4640b1
46b0de:	3d 05 40 00 80       	cmp    $0x80004005,%eax
46b0e3:	0f 84 b8 00 00 00    	je     0x46b1a1
46b0e9:	85 c0                	test   %eax,%eax
46b0eb:	0f 85 c2 00 00 00    	jne    0x46b1b3
46b0f1:	68 44 a7 4b 00       	push   $0x4ba744
46b0f6:	e9 9d 00 00 00       	jmp    0x46b198
46b0fb:	83 f8 03             	cmp    $0x3,%eax
46b0fe:	0f 85 af 00 00 00    	jne    0x46b1b3
46b104:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46b107:	8d 55 08             	lea    0x8(%ebp),%edx
46b10a:	e8 91 8e ff ff       	call   0x463fa0
46b10f:	84 c0                	test   %al,%al
46b111:	0f 84 8a 00 00 00    	je     0x46b1a1
46b117:	8b 45 08             	mov    0x8(%ebp),%eax
46b11a:	83 f8 0f             	cmp    $0xf,%eax
46b11d:	0f 87 90 00 00 00    	ja     0x46b1b3
46b123:	ff 24 85 d7 b1 46 00 	jmp    *0x46b1d7(,%eax,4)
46b12a:	68 34 a7 4b 00       	push   $0x4ba734
46b12f:	eb 67                	jmp    0x46b198
46b131:	68 4c a7 4b 00       	push   $0x4ba74c
46b136:	eb 60                	jmp    0x46b198
46b138:	68 58 a7 4b 00       	push   $0x4ba758
46b13d:	eb 59                	jmp    0x46b198
46b13f:	68 64 a7 4b 00       	push   $0x4ba764
46b144:	eb 52                	jmp    0x46b198
46b146:	68 6c a7 4b 00       	push   $0x4ba76c
46b14b:	eb 4b                	jmp    0x46b198
46b14d:	68 78 a7 4b 00       	push   $0x4ba778
46b152:	eb 44                	jmp    0x46b198
46b154:	68 80 a7 4b 00       	push   $0x4ba780
46b159:	eb 3d                	jmp    0x46b198
46b15b:	68 8c a7 4b 00       	push   $0x4ba78c
46b160:	eb 36                	jmp    0x46b198
46b162:	68 94 a7 4b 00       	push   $0x4ba794
46b167:	eb 2f                	jmp    0x46b198
46b169:	68 a0 a7 4b 00       	push   $0x4ba7a0
46b16e:	eb 28                	jmp    0x46b198
46b170:	68 ac a7 4b 00       	push   $0x4ba7ac
46b175:	eb 21                	jmp    0x46b198
46b177:	68 b4 a7 4b 00       	push   $0x4ba7b4
46b17c:	eb 1a                	jmp    0x46b198
46b17e:	68 c0 a7 4b 00       	push   $0x4ba7c0
46b183:	eb 13                	jmp    0x46b198
46b185:	68 c8 a7 4b 00       	push   $0x4ba7c8
46b18a:	eb 0c                	jmp    0x46b198
46b18c:	68 d0 a7 4b 00       	push   $0x4ba7d0
46b191:	eb 05                	jmp    0x46b198
46b193:	68 e0 a7 4b 00       	push   $0x4ba7e0
46b198:	8b cb                	mov    %ebx,%ecx
46b19a:	e8 59 ea f9 ff       	call   0x409bf8
46b19f:	eb 12                	jmp    0x46b1b3
46b1a1:	8b 55 fc             	mov    -0x4(%ebp),%edx
46b1a4:	6a 00                	push   $0x0
46b1a6:	57                   	push   %edi
46b1a7:	8b 02                	mov    (%edx),%eax
46b1a9:	8b 48 04             	mov    0x4(%eax),%ecx
46b1ac:	03 ca                	add    %edx,%ecx
46b1ae:	e8 f0 b8 fe ff       	call   0x456aa3
46b1b3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46b1b6:	e8 a9 a8 f9 ff       	call   0x405a64
46b1bb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
46b1be:	e8 a1 a8 f9 ff       	call   0x405a64
46b1c3:	56                   	push   %esi
46b1c4:	ff 15 a4 f1 48 00    	call   *0x48f1a4
46b1ca:	5f                   	pop    %edi
46b1cb:	5e                   	pop    %esi
46b1cc:	33 c0                	xor    %eax,%eax
46b1ce:	5b                   	pop    %ebx
46b1cf:	8b e5                	mov    %ebp,%esp
46b1d1:	5d                   	pop    %ebp
46b1d2:	c2 08 00             	ret    $0x8
46b1d5:	8b ff                	mov    %edi,%edi
46b1d7:	2a b1 46 00 31 b1    	sub    -0x4eceffba(%ecx),%dh
46b1dd:	46                   	inc    %esi
46b1de:	00 38                	add    %bh,(%eax)
46b1e0:	b1 46                	mov    $0x46,%cl
46b1e2:	00 3f                	add    %bh,(%edi)
46b1e4:	b1 46                	mov    $0x46,%cl
46b1e6:	00 46 b1             	add    %al,-0x4f(%esi)
46b1e9:	46                   	inc    %esi
46b1ea:	00 4d b1             	add    %cl,-0x4f(%ebp)
46b1ed:	46                   	inc    %esi
46b1ee:	00 54 b1 46          	add    %dl,0x46(%ecx,%esi,4)
46b1f2:	00 5b b1             	add    %bl,-0x4f(%ebx)
46b1f5:	46                   	inc    %esi
46b1f6:	00 62 b1             	add    %ah,-0x4f(%edx)
46b1f9:	46                   	inc    %esi
46b1fa:	00 69 b1             	add    %ch,-0x4f(%ecx)
46b1fd:	46                   	inc    %esi
46b1fe:	00 70 b1             	add    %dh,-0x4f(%eax)
46b201:	46                   	inc    %esi
46b202:	00 77 b1             	add    %dh,-0x4f(%edi)
46b205:	46                   	inc    %esi
46b206:	00 7e b1             	add    %bh,-0x4f(%esi)
46b209:	46                   	inc    %esi
46b20a:	00 85 b1 46 00 8c    	add    %al,-0x73ffb94f(%ebp)
46b210:	b1 46                	mov    $0x46,%cl
46b212:	00 93 b1 46 00 55    	add    %dl,0x550046b1(%ebx)
46b218:	8b ec                	mov    %esp,%ebp
46b21a:	81 ec 38 02 00 00    	sub    $0x238,%esp
46b220:	8b 45 08             	mov    0x8(%ebp),%eax
46b223:	53                   	push   %ebx
46b224:	8b d9                	mov    %ecx,%ebx
46b226:	c7 45 f8 00 01 00 00 	movl   $0x100,-0x8(%ebp)
46b22d:	56                   	push   %esi
46b22e:	8b 48 08             	mov    0x8(%eax),%ecx
46b231:	8b 40 04             	mov    0x4(%eax),%eax
46b234:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46b237:	33 c9                	xor    %ecx,%ecx
46b239:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46b23c:	57                   	push   %edi
46b23d:	8b 30                	mov    (%eax),%esi
46b23f:	8b ce                	mov    %esi,%ecx
46b241:	e8 51 e7 f9 ff       	call   0x409997
46b246:	8b 46 08             	mov    0x8(%esi),%eax
46b249:	8b 08                	mov    (%eax),%ecx
46b24b:	e8 76 4c fb ff       	call   0x41fec6
46b250:	8b f8                	mov    %eax,%edi
46b252:	8b 45 08             	mov    0x8(%ebp),%eax
46b255:	89 7d e8             	mov    %edi,-0x18(%ebp)
46b258:	8b 40 04             	mov    0x4(%eax),%eax
46b25b:	8b 70 04             	mov    0x4(%eax),%esi
46b25e:	8b ce                	mov    %esi,%ecx
46b260:	e8 32 e7 f9 ff       	call   0x409997
46b265:	8b 46 08             	mov    0x8(%esi),%eax
46b268:	8b 08                	mov    (%eax),%ecx
46b26a:	e8 57 4c fb ff       	call   0x41fec6
46b26f:	83 7d f0 02          	cmpl   $0x2,-0x10(%ebp)
46b273:	89 45 ec             	mov    %eax,-0x14(%ebp)
46b276:	76 15                	jbe    0x46b28d
46b278:	8b 45 08             	mov    0x8(%ebp),%eax
46b27b:	8b 40 04             	mov    0x4(%eax),%eax
46b27e:	8b 48 08             	mov    0x8(%eax),%ecx
46b281:	e8 16 ea f9 ff       	call   0x409c9c
46b286:	8b f0                	mov    %eax,%esi
46b288:	89 75 fc             	mov    %esi,-0x4(%ebp)
46b28b:	eb 03                	jmp    0x46b290
46b28d:	8b 75 fc             	mov    -0x4(%ebp),%esi
46b290:	6a 03                	push   $0x3
46b292:	68 a8 a5 4b 00       	push   $0x4ba5a8
46b297:	57                   	push   %edi
46b298:	e8 6e 87 fb ff       	call   0x423a0b
46b29d:	83 c4 0c             	add    $0xc,%esp
46b2a0:	f7 d8                	neg    %eax
46b2a2:	1b c0                	sbb    %eax,%eax
46b2a4:	33 c9                	xor    %ecx,%ecx
46b2a6:	83 c0 02             	add    $0x2,%eax
46b2a9:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46b2ac:	89 45 cc             	mov    %eax,-0x34(%ebp)
46b2af:	8b 45 ec             	mov    -0x14(%ebp),%eax
46b2b2:	89 45 dc             	mov    %eax,-0x24(%ebp)
46b2b5:	0f b7 07             	movzwl (%edi),%eax
46b2b8:	6a 2a                	push   $0x2a
46b2ba:	5a                   	pop    %edx
46b2bb:	66 85 c0             	test   %ax,%ax
46b2be:	74 08                	je     0x46b2c8
46b2c0:	89 7d d8             	mov    %edi,-0x28(%ebp)
46b2c3:	66 3b c2             	cmp    %dx,%ax
46b2c6:	75 03                	jne    0x46b2cb
46b2c8:	89 4d d8             	mov    %ecx,-0x28(%ebp)
46b2cb:	66 39 17             	cmp    %dx,(%edi)
46b2ce:	75 09                	jne    0x46b2d9
46b2d0:	81 ce 80 00 00 00    	or     $0x80,%esi
46b2d6:	89 75 fc             	mov    %esi,-0x4(%ebp)
46b2d9:	8b 45 f0             	mov    -0x10(%ebp),%eax
46b2dc:	83 f8 04             	cmp    $0x4,%eax
46b2df:	73 19                	jae    0x46b2fa
46b2e1:	8d 45 f4             	lea    -0xc(%ebp),%eax