46ce5a:	6a ff                	push   $0xffffffff
46ce5c:	ff 76 44             	push   0x44(%esi)
46ce5f:	ff 15 4c 70 4a 00    	call   *0x4a704c
46ce65:	47                   	inc    %edi
46ce66:	3b 7e 64             	cmp    0x64(%esi),%edi
46ce69:	7c cc                	jl     0x46ce37
46ce6b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
46ce6e:	ff 15 dc 76 4a 00    	call   *0x4a76dc
46ce74:	5f                   	pop    %edi
46ce75:	5e                   	pop    %esi
46ce76:	5b                   	pop    %ebx
46ce77:	c9                   	leave
46ce78:	c2 08 00             	ret    $0x8
46ce7b:	6a 24                	push   $0x24
46ce7d:	b8 1a 27 49 00       	mov    $0x49271a,%eax
46ce82:	e8 4c 36 02 00       	call   0x4904d3
46ce87:	8b f9                	mov    %ecx,%edi
46ce89:	ff 75 14             	push   0x14(%ebp)
46ce8c:	ff 75 10             	push   0x10(%ebp)
46ce8f:	ff 75 0c             	push   0xc(%ebp)
46ce92:	68 00 00 01 50       	push   $0x50010000
46ce97:	ff 75 08             	push   0x8(%ebp)
46ce9a:	ff 15 68 73 4a 00    	call   *0x4a7368
46cea0:	ff 75 0c             	push   0xc(%ebp)
46cea3:	8d 4f 4c             	lea    0x4c(%edi),%ecx
46cea6:	8b f0                	mov    %eax,%esi
46cea8:	51                   	push   %ecx
46cea9:	ff 15 24 7d 4a 00    	call   *0x4a7d24
46ceaf:	57                   	push   %edi
46ceb0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46ceb3:	ff 15 d8 76 4a 00    	call   *0x4a76d8
46ceb9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46cebd:	6a 58                	push   $0x58
46cebf:	ff 75 d8             	push   -0x28(%ebp)
46cec2:	ff 15 64 71 4a 00    	call   *0x4a7164
46cec8:	89 45 f0             	mov    %eax,-0x10(%ebp)
46cecb:	db 45 f0             	fildl  -0x10(%ebp)
46cece:	6a 5a                	push   $0x5a
46ced0:	dd 5d ec             	fstpl  -0x14(%ebp)
46ced3:	dd 45 ec             	fldl   -0x14(%ebp)
46ced6:	dc 35 90 42 41 00    	fdivl  0x414290
46cedc:	ff 75 d8             	push   -0x28(%ebp)
46cedf:	dd 5d e4             	fstpl  -0x1c(%ebp)
46cee2:	ff 15 64 71 4a 00    	call   *0x4a7164
46cee8:	89 45 f0             	mov    %eax,-0x10(%ebp)
46ceeb:	db 45 f0             	fildl  -0x10(%ebp)
46ceee:	dd 5d ec             	fstpl  -0x14(%ebp)
46cef1:	dd 45 ec             	fldl   -0x14(%ebp)
46cef4:	dc 35 90 42 41 00    	fdivl  0x414290
46cefa:	dd 45 e4             	fldl   -0x1c(%ebp)
46cefd:	d9 c0                	fld    %st(0)
46ceff:	dd 05 40 42 41 00    	fldl   0x414240
46cf05:	dc c9                	fmul   %st,%st(1)
46cf07:	d9 c9                	fxch   %st(1)
46cf09:	e8 13 41 02 00       	call   0x491021
46cf0e:	d9 c2                	fld    %st(2)
46cf10:	89 47 5c             	mov    %eax,0x5c(%edi)
46cf13:	de c9                	fmulp  %st,%st(1)
46cf15:	e8 07 41 02 00       	call   0x491021
46cf1a:	dd 05 00 42 41 00    	fldl   0x414200
46cf20:	dc c9                	fmul   %st,%st(1)
46cf22:	d9 c9                	fxch   %st(1)
46cf24:	89 47 60             	mov    %eax,0x60(%edi)
46cf27:	e8 f5 40 02 00       	call   0x491021
46cf2c:	de c9                	fmulp  %st,%st(1)
46cf2e:	89 47 7c             	mov    %eax,0x7c(%edi)
46cf31:	e8 eb 40 02 00       	call   0x491021
46cf36:	6a 0f                	push   $0xf
46cf38:	89 87 80 00 00 00    	mov    %eax,0x80(%edi)
46cf3e:	ff 15 f0 7d 4a 00    	call   *0x4a7df0
46cf44:	50                   	push   %eax
46cf45:	8b cf                	mov    %edi,%ecx
46cf47:	e8 fe fd ff ff       	call   0x46cd4a
46cf4c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46cf4f:	ff 15 dc 76 4a 00    	call   *0x4a76dc
46cf55:	8b c6                	mov    %esi,%eax
46cf57:	e8 45 35 02 00       	call   0x4904a1
46cf5c:	c2 10 00             	ret    $0x10
46cf5f:	cc                   	int3
46cf60:	6a 34                	push   $0x34
46cf62:	b8 63 56 49 00       	mov    $0x495663,%eax
46cf67:	e8 9a 35 02 00       	call   0x490506
46cf6c:	8b f9                	mov    %ecx,%edi
46cf6e:	8b 75 08             	mov    0x8(%ebp),%esi
46cf71:	8b 5e 10             	mov    0x10(%esi),%ebx
46cf74:	8b c3                	mov    %ebx,%eax
46cf76:	83 e0 01             	and    $0x1,%eax
46cf79:	89 45 c4             	mov    %eax,-0x3c(%ebp)
46cf7c:	8b c3                	mov    %ebx,%eax
46cf7e:	25 80 00 00 00       	and    $0x80,%eax
46cf83:	89 45 c8             	mov    %eax,-0x38(%ebp)
46cf86:	8b c3                	mov    %ebx,%eax
46cf88:	83 e0 10             	and    $0x10,%eax
46cf8b:	89 45 c0             	mov    %eax,-0x40(%ebp)
46cf8e:	8d 46 1c             	lea    0x1c(%esi),%eax
46cf91:	50                   	push   %eax
46cf92:	8d 45 e0             	lea    -0x20(%ebp),%eax
46cf95:	50                   	push   %eax
46cf96:	ff 15 24 7d 4a 00    	call   *0x4a7d24
46cf9c:	8b 76 18             	mov    0x18(%esi),%esi
46cf9f:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46cfa2:	ff 15 80 75 4a 00    	call   *0x4a7580
46cfa8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46cfac:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46cfaf:	56                   	push   %esi
46cfb0:	ff 15 88 75 4a 00    	call   *0x4a7588
46cfb6:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46cfb9:	ff 15 70 7b 4a 00    	call   *0x4a7b70
46cfbf:	8d 47 70             	lea    0x70(%edi),%eax
46cfc2:	50                   	push   %eax
46cfc3:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46cfc6:	ff 15 f4 76 4a 00    	call   *0x4a76f4
46cfcc:	8d 47 68             	lea    0x68(%edi),%eax
46cfcf:	50                   	push   %eax
46cfd0:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46cfd3:	ff 15 f0 76 4a 00    	call   *0x4a76f0
46cfd9:	8b 47 58             	mov    0x58(%edi),%eax
46cfdc:	2b 47 50             	sub    0x50(%edi),%eax
46cfdf:	50                   	push   %eax
46cfe0:	8b 47 54             	mov    0x54(%edi),%eax
46cfe3:	2b 47 4c             	sub    0x4c(%edi),%eax
46cfe6:	50                   	push   %eax
46cfe7:	6a 00                	push   $0x0
46cfe9:	6a 00                	push   $0x0
46cfeb:	ff 75 d0             	push   -0x30(%ebp)
46cfee:	ff 15 f4 70 4a 00    	call   *0x4a70f4
46cff4:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
46cffa:	ff 77 44             	push   0x44(%edi)
46cffd:	8b 77 7c             	mov    0x7c(%edi),%esi
46d000:	89 45 dc             	mov    %eax,-0x24(%ebp)
46d003:	ff 15 44 70 4a 00    	call   *0x4a7044
46d009:	8b c8                	mov    %eax,%ecx
46d00b:	f6 c3 04             	test   $0x4,%bl
46d00e:	77 3a                	ja     0x46d04a
46d010:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
46d014:	77 34                	ja     0x46d04a
46d016:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
46d01a:	76 0a                	jbe    0x46d026
46d01c:	33 c0                	xor    %eax,%eax
46d01e:	83 f9 01             	cmp    $0x1,%ecx
46d021:	0f 9f c0             	setg   %al
46d024:	eb 2d                	jmp    0x46d053
46d026:	80 bf 84 00 00 00 00 	cmpb   $0x0,0x84(%edi)
46d02d:	74 04                	je     0x46d033
46d02f:	6a 02                	push   $0x2
46d031:	eb 19                	jmp    0x46d04c
46d033:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
46d037:	76 04                	jbe    0x46d03d
46d039:	6a 03                	push   $0x3
46d03b:	eb 0f                	jmp    0x46d04c
46d03d:	6a 00                	push   $0x0
46d03f:	ff 75 dc             	push   -0x24(%ebp)
46d042:	56                   	push   %esi
46d043:	ff 75 d0             	push   -0x30(%ebp)
46d046:	6a 00                	push   $0x0
46d048:	eb 13                	jmp    0x46d05d
46d04a:	6a 04                	push   $0x4
46d04c:	58                   	pop    %eax
46d04d:	3b c8                	cmp    %eax,%ecx
46d04f:	7f 02                	jg     0x46d053
46d051:	33 c0                	xor    %eax,%eax
46d053:	6a 00                	push   $0x0
46d055:	ff 75 dc             	push   -0x24(%ebp)
46d058:	56                   	push   %esi
46d059:	ff 75 d0             	push   -0x30(%ebp)
46d05c:	50                   	push   %eax
46d05d:	ff 77 44             	push   0x44(%edi)
46d060:	ff 15 50 70 4a 00    	call   *0x4a7050
46d066:	6a ff                	push   $0xffffffff
46d068:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d06b:	ff 15 74 7b 4a 00    	call   *0x4a7b74
46d071:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d074:	ff 15 84 75 4a 00    	call   *0x4a7584
46d07a:	e8 36 34 02 00       	call   0x4904b5
46d07f:	c2 04 00             	ret    $0x4
46d082:	cc                   	int3
46d083:	cc                   	int3
46d084:	cc                   	int3
46d085:	cc                   	int3
46d086:	cc                   	int3
46d087:	cc                   	int3
46d088:	cc                   	int3
46d089:	cc                   	int3
46d08a:	cc                   	int3
46d08b:	cc                   	int3
46d08c:	cc                   	int3
46d08d:	cc                   	int3
46d08e:	cc                   	int3
46d08f:	cc                   	int3
46d090:	8b ff                	mov    %edi,%edi
46d092:	55                   	push   %ebp
46d093:	8b ec                	mov    %esp,%ebp
46d095:	83 ec 10             	sub    $0x10,%esp
46d098:	56                   	push   %esi
46d099:	8b f1                	mov    %ecx,%esi
46d09b:	80 be 84 00 00 00 00 	cmpb   $0x0,0x84(%esi)
46d0a2:	75 32                	jne    0x46d0d6
46d0a4:	8b 46 20             	mov    0x20(%esi),%eax
46d0a7:	89 45 f8             	mov    %eax,-0x8(%ebp)
46d0aa:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d0ad:	50                   	push   %eax
46d0ae:	c6 86 84 00 00 00 01 	movb   $0x1,0x84(%esi)
46d0b5:	c7 45 f0 10 00 00 00 	movl   $0x10,-0x10(%ebp)
46d0bc:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
46d0c3:	ff 15 64 7d 4a 00    	call   *0x4a7d64
46d0c9:	6a 00                	push   $0x0
46d0cb:	6a 00                	push   $0x0
46d0cd:	ff 76 20             	push   0x20(%esi)
46d0d0:	ff 15 d8 7d 4a 00    	call   *0x4a7dd8
46d0d6:	8b ce                	mov    %esi,%ecx
46d0d8:	ff 15 1c 77 4a 00    	call   *0x4a771c
46d0de:	5e                   	pop    %esi
46d0df:	c9                   	leave
46d0e0:	c2 0c 00             	ret    $0xc
46d0e3:	cc                   	int3
46d0e4:	cc                   	int3
46d0e5:	cc                   	int3
46d0e6:	cc                   	int3
46d0e7:	cc                   	int3
46d0e8:	cc                   	int3
46d0e9:	cc                   	int3
46d0ea:	cc                   	int3
46d0eb:	cc                   	int3
46d0ec:	cc                   	int3
46d0ed:	cc                   	int3
46d0ee:	cc                   	int3
46d0ef:	cc                   	int3
46d0f0:	33 c0                	xor    %eax,%eax
46d0f2:	50                   	push   %eax
46d0f3:	50                   	push   %eax
46d0f4:	ff 71 20             	push   0x20(%ecx)
46d0f7:	88 81 84 00 00 00    	mov    %al,0x84(%ecx)
46d0fd:	ff 15 d8 7d 4a 00    	call   *0x4a7dd8
46d103:	c2 08 00             	ret    $0x8
46d106:	cc                   	int3
46d107:	cc                   	int3
46d108:	cc                   	int3
46d109:	cc                   	int3
46d10a:	cc                   	int3
46d10b:	cc                   	int3
46d10c:	cc                   	int3
46d10d:	cc                   	int3
46d10e:	cc                   	int3
46d10f:	cc                   	int3
46d110:	8b ff                	mov    %edi,%edi
46d112:	56                   	push   %esi
46d113:	57                   	push   %edi
46d114:	8b f9                	mov    %ecx,%edi
46d116:	ff 15 38 77 4a 00    	call   *0x4a7738
46d11c:	8b 17                	mov    (%edi),%edx
46d11e:	ff 70 0c             	push   0xc(%eax)
46d121:	8b b2 a8 00 00 00    	mov    0xa8(%edx),%esi
46d127:	8b ce                	mov    %esi,%ecx
46d129:	ff 70 08             	push   0x8(%eax)
46d12c:	68 01 02 00 00       	push   $0x201
46d131:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d137:	8b cf                	mov    %edi,%ecx
46d139:	ff d6                	call   *%esi
46d13b:	5f                   	pop    %edi
46d13c:	5e                   	pop    %esi
46d13d:	c2 0c 00             	ret    $0xc
46d140:	6a 1c                	push   $0x1c
46d142:	b8 90 56 49 00       	mov    $0x495690,%eax
46d147:	e8 ba 33 02 00       	call   0x490506
46d14c:	89 55 d8             	mov    %edx,-0x28(%ebp)
46d14f:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
46d152:	8d 75 08             	lea    0x8(%ebp),%esi
46d155:	8d 7d e0             	lea    -0x20(%ebp),%edi
46d158:	33 c0                	xor    %eax,%eax
46d15a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d15b:	89 45 dc             	mov    %eax,-0x24(%ebp)
46d15e:	89 03                	mov    %eax,(%ebx)
46d160:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d161:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d162:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d163:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d166:	8d 55 dc             	lea    -0x24(%ebp),%edx
46d169:	8b 01                	mov    (%ecx),%eax
46d16b:	52                   	push   %edx
46d16c:	51                   	push   %ecx
46d16d:	8b 70 28             	mov    0x28(%eax),%esi
46d170:	8b ce                	mov    %esi,%ecx
46d172:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d178:	ff d6                	call   *%esi
46d17a:	8b f8                	mov    %eax,%edi
46d17c:	85 ff                	test   %edi,%edi
46d17e:	78 45                	js     0x46d1c5
46d180:	d9 ee                	fldz
46d182:	33 c9                	xor    %ecx,%ecx
46d184:	8b 45 dc             	mov    -0x24(%ebp),%eax
46d187:	51                   	push   %ecx
46d188:	51                   	push   %ecx
46d189:	51                   	push   %ecx
46d18a:	8b 30                	mov    (%eax),%esi
46d18c:	dd 1c 24             	fstpl  (%esp)
46d18f:	51                   	push   %ecx
46d190:	51                   	push   %ecx
46d191:	8d 4d e0             	lea    -0x20(%ebp),%ecx
46d194:	51                   	push   %ecx
46d195:	ff 75 d8             	push   -0x28(%ebp)
46d198:	8b 4e 20             	mov    0x20(%esi),%ecx
46d19b:	50                   	push   %eax
46d19c:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d1a2:	ff 56 20             	call   *0x20(%esi)
46d1a5:	8b f8                	mov    %eax,%edi
46d1a7:	85 ff                	test   %edi,%edi
46d1a9:	78 1a                	js     0x46d1c5
46d1ab:	8b 45 dc             	mov    -0x24(%ebp),%eax
46d1ae:	53                   	push   %ebx
46d1af:	68 94 33 41 00       	push   $0x413394
46d1b4:	50                   	push   %eax
46d1b5:	8b 08                	mov    (%eax),%ecx
46d1b7:	8b 31                	mov    (%ecx),%esi
46d1b9:	8b ce                	mov    %esi,%ecx
46d1bb:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d1c1:	ff d6                	call   *%esi
46d1c3:	8b f8                	mov    %eax,%edi
46d1c5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46d1c9:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46d1cc:	85 c9                	test   %ecx,%ecx
46d1ce:	74 14                	je     0x46d1e4
46d1d0:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
46d1d4:	8b 01                	mov    (%ecx),%eax
46d1d6:	51                   	push   %ecx
46d1d7:	8b 70 08             	mov    0x8(%eax),%esi
46d1da:	8b ce                	mov    %esi,%ecx
46d1dc:	ff 15 2c 81 4a 00    	call   *0x4a812c
46d1e2:	ff d6                	call   *%esi
46d1e4:	8b c7                	mov    %edi,%eax
46d1e6:	e8 ca 32 02 00       	call   0x4904b5
46d1eb:	c2 18 00             	ret    $0x18
46d1ee:	8b ff                	mov    %edi,%edi
46d1f0:	55                   	push   %ebp
46d1f1:	8b ec                	mov    %esp,%ebp
46d1f3:	83 ec 50             	sub    $0x50,%esp
46d1f6:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
46d1fb:	33 c5                	xor    %ebp,%eax
46d1fd:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d200:	53                   	push   %ebx
46d201:	8b c2                	mov    %edx,%eax
46d203:	8b d9                	mov    %ecx,%ebx
46d205:	56                   	push   %esi
46d206:	89 45 b0             	mov    %eax,-0x50(%ebp)
46d209:	83 20 00             	andl   $0x0,(%eax)
46d20c:	8d 45 b8             	lea    -0x48(%ebp),%eax
46d20f:	8b 33                	mov    (%ebx),%esi
46d211:	50                   	push   %eax
46d212:	8d 45 bc             	lea    -0x44(%ebp),%eax
46d215:	50                   	push   %eax
46d216:	8b 4e 0c             	mov    0xc(%esi),%ecx