46cc84:	89 75 f0             	mov    %esi,-0x10(%ebp)
46cc87:	ff 15 a0 76 4a 00    	call   *0x4a76a0
46cc8d:	33 db                	xor    %ebx,%ebx
46cc8f:	8d 4e 40             	lea    0x40(%esi),%ecx
46cc92:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46cc95:	c7 06 ec 59 40 00    	movl   $0x4059ec,(%esi)
46cc9b:	ff 15 5c 73 4a 00    	call   *0x4a735c
46cca1:	89 5e 6c             	mov    %ebx,0x6c(%esi)
46cca4:	8b c6                	mov    %esi,%eax
46cca6:	c7 46 68 c0 15 40 00 	movl   $0x4015c0,0x68(%esi)
46ccad:	89 5e 74             	mov    %ebx,0x74(%esi)
46ccb0:	c7 46 70 ec 2c 40 00 	movl   $0x402cec,0x70(%esi)
46ccb7:	88 9e 84 00 00 00    	mov    %bl,0x84(%esi)
46ccbd:	89 5e 78             	mov    %ebx,0x78(%esi)
46ccc0:	e8 dc 37 02 00       	call   0x4904a1
46ccc5:	c3                   	ret
46ccc6:	cc                   	int3
46ccc7:	cc                   	int3
46ccc8:	cc                   	int3
46ccc9:	cc                   	int3
46ccca:	cc                   	int3
46cccb:	cc                   	int3
46cccc:	cc                   	int3
46cccd:	cc                   	int3
46ccce:	cc                   	int3
46cccf:	cc                   	int3
46ccd0:	8b ff                	mov    %edi,%edi
46ccd2:	55                   	push   %ebp
46ccd3:	8b ec                	mov    %esp,%ebp
46ccd5:	56                   	push   %esi
46ccd6:	8b f1                	mov    %ecx,%esi
46ccd8:	e8 15 00 00 00       	call   0x46ccf2
46ccdd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
46cce1:	74 08                	je     0x46cceb
46cce3:	56                   	push   %esi
46cce4:	ff 15 10 74 4a 00    	call   *0x4a7410
46ccea:	59                   	pop    %ecx
46cceb:	8b c6                	mov    %esi,%eax
46cced:	5e                   	pop    %esi
46ccee:	5d                   	pop    %ebp
46ccef:	c2 04 00             	ret    $0x4
46ccf2:	8b ff                	mov    %edi,%edi
46ccf4:	56                   	push   %esi
46ccf5:	8b f1                	mov    %ecx,%esi
46ccf7:	8d 4e 70             	lea    0x70(%esi),%ecx
46ccfa:	c7 06 ec 59 40 00    	movl   $0x4059ec,(%esi)
46cd00:	c7 01 ec 2c 40 00    	movl   $0x402cec,(%ecx)
46cd06:	e8 c8 30 fb ff       	call   0x41fdd3
46cd0b:	8d 4e 68             	lea    0x68(%esi),%ecx
46cd0e:	c7 01 c0 15 40 00    	movl   $0x4015c0,(%ecx)
46cd14:	e8 ba 30 fb ff       	call   0x41fdd3
46cd19:	8d 4e 40             	lea    0x40(%esi),%ecx
46cd1c:	ff 15 60 73 4a 00    	call   *0x4a7360
46cd22:	8b ce                	mov    %esi,%ecx
46cd24:	5e                   	pop    %esi
46cd25:	ff 25 58 73 4a 00    	jmp    *0x4a7358
46cd2b:	cc                   	int3
46cd2c:	cc                   	int3
46cd2d:	cc                   	int3
46cd2e:	cc                   	int3
46cd2f:	cc                   	int3
46cd30:	8b ff                	mov    %edi,%edi
46cd32:	56                   	push   %esi
46cd33:	6a 00                	push   $0x0
46cd35:	6a 0b                	push   $0xb
46cd37:	6a 00                	push   $0x0
46cd39:	8b f1                	mov    %ecx,%esi
46cd3b:	ff 15 f8 72 4a 00    	call   *0x4a72f8
46cd41:	8b ce                	mov    %esi,%ecx
46cd43:	5e                   	pop    %esi
46cd44:	ff 25 9c 74 4a 00    	jmp    *0x4a749c
46cd4a:	8b ff                	mov    %edi,%edi
46cd4c:	55                   	push   %ebp
46cd4d:	8b ec                	mov    %esp,%ebp
46cd4f:	56                   	push   %esi
46cd50:	8b f1                	mov    %ecx,%esi
46cd52:	57                   	push   %edi
46cd53:	8d 4e 70             	lea    0x70(%esi),%ecx
46cd56:	ff 15 28 75 4a 00    	call   *0x4a7528
46cd5c:	8d 4e 68             	lea    0x68(%esi),%ecx
46cd5f:	ff 15 28 75 4a 00    	call   *0x4a7528
46cd65:	ff 75 08             	push   0x8(%ebp)
46cd68:	ff 15 40 71 4a 00    	call   *0x4a7140
46cd6e:	50                   	push   %eax
46cd6f:	8d 4e 68             	lea    0x68(%esi),%ecx
46cd72:	ff 15 8c 75 4a 00    	call   *0x4a758c
46cd78:	ff 75 08             	push   0x8(%ebp)
46cd7b:	6a 01                	push   $0x1
46cd7d:	6a 00                	push   $0x0
46cd7f:	ff 15 d8 70 4a 00    	call   *0x4a70d8
46cd85:	50                   	push   %eax
46cd86:	8d 4e 70             	lea    0x70(%esi),%ecx
46cd89:	ff 15 8c 75 4a 00    	call   *0x4a758c
46cd8f:	5f                   	pop    %edi
46cd90:	5e                   	pop    %esi
46cd91:	5d                   	pop    %ebp
46cd92:	c2 04 00             	ret    $0x4
46cd95:	cc                   	int3
46cd96:	cc                   	int3
46cd97:	cc                   	int3
46cd98:	cc                   	int3
46cd99:	cc                   	int3
46cd9a:	cc                   	int3
46cd9b:	cc                   	int3
46cd9c:	cc                   	int3
46cd9d:	cc                   	int3
46cd9e:	cc                   	int3
46cd9f:	cc                   	int3
46cda0:	8b ff                	mov    %edi,%edi
46cda2:	56                   	push   %esi
46cda3:	8b f1                	mov    %ecx,%esi
46cda5:	83 7e 78 00          	cmpl   $0x0,0x78(%esi)
46cda9:	75 10                	jne    0x46cdbb
46cdab:	6a 0f                	push   $0xf
46cdad:	ff 15 f0 7d 4a 00    	call   *0x4a7df0
46cdb3:	50                   	push   %eax
46cdb4:	8b ce                	mov    %esi,%ecx
46cdb6:	e8 8f ff ff ff       	call   0x46cd4a
46cdbb:	5e                   	pop    %esi
46cdbc:	c3                   	ret
46cdbd:	8b ff                	mov    %edi,%edi
46cdbf:	55                   	push   %ebp
46cdc0:	8b ec                	mov    %esp,%ebp
46cdc2:	83 ec 18             	sub    $0x18,%esp
46cdc5:	53                   	push   %ebx
46cdc6:	56                   	push   %esi
46cdc7:	8b f1                	mov    %ecx,%esi
46cdc9:	33 db                	xor    %ebx,%ebx
46cdcb:	39 5e 20             	cmp    %ebx,0x20(%esi)
46cdce:	0f 84 a1 00 00 00    	je     0x46ce75
46cdd4:	57                   	push   %edi
46cdd5:	ff 76 44             	push   0x44(%esi)
46cdd8:	c7 46 64 05 00 00 00 	movl   $0x5,0x64(%esi)
46cddf:	8b fb                	mov    %ebx,%edi
46cde1:	ff 15 44 70 4a 00    	call   *0x4a7044
46cde7:	85 c0                	test   %eax,%eax
46cde9:	7e 18                	jle    0x46ce03
46cdeb:	57                   	push   %edi
46cdec:	ff 76 44             	push   0x44(%esi)
46cdef:	ff 15 48 70 4a 00    	call   *0x4a7048
46cdf5:	ff 76 44             	push   0x44(%esi)
46cdf8:	47                   	inc    %edi
46cdf9:	ff 15 44 70 4a 00    	call   *0x4a7044
46cdff:	3b f8                	cmp    %eax,%edi
46ce01:	7c e8                	jl     0x46cdeb
46ce03:	53                   	push   %ebx
46ce04:	6a 05                	push   $0x5
46ce06:	6a 21                	push   $0x21
46ce08:	ff 76 60             	push   0x60(%esi)
46ce0b:	8d 4e 40             	lea    0x40(%esi),%ecx
46ce0e:	ff 76 5c             	push   0x5c(%esi)
46ce11:	ff 15 64 73 4a 00    	call   *0x4a7364
46ce17:	56                   	push   %esi
46ce18:	8d 4d e8             	lea    -0x18(%ebp),%ecx
46ce1b:	ff 15 d8 76 4a 00    	call   *0x4a76d8
46ce21:	8b 45 08             	mov    0x8(%ebp),%eax
46ce24:	53                   	push   %ebx
46ce25:	89 46 48             	mov    %eax,0x48(%esi)
46ce28:	ff 15 70 72 4a 00    	call   *0x4a7270
46ce2e:	33 ff                	xor    %edi,%edi
46ce30:	8b d8                	mov    %eax,%ebx
46ce32:	39 7e 64             	cmp    %edi,0x64(%esi)
46ce35:	7e 34                	jle    0x46ce6b
46ce37:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46ce3b:	8d 45 fc             	lea    -0x4(%ebp),%eax
46ce3e:	50                   	push   %eax
46ce3f:	ff 76 60             	push   0x60(%esi)
46ce42:	66 8b 46 48          	mov    0x48(%esi),%ax
46ce46:	ff 76 5c             	push   0x5c(%esi)
46ce49:	66 03 c7             	add    %di,%ax
46ce4c:	0f b7 c0             	movzwl %ax,%eax
46ce4f:	50                   	push   %eax
46ce50:	53                   	push   %ebx
46ce51:	ff 15 3c 70 4a 00    	call   *0x4a703c
46ce57:	ff 75 fc             	push   -0x4(%ebp)
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