47feb9:	59                   	pop    %ecx
47feba:	85 c0                	test   %eax,%eax
47febc:	74 0c                	je     0x47feca
47febe:	ff 75 08             	push   0x8(%ebp)
47fec1:	8b c8                	mov    %eax,%ecx
47fec3:	e8 3d ce ff ff       	call   0x47cd05
47fec8:	8b f8                	mov    %eax,%edi
47feca:	8b 46 04             	mov    0x4(%esi),%eax
47fecd:	89 47 08             	mov    %eax,0x8(%edi)
47fed0:	8b 46 04             	mov    0x4(%esi),%eax
47fed3:	89 78 04             	mov    %edi,0x4(%eax)
47fed6:	ff 46 08             	incl   0x8(%esi)
47fed9:	89 7e 04             	mov    %edi,0x4(%esi)
47fedc:	5f                   	pop    %edi
47fedd:	5e                   	pop    %esi
47fede:	5d                   	pop    %ebp
47fedf:	c2 04 00             	ret    $0x4
47fee2:	55                   	push   %ebp
47fee3:	8b ec                	mov    %esp,%ebp
47fee5:	56                   	push   %esi
47fee6:	8b f1                	mov    %ecx,%esi
47fee8:	57                   	push   %edi
47fee9:	8b 46 0c             	mov    0xc(%esi),%eax
47feec:	39 46 08             	cmp    %eax,0x8(%esi)
47feef:	75 4e                	jne    0x47ff3f
47fef1:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
47fef4:	6a 08                	push   $0x8
47fef6:	58                   	pop    %eax
47fef7:	3b c8                	cmp    %eax,%ecx
47fef9:	72 02                	jb     0x47fefd
47fefb:	8b c1                	mov    %ecx,%eax
47fefd:	33 c9                	xor    %ecx,%ecx
47feff:	89 46 0c             	mov    %eax,0xc(%esi)
47ff02:	6a 04                	push   $0x4
47ff04:	5a                   	pop    %edx
47ff05:	f7 e2                	mul    %edx
47ff07:	0f 90 c1             	seto   %cl
47ff0a:	f7 d9                	neg    %ecx
47ff0c:	0b c8                	or     %eax,%ecx
47ff0e:	51                   	push   %ecx
47ff0f:	e8 e2 10 fa ff       	call   0x420ff6
47ff14:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
47ff18:	8b f8                	mov    %eax,%edi
47ff1a:	59                   	pop    %ecx
47ff1b:	74 1f                	je     0x47ff3c
47ff1d:	8b 46 08             	mov    0x8(%esi),%eax
47ff20:	85 c0                	test   %eax,%eax
47ff22:	74 18                	je     0x47ff3c
47ff24:	c1 e0 02             	shl    $0x2,%eax
47ff27:	50                   	push   %eax
47ff28:	ff 76 04             	push   0x4(%esi)
47ff2b:	57                   	push   %edi
47ff2c:	e8 4f 11 fa ff       	call   0x421080
47ff31:	ff 76 04             	push   0x4(%esi)
47ff34:	e8 33 11 fa ff       	call   0x42106c
47ff39:	83 c4 10             	add    $0x10,%esp
47ff3c:	89 7e 04             	mov    %edi,0x4(%esi)
47ff3f:	6a 14                	push   $0x14
47ff41:	e8 b0 10 fa ff       	call   0x420ff6
47ff46:	8b f8                	mov    %eax,%edi
47ff48:	59                   	pop    %ecx
47ff49:	85 ff                	test   %edi,%edi
47ff4b:	74 23                	je     0x47ff70
47ff4d:	8b 55 08             	mov    0x8(%ebp),%edx
47ff50:	8b 0a                	mov    (%edx),%ecx
47ff52:	89 0f                	mov    %ecx,(%edi)
47ff54:	8b 42 04             	mov    0x4(%edx),%eax
47ff57:	89 47 04             	mov    %eax,0x4(%edi)
47ff5a:	8b 42 08             	mov    0x8(%edx),%eax
47ff5d:	89 47 08             	mov    %eax,0x8(%edi)
47ff60:	8b 42 0c             	mov    0xc(%edx),%eax
47ff63:	89 47 0c             	mov    %eax,0xc(%edi)
47ff66:	8b 42 10             	mov    0x10(%edx),%eax
47ff69:	89 47 10             	mov    %eax,0x10(%edi)
47ff6c:	ff 00                	incl   (%eax)
47ff6e:	eb 02                	jmp    0x47ff72
47ff70:	33 ff                	xor    %edi,%edi
47ff72:	8b 4e 08             	mov    0x8(%esi),%ecx
47ff75:	8b 46 04             	mov    0x4(%esi),%eax
47ff78:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
47ff7b:	ff 46 08             	incl   0x8(%esi)
47ff7e:	5f                   	pop    %edi
47ff7f:	5e                   	pop    %esi
47ff80:	5d                   	pop    %ebp
47ff81:	c2 04 00             	ret    $0x4
47ff84:	56                   	push   %esi
47ff85:	8b f1                	mov    %ecx,%esi
47ff87:	e8 e6 10 00 00       	call   0x481072
47ff8c:	84 c0                	test   %al,%al
47ff8e:	74 05                	je     0x47ff95
47ff90:	8b 46 08             	mov    0x8(%esi),%eax
47ff93:	5e                   	pop    %esi
47ff94:	c3                   	ret
47ff95:	b8 a4 b7 43 00       	mov    $0x43b7a4,%eax
47ff9a:	5e                   	pop    %esi
47ff9b:	c3                   	ret
47ff9c:	55                   	push   %ebp
47ff9d:	8b ec                	mov    %esp,%ebp
47ff9f:	83 e4 f8             	and    $0xfffffff8,%esp
47ffa2:	83 ec 5c             	sub    $0x5c,%esp
47ffa5:	83 24 24 00          	andl   $0x0,(%esp)
47ffa9:	53                   	push   %ebx
47ffaa:	56                   	push   %esi
47ffab:	8b 75 08             	mov    0x8(%ebp),%esi
47ffae:	57                   	push   %edi
47ffaf:	8b f9                	mov    %ecx,%edi
47ffb1:	8d 4c 24 48          	lea    0x48(%esp),%ecx
47ffb5:	8b 5e 08             	mov    0x8(%esi),%ebx
47ffb8:	e8 0a 78 f8 ff       	call   0x4077c7
47ffbd:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47ffc1:	e8 01 78 f8 ff       	call   0x4077c7
47ffc6:	8d 4c 24 38          	lea    0x38(%esp),%ecx
47ffca:	e8 f8 77 f8 ff       	call   0x4077c7
47ffcf:	8d 4c 24 58          	lea    0x58(%esp),%ecx
47ffd3:	e8 ef 77 f8 ff       	call   0x4077c7
47ffd8:	8b 46 04             	mov    0x4(%esi),%eax
47ffdb:	8b 30                	mov    (%eax),%esi
47ffdd:	8b ce                	mov    %esi,%ecx
47ffdf:	e8 b3 99 f8 ff       	call   0x409997
47ffe4:	8b 46 08             	mov    0x8(%esi),%eax
47ffe7:	83 ec 10             	sub    $0x10,%esp
47ffea:	8b cc                	mov    %esp,%ecx
47ffec:	ff 30                	push   (%eax)
47ffee:	e8 4e 7f f8 ff       	call   0x407f41
47fff3:	8d 44 24 48          	lea    0x48(%esp),%eax
47fff7:	50                   	push   %eax
47fff8:	8d 44 24 3c          	lea    0x3c(%esp),%eax
47fffc:	50                   	push   %eax
47fffd:	8d 44 24 60          	lea    0x60(%esp),%eax
480001:	50                   	push   %eax
480002:	e8 40 13 00 00       	call   0x481347
480007:	8b 44 24 28          	mov    0x28(%esp),%eax
48000b:	83 ec 10             	sub    $0x10,%esp
48000e:	8b cc                	mov    %esp,%ecx
480010:	89 01                	mov    %eax,(%ecx)
480012:	8b 44 24 3c          	mov    0x3c(%esp),%eax
480016:	89 41 04             	mov    %eax,0x4(%ecx)
480019:	8b 44 24 40          	mov    0x40(%esp),%eax
48001d:	89 41 08             	mov    %eax,0x8(%ecx)
480020:	8b 44 24 44          	mov    0x44(%esp),%eax
480024:	89 41 0c             	mov    %eax,0xc(%ecx)
480027:	ff 00                	incl   (%eax)
480029:	8d 44 24 24          	lea    0x24(%esp),%eax
48002d:	50                   	push   %eax
48002e:	8d 44 24 2c          	lea    0x2c(%esp),%eax
480032:	50                   	push   %eax
480033:	e8 6d 10 00 00       	call   0x4810a5
480038:	84 c0                	test   %al,%al
48003a:	75 29                	jne    0x480065
48003c:	8b 07                	mov    (%edi),%eax
48003e:	6a 00                	push   $0x0
480040:	6a 02                	push   $0x2
480042:	8b 48 04             	mov    0x4(%eax),%ecx
480045:	03 cf                	add    %edi,%ecx
480047:	e8 57 6a fd ff       	call   0x456aa3
48004c:	8b 75 0c             	mov    0xc(%ebp),%esi
48004f:	8b ce                	mov    %esi,%ecx
480051:	e8 ca 99 f8 ff       	call   0x409a20
480056:	83 26 00             	andl   $0x0,(%esi)
480059:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
480060:	e9 2e 02 00 00       	jmp    0x480293
480065:	83 7c 24 4c 00       	cmpl   $0x0,0x4c(%esp)
48006a:	74 54                	je     0x4800c0
48006c:	8d 44 24 0c          	lea    0xc(%esp),%eax
480070:	50                   	push   %eax
480071:	ff 74 24 1c          	push   0x1c(%esp)
480075:	ff 74 24 50          	push   0x50(%esp)
480079:	ff 15 24 f0 48 00    	call   *0x48f024
48007f:	85 c0                	test   %eax,%eax
480081:	74 37                	je     0x4800ba
480083:	33 db                	xor    %ebx,%ebx
480085:	53                   	push   %ebx
480086:	50                   	push   %eax
480087:	8b 07                	mov    (%edi),%eax
480089:	8b 48 04             	mov    0x4(%eax),%ecx
48008c:	03 cf                	add    %edi,%ecx
48008e:	e8 ce fe f9 ff       	call   0x41ff61
480093:	8b 07                	mov    (%edi),%eax
480095:	53                   	push   %ebx
480096:	6a 03                	push   $0x3
480098:	8b 48 04             	mov    0x4(%eax),%ecx
48009b:	03 cf                	add    %edi,%ecx
48009d:	e8 01 6a fd ff       	call   0x456aa3
4800a2:	8b 75 0c             	mov    0xc(%ebp),%esi
4800a5:	8b ce                	mov    %esi,%ecx
4800a7:	e8 74 99 f8 ff       	call   0x409a20
4800ac:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4800b3:	89 1e                	mov    %ebx,(%esi)
4800b5:	e9 d9 01 00 00       	jmp    0x480293
4800ba:	8b 74 24 0c          	mov    0xc(%esp),%esi
4800be:	eb 04                	jmp    0x4800c4
4800c0:	8b 74 24 18          	mov    0x18(%esp),%esi
4800c4:	8d 44 24 10          	lea    0x10(%esp),%eax
4800c8:	50                   	push   %eax
4800c9:	8b 44 24 18          	mov    0x18(%esp),%eax
4800cd:	0d 1f 00 02 00       	or     $0x2001f,%eax
4800d2:	50                   	push   %eax
4800d3:	6a 00                	push   $0x0
4800d5:	ff 74 24 44          	push   0x44(%esp)
4800d9:	56                   	push   %esi
4800da:	ff 15 18 f0 48 00    	call   *0x48f018
4800e0:	89 44 24 18          	mov    %eax,0x18(%esp)
4800e4:	85 c0                	test   %eax,%eax
4800e6:	74 48                	je     0x480130
4800e8:	8b 0f                	mov    (%edi),%ecx
4800ea:	6a 00                	push   $0x0
4800ec:	50                   	push   %eax
4800ed:	8b 49 04             	mov    0x4(%ecx),%ecx
4800f0:	03 cf                	add    %edi,%ecx
4800f2:	e8 6a fe f9 ff       	call   0x41ff61
4800f7:	8b 07                	mov    (%edi),%eax
4800f9:	6a 00                	push   $0x0
4800fb:	6a 01                	push   $0x1
4800fd:	8b 48 04             	mov    0x4(%eax),%ecx
480100:	03 cf                	add    %edi,%ecx
480102:	e8 9c 69 fd ff       	call   0x456aa3
480107:	8b 75 0c             	mov    0xc(%ebp),%esi
48010a:	8b ce                	mov    %esi,%ecx
48010c:	6a 02                	push   $0x2
48010e:	5b                   	pop    %ebx
48010f:	e8 0c 99 f8 ff       	call   0x409a20
480114:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
48011b:	39 5c 24 18          	cmp    %ebx,0x18(%esp)
48011f:	75 08                	jne    0x480129
480121:	83 26 00             	andl   $0x0,(%esi)
480124:	e9 59 01 00 00       	jmp    0x480282
480129:	89 1e                	mov    %ebx,(%esi)
48012b:	e9 52 01 00 00       	jmp    0x480282
480130:	4b                   	dec    %ebx
480131:	0f 84 81 00 00 00    	je     0x4801b8
480137:	4b                   	dec    %ebx
480138:	0f 85 44 01 00 00    	jne    0x480282
48013e:	8b 45 08             	mov    0x8(%ebp),%eax
480141:	8b 40 04             	mov    0x4(%eax),%eax
480144:	8b 70 04             	mov    0x4(%eax),%esi
480147:	8b ce                	mov    %esi,%ecx
480149:	e8 49 98 f8 ff       	call   0x409997
48014e:	8b 46 08             	mov    0x8(%esi),%eax
480151:	ff 30                	push   (%eax)
480153:	ff 74 24 14          	push   0x14(%esp)
480157:	ff 15 08 f0 48 00    	call   *0x48f008
48015d:	85 c0                	test   %eax,%eax
48015f:	74 48                	je     0x4801a9
480161:	6a 02                	push   $0x2
480163:	5b                   	pop    %ebx
480164:	3b c3                	cmp    %ebx,%eax
480166:	75 0f                	jne    0x480177
480168:	8b 75 0c             	mov    0xc(%ebp),%esi
48016b:	8b ce                	mov    %esi,%ecx
48016d:	e8 ae 98 f8 ff       	call   0x409a20
480172:	83 26 00             	andl   $0x0,(%esi)
480175:	eb 2b                	jmp    0x4801a2
480177:	6a 00                	push   $0x0
480179:	50                   	push   %eax
48017a:	8b 07                	mov    (%edi),%eax
48017c:	8b 48 04             	mov    0x4(%eax),%ecx
48017f:	03 cf                	add    %edi,%ecx
480181:	e8 db fd f9 ff       	call   0x41ff61
480186:	8b 07                	mov    (%edi),%eax
480188:	6a 00                	push   $0x0
48018a:	6a fe                	push   $0xfffffffe
48018c:	8b 48 04             	mov    0x4(%eax),%ecx
48018f:	03 cf                	add    %edi,%ecx
480191:	e8 0d 69 fd ff       	call   0x456aa3
480196:	8b 75 0c             	mov    0xc(%ebp),%esi
480199:	8b ce                	mov    %esi,%ecx
48019b:	e8 80 98 f8 ff       	call   0x409a20
4801a0:	89 1e                	mov    %ebx,(%esi)
4801a2:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4801a9:	ff 74 24 10          	push   0x10(%esp)
4801ad:	ff 15 1c f0 48 00    	call   *0x48f01c
4801b3:	e9 ca 00 00 00       	jmp    0x480282
4801b8:	8b 54 24 14          	mov    0x14(%esp),%edx
4801bc:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4801c0:	e8 68 10 00 00       	call   0x48122d
4801c5:	ff 74 24 10          	push   0x10(%esp)
4801c9:	8a d8                	mov    %al,%bl
4801cb:	ff 15 1c f0 48 00    	call   *0x48f01c
4801d1:	84 db                	test   %bl,%bl
4801d3:	75 2c                	jne    0x480201
4801d5:	8b 07                	mov    (%edi),%eax
4801d7:	6a 00                	push   $0x0
4801d9:	6a fe                	push   $0xfffffffe
4801db:	8b 48 04             	mov    0x4(%eax),%ecx
4801de:	03 cf                	add    %edi,%ecx
4801e0:	e8 be 68 fd ff       	call   0x456aa3
4801e5:	8b 75 0c             	mov    0xc(%ebp),%esi
4801e8:	8b ce                	mov    %esi,%ecx
4801ea:	e8 31 98 f8 ff       	call   0x409a20
4801ef:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4801f6:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
4801fc:	e9 81 00 00 00       	jmp    0x480282
480201:	33 db                	xor    %ebx,%ebx
480203:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
480207:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
48020b:	89 5c 24 24          	mov    %ebx,0x24(%esp)
48020f:	e8 5e 0e 00 00       	call   0x481072
480214:	84 c0                	test   %al,%al
480216:	74 17                	je     0x48022f
480218:	53                   	push   %ebx
480219:	ff 74 24 18          	push   0x18(%esp)
48021d:	8d 4c 24 24          	lea    0x24(%esp),%ecx
480221:	ff 74 24 40          	push   0x40(%esp)
480225:	56                   	push   %esi
480226:	e8 59 fd ff ff       	call   0x47ff84
48022b:	ff d0                	call   *%eax
48022d:	eb 0b                	jmp    0x48023a
48022f:	ff 74 24 38          	push   0x38(%esp)
480233:	56                   	push   %esi
480234:	ff 15 0c f0 48 00    	call   *0x48f00c
48023a:	85 c0                	test   %eax,%eax
48023c:	74 34                	je     0x480272
48023e:	53                   	push   %ebx
48023f:	50                   	push   %eax
480240:	8b 07                	mov    (%edi),%eax
480242:	8b 48 04             	mov    0x4(%eax),%ecx
480245:	03 cf                	add    %edi,%ecx
480247:	e8 15 fd f9 ff       	call   0x41ff61
48024c:	8b 07                	mov    (%edi),%eax
48024e:	53                   	push   %ebx
48024f:	6a fe                	push   $0xfffffffe
480251:	8b 48 04             	mov    0x4(%eax),%ecx
480254:	03 cf                	add    %edi,%ecx
480256:	e8 48 68 fd ff       	call   0x456aa3
48025b:	8b 75 0c             	mov    0xc(%ebp),%esi
48025e:	8b ce                	mov    %esi,%ecx
480260:	e8 bb 97 f8 ff       	call   0x409a20
480265:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
48026c:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
480272:	39 5c 24 1c          	cmp    %ebx,0x1c(%esp)
480276:	74 0a                	je     0x480282
480278:	ff 74 24 1c          	push   0x1c(%esp)
48027c:	ff 15 98 f1 48 00    	call   *0x48f198
480282:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
480287:	74 0a                	je     0x480293
480289:	ff 74 24 0c          	push   0xc(%esp)
48028d:	ff 15 1c f0 48 00    	call   *0x48f01c
480293:	8d 4c 24 58          	lea    0x58(%esp),%ecx
480297:	e8 c8 57 f8 ff       	call   0x405a64
48029c:	8d 4c 24 38          	lea    0x38(%esp),%ecx
4802a0:	e8 bf 57 f8 ff       	call   0x405a64
4802a5:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4802a9:	e8 b6 57 f8 ff       	call   0x405a64
4802ae:	8d 4c 24 48          	lea    0x48(%esp),%ecx
4802b2:	e8 ad 57 f8 ff       	call   0x405a64
4802b7:	5f                   	pop    %edi
4802b8:	5e                   	pop    %esi
4802b9:	33 c0                	xor    %eax,%eax
4802bb:	5b                   	pop    %ebx
4802bc:	8b e5                	mov    %ebp,%esp