46cb18:	ff 75 e0             	push   -0x20(%ebp)
46cb1b:	ff 75 10             	push   0x10(%ebp)
46cb1e:	8d 14 d0             	lea    (%eax,%edx,8),%edx
46cb21:	52                   	push   %edx
46cb22:	e8 bb 00 00 00       	call   0x46cbe2
46cb27:	01 77 08             	add    %esi,0x8(%edi)
46cb2a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cb2d:	52                   	push   %edx
46cb2e:	eb 4f                	jmp    0x46cb7f
46cb30:	8d 04 16             	lea    (%esi,%edx,1),%eax
46cb33:	8b f2                	mov    %edx,%esi
46cb35:	89 45 e0             	mov    %eax,-0x20(%ebp)
46cb38:	8b c3                	mov    %ebx,%eax
46cb3a:	c1 e0 03             	shl    $0x3,%eax
46cb3d:	2b f0                	sub    %eax,%esi
46cb3f:	85 db                	test   %ebx,%ebx
46cb41:	74 13                	je     0x46cb56
46cb43:	50                   	push   %eax
46cb44:	56                   	push   %esi
46cb45:	50                   	push   %eax
46cb46:	52                   	push   %edx
46cb47:	ff 15 c4 80 4a 00    	call   *0x4a80c4
46cb4d:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cb50:	83 c4 10             	add    $0x10,%esp
46cb53:	8b 55 ec             	mov    -0x14(%ebp),%edx
46cb56:	8b 45 e0             	mov    -0x20(%ebp),%eax
46cb59:	2b f1                	sub    %ecx,%esi
46cb5b:	c1 fe 03             	sar    $0x3,%esi
46cb5e:	89 47 08             	mov    %eax,0x8(%edi)
46cb61:	85 f6                	test   %esi,%esi
46cb63:	7e 17                	jle    0x46cb7c
46cb65:	8b c6                	mov    %esi,%eax
46cb67:	c1 e0 03             	shl    $0x3,%eax
46cb6a:	50                   	push   %eax
46cb6b:	51                   	push   %ecx
46cb6c:	50                   	push   %eax
46cb6d:	2b d0                	sub    %eax,%edx
46cb6f:	52                   	push   %edx
46cb70:	ff 15 c4 80 4a 00    	call   *0x4a80c4
46cb76:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cb79:	83 c4 10             	add    $0x10,%esp
46cb7c:	ff 75 10             	push   0x10(%ebp)
46cb7f:	ff 75 0c             	push   0xc(%ebp)
46cb82:	e8 22 00 00 00       	call   0x46cba9
46cb87:	59                   	pop    %ecx
46cb88:	59                   	pop    %ecx
46cb89:	e8 13 39 02 00       	call   0x4904a1
46cb8e:	c2 10 00             	ret    $0x10
46cb91:	e8 9c 0d fb ff       	call   0x41d932
46cb96:	51                   	push   %ecx
46cb97:	ff 75 ec             	push   -0x14(%ebp)
46cb9a:	e8 10 0e fb ff       	call   0x41d9af
46cb9f:	33 f6                	xor    %esi,%esi
46cba1:	56                   	push   %esi
46cba2:	56                   	push   %esi
46cba3:	e8 f3 38 02 00       	call   0x49049b
46cba8:	cc                   	int3
46cba9:	8b ff                	mov    %edi,%edi
46cbab:	55                   	push   %ebp
46cbac:	8b ec                	mov    %esp,%ebp
46cbae:	8b 45 0c             	mov    0xc(%ebp),%eax
46cbb1:	8b d1                	mov    %ecx,%edx
46cbb3:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cbb6:	2b c1                	sub    %ecx,%eax
46cbb8:	83 c0 07             	add    $0x7,%eax
46cbbb:	56                   	push   %esi
46cbbc:	33 f6                	xor    %esi,%esi
46cbbe:	c1 e8 03             	shr    $0x3,%eax
46cbc1:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
46cbc4:	57                   	push   %edi
46cbc5:	1b ff                	sbb    %edi,%edi
46cbc7:	f7 d7                	not    %edi
46cbc9:	23 f8                	and    %eax,%edi
46cbcb:	74 0f                	je     0x46cbdc
46cbcd:	2b ca                	sub    %edx,%ecx
46cbcf:	dd 04 11             	fldl   (%ecx,%edx,1)
46cbd2:	dd 1a                	fstpl  (%edx)
46cbd4:	83 c2 08             	add    $0x8,%edx
46cbd7:	46                   	inc    %esi
46cbd8:	3b f7                	cmp    %edi,%esi
46cbda:	75 f3                	jne    0x46cbcf
46cbdc:	5f                   	pop    %edi
46cbdd:	8b c2                	mov    %edx,%eax
46cbdf:	5e                   	pop    %esi
46cbe0:	5d                   	pop    %ebp
46cbe1:	c3                   	ret
46cbe2:	8b ff                	mov    %edi,%edi
46cbe4:	55                   	push   %ebp
46cbe5:	8b ec                	mov    %esp,%ebp
46cbe7:	8b 45 08             	mov    0x8(%ebp),%eax
46cbea:	eb 0d                	jmp    0x46cbf9
46cbec:	dd 00                	fldl   (%eax)
46cbee:	dd 19                	fstpl  (%ecx)
46cbf0:	83 c1 08             	add    $0x8,%ecx
46cbf3:	83 c0 08             	add    $0x8,%eax
46cbf6:	89 45 08             	mov    %eax,0x8(%ebp)
46cbf9:	3b 45 0c             	cmp    0xc(%ebp),%eax
46cbfc:	75 ee                	jne    0x46cbec
46cbfe:	8b c1                	mov    %ecx,%eax
46cc00:	5d                   	pop    %ebp
46cc01:	c2 10 00             	ret    $0x10
46cc04:	cc                   	int3
46cc05:	cc                   	int3
46cc06:	cc                   	int3
46cc07:	cc                   	int3
46cc08:	cc                   	int3
46cc09:	cc                   	int3
46cc0a:	cc                   	int3
46cc0b:	cc                   	int3
46cc0c:	cc                   	int3
46cc0d:	cc                   	int3
46cc0e:	cc                   	int3
46cc0f:	cc                   	int3
46cc10:	8b ff                	mov    %edi,%edi
46cc12:	55                   	push   %ebp
46cc13:	8b ec                	mov    %esp,%ebp
46cc15:	56                   	push   %esi
46cc16:	8b f1                	mov    %ecx,%esi
46cc18:	ff 15 0c 73 4a 00    	call   *0x4a730c
46cc1e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
46cc22:	74 08                	je     0x46cc2c
46cc24:	56                   	push   %esi
46cc25:	ff 15 10 74 4a 00    	call   *0x4a7410
46cc2b:	59                   	pop    %ecx
46cc2c:	8b c6                	mov    %esi,%eax
46cc2e:	5e                   	pop    %esi
46cc2f:	5d                   	pop    %ebp
46cc30:	c2 04 00             	ret    $0x4
46cc33:	cc                   	int3
46cc34:	cc                   	int3
46cc35:	cc                   	int3
46cc36:	cc                   	int3
46cc37:	cc                   	int3
46cc38:	cc                   	int3
46cc39:	cc                   	int3
46cc3a:	cc                   	int3
46cc3b:	cc                   	int3
46cc3c:	cc                   	int3
46cc3d:	cc                   	int3
46cc3e:	cc                   	int3
46cc3f:	cc                   	int3
46cc40:	8b ff                	mov    %edi,%edi
46cc42:	55                   	push   %ebp
46cc43:	8b ec                	mov    %esp,%ebp
46cc45:	56                   	push   %esi
46cc46:	8b f1                	mov    %ecx,%esi
46cc48:	ff 15 14 73 4a 00    	call   *0x4a7314
46cc4e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
46cc52:	74 08                	je     0x46cc5c
46cc54:	56                   	push   %esi
46cc55:	ff 15 10 74 4a 00    	call   *0x4a7410
46cc5b:	59                   	pop    %ecx
46cc5c:	8b c6                	mov    %esi,%eax
46cc5e:	5e                   	pop    %esi
46cc5f:	5d                   	pop    %ebp
46cc60:	c2 04 00             	ret    $0x4
46cc63:	cc                   	int3
46cc64:	cc                   	int3
46cc65:	cc                   	int3
46cc66:	cc                   	int3
46cc67:	cc                   	int3
46cc68:	cc                   	int3
46cc69:	cc                   	int3
46cc6a:	cc                   	int3
46cc6b:	cc                   	int3
46cc6c:	cc                   	int3
46cc6d:	cc                   	int3
46cc6e:	cc                   	int3
46cc6f:	cc                   	int3
46cc70:	b8 40 5b 40 00       	mov    $0x405b40,%eax
46cc75:	c3                   	ret
46cc76:	6a 04                	push   $0x4
46cc78:	b8 3f 56 49 00       	mov    $0x49563f,%eax
46cc7d:	e8 51 38 02 00       	call   0x4904d3
46cc82:	8b f1                	mov    %ecx,%esi
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)